The First Round Interview Experience of Ctrip 2019 Campus Recruitment for Backend Development Position-携程2019校园招聘后台一面面经

1、先是自我介绍,然后直接开始问一些基础了
2、java集合你了解些什么?(说了Arraylist,HashMap,HashSet啥的…)
3、HashMap底层怎么实现的?
4、用HashMap去实现HashSet(手撕代码,HashSet没怎么用过,只知道不能重复和无序,写不出来,乱七八糟口述了一波思路,面试官表情有点尬)
5、垃圾回收器了解过吗?
6、堆内存里怎么分的?
7、新生代和年老代是干嘛的?
8、新生代又具体是怎么分的?(问到这就不会了)
9、排序算法了解些什么?
10、最熟悉哪个排序?(回答了快排,前天准备了波手撕代码)
11、果然开始手撕快排了
12、时间复杂度为O(nlogn)的排序有哪些?答了快排、堆排
13、问给你1KW个数据,取出top10,怎么取?开始觉得数据量太大说了二分,
后来想到只要top10,就说了用堆排,组装大顶堆10次就可以了,然后又问了遍时间复杂度,就不知道怎么答了…
14、怎么创建多线程?答了继承Thread类重写run方法,实现Runnable接口啥的
15、写了MyThread extends 问怎么运行这个线程。然后我在下面new了个MyThread对象再调用了个start,
后来想起来他应该是想让我具体重写run吧……
14、看你项目里用到了Mysql,那用Mysql查询慢的时候怎么办呢?设计表结构、建索引、分表、分库啥的…
15、那索引的底层结构是啥?答了B+树
16、B+树具体是什么样的?举例子解释了一波…
17、不知道为什么又问到了数据库查询优化….举了项目中存表的一个例子,有点被怼了
18、看你做过登录系统,那给你存10W个username,你用一个username去查,怎么查?
最开始我以为是存数据库,后来他说要存数据库不好,
读写太慢了,要直接存到内存,问用什么数据结构存,一脸懵逼,然后他提示说想一想集合,
比如用hashset……,不知道怎么回,说回去看看hashset吧….
其实问的挺基础的,整个过程关于hashset和数据库优化的没怎么答出来,其他的都多多少少答出来些了….
整个八月都在实习出差,天天加班到九点,之前准备的都忘得差不多了…./(ㄒoㄒ)/~~

结束后面试官说我送你出去…我还惊了一下,在大厅时说你在这等一下,
然后往前走了…感觉像是去厕所了,
他回来的时候我还问了是要等通知吗,然后他说不用,你可以回去了…..大概是凉了
From:Nowcoder