携程 java工程师 社招 面经
1.自我介绍;
2.arraylist:对于两个相同的数字如何删除的;
3.hashmap的结构,以及hashmap的查找复杂度;
4.项目点赞:有1千完人点击这个人的帖子,页面如何做到实时显示点赞数,我项目是使用ajax异步请求(但需要刷新页面),优化方案(使用kafka消息推送);
5.类的修饰符没搞懂直接说了方法的几个修饰符以及使用范围,最后问了一个外包类继承另外一个类使用这个类的public方法里面有protected,能调用成功吗?
6.gc算法,新生代的8:1:1更改配置;
7.共享变量放在哪个区(元数据),哪static修饰的变量放在哪(我竟然说放方法区失算!)让我手写demo直接报错;
8.http 的报文头,post,get 的区别,长连接,无状态,session,cookie的区别;
9.场景题又来了:如何保持登录状态,cookie,不安全,还有呢redis保存(让我回去了解了解);
10.项目kafka以及es的使用;
11.重量级锁,然后死锁;
12.mysql 索引,聚集索引,b+,b 的区别,b+的缺点(啊这还有缺点),说了可能内存泄漏啥的;
13.线程的创建四种方式,结果来了个callable其他的区别(没用过);
14.a=1;x=2*a++;y=2*++a;.
15.看过那些书;
16.为啥喜欢编程,具体体现
17.手动渲染页面是如何实现的?
18.QPS?写入消息失败或者消费消息失败怎么办?
19.消费系统崩溃或者生产系统崩溃怎么办?对消息进行本地持久化
20.RabbitMQ了解多少?看过源码吗?
21.MYSQL的两种存储引擎,为什么选用InnoDB?