史上最全的JAVA面试总结

数据库类

作为后端开发,可以说数据库是重之又重。提问的比例也相当之大。所以这里先记录下这个。

如何快速导入10万条数据到MySQL数据库?

这个应该当时很紧张,居然半天说不出来。其实当时心里有一个答案了,就是存储过程。但是因为平常开发基本上没用到过这东西,所以都不敢说了。。

网上还有有一些答案说批处理,通过sql文件进行导入等等,这个有时间可以去验证一番。

mysql主从配置时,如果在主服务器修改某个数据,然后在从服务器中读取,因为延迟或者宕机的问题,导致没有读到数据,应该怎么办?

这个面试官很厉害啊,很多问题都是提一些开放性的东西,只让你提供思路,没有正确与否的标准答案。

网上找了下,有以下两种技术可以做到主从断开,数据不一致的处理。相信肯定还有更多的技术可以做到,这里只做抛砖引玉~

GTID复制;

推荐关注:pt-table-checksum /pt-table-sync

MySQL默认最大的连接数是多少?

默认为100,可以通过修改my.ini或my.cnf配置文件中的max_connections属性来调整。

SSH相关

SSH(SpringMVC、Struts 2、hibernate)这几个框架可以说做Java后端开发的基本都接触过,但是真正深入去了解的又有几个呢?一般也就能应付一下工作就完事了吧。。没办法呀,谁让工作的压力太大呢,各种改需求,各种修Bug~

唉,我也不例外,因为我重心就不在这个,想逐渐转到做大数据相关的开发,所以对这块也没浪费精力去深入了解的。但是没办法啊,目前找后端工作还是会经常问到的。

说一下SpringMVC 处理客户端请求的过程?

额,当时一听到这个问题就懵了。其实当初刚开始学习这个的时候还真花力气去学过这方面,但是随着工作下去,反而逐渐忘记了。一般我们用都是在web.xml中配置一下DispatchServlet,然后在配置文件中添加自动扫描注解组件,再到类上面添加Controller注解,最后在方法上面添加RequestMapping注解就完事了。但是面试肯定不能这样说啦,我当时也是没办法就把这套给说上去了,感觉还是挺丢人的。这里贴一下图:

PS:图片来自springIn Action 第四版

说一下Hibernate的懒加载机制?

这是一个面试时高概率碰到的问题,之前刷面试题的时候也遇到过这个问题。但是苦逼如我,事到临头反而紧张的搞忘记了。。

网上找的一篇说明:

延迟加载,也叫懒加载,它是hibernate为提高程序执行效率而提供的一种机制,即只有真正使用该对象的数据时才会创建。

Hibernate中主要是通过代理(proxy)机制来实现延迟加载。它的具体过程:Hibernate丛数据库获取某一个对象数据时、获取某一个对象的集合属性值时,或获取某一个对象所关联的另一个对象时,由于没有使用该对象的数据,hibernate并不是数据库加载真正的数据,而只是为该对象创建一个代理对象来代表这个对象,这个对象上的所有属性都是默认值;只有在真正需要使用该对象的数据时才创建这个真实对象,真正从数据库中加载它的数据,这样在某些情况下,就可以提高查询效率。

服务器

Nginx

Nginx如何配置防止DDOS攻击?

因为我也从没遇到过DDOS攻击,所以对这块了解的非常之少。当时也就硬着头皮说根据请求封IP了,其实真正防御起来,花样繁多。最简单有效的方法是堆硬件了。但是成本太高了。。网上找的一些经验,记录一下,万一以后遇到了呢

限制每秒请求数

ngx_http_limit_req_module模块通过漏桶原理来限制单位时间内的请求数,一旦单位时间内请求数超过限制,就会返回503错误。配置需要在两个地方设置:

nginx.conf的http段内定义触发条件,可以有多个条件;

在location内定义达到触发条件时nginx所要执行的动作。

限制IP连接数

ngx_http_limit_conn_module的配置方法和参数与http_limit_req模块很像,参数少,要简单很多。

白名单设置

http_limit_connhttp_limit_req模块限制了单ip单位时间内的并发和请求数,但是如果Nginx前面有lvs或者 haproxy之类的负载均衡或者反向代理,nginx获取的都是来自负载均衡的连接或请求,这时不应该限制负载均衡的连接和请求,就需要geo和map 模块设置白名单。

Nginx参考文章:

http://www.escorm.com/archives/452

Java

transient关键字的作用?

这是在笔试的时候遇到的,原题是给了一段程序片段,问的是序列化的问题。如果在类的属性上添加这个关键字就表示序列化时忽略该属性。

new ArrayList<>(20)其容量一共扩充了几次?

这个题其实也是一个陷阱,如果构造的时候给予一个容量大小,其初始化的时候就会使用该大小的,不会进行扩充。扩充是在调用add方法

又一个关于String的老生常谈问题,代码片段如下:

String s1 ="hello";String s2 ="he";String s3 ="he"+newString("llo");System.out.println(s1 == s3);

1

2

3

4

1

2

3

4

问打印结果为什么?

false,因为手动new String("llo")的形式,会创建2个对象,一个是在常量池中的,一个是在堆上面的对象。如果将s3改为String s3 = "he" + "llo";

那么结果就是true了。

HashMap的内部实现的数据结构是什么?

数组+链表

如何降低HashMap的碰撞问题?

对HashMap进行二次hash。

JAVA行业交流,欢迎新人和大佬共同入驻,里面有很多免费教学资源,视频资源,书籍资源,欢迎索取,群号240448376

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,117评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,963评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,897评论 0 240
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,805评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,208评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,535评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,797评论 2 311
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,493评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,215评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,477评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,988评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,325评论 2 252
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,971评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,807评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,544评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,455评论 2 266

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,293评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,099评论 18 139
  • 一. Java基础部分.................................................
    wy_sure阅读 3,731评论 0 11
  • 最近团队离职较多,原因主要有两个:公司发展和信任问题。信任问题在于boss,如果没有很好的建立起别人对自己的信任感...
    zzuduoduo阅读 369评论 0 0
  • 本人是nice深度粉,从1.0版本就开始加入并一直使用到现在。 nice为图片社交软件,定位潮流品牌,特点是品牌标...
    lj神经刀阅读 718评论 0 1