携程后台一面凉经.......
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ㄒ)/~~ 结束后面试官说我送你出去...我还惊了一下,在大厅时说你在这等一下, 然后往前走了...感觉像是去厕所了, 他回来的时候我还问了是要等通知吗,然后他说不用,你可以回去了.....大概是凉了
#携程##Java工程师##面经##秋招##内推#