携程 暑期实习 Java一面凉经 3.20
1.针对这次面试,你这段时间有做什么准备吗?准备过程中有没有制定什么计划?
答:复习408,刷算法题,学习/复习:设计模式、Spring原理、Mysql事务锁索引、Redis底层原理
2.平常会自己写排序算法吗,还是会直接调库?
答:刷题和做项目的时候就直接调库了,学习算法的时候会自己实现以下。
3.归并排序了解吗?可以共享屏幕实现一下 有较好可用性的归并算法吗?
写了十分钟,大概实现了,有点bug,面试官说不用debug了。
追问:可以怎么优化吗?递归和迭代哪样会比较好?递归下栈会溢出吗?有哪些地方可以对异常进行捕捉?
4.一道数独的题,如何判断这个数独里面的数组是满足条件的吗?
答:创建数组作为哈希表,遍历3*3方格、每行、每列。
追问:是否有更优的算法?
没答上来。
5.看简历上有提到数据库,说说mysql你有没有遇到索引失效的场景?你在写sql的时候有没有检查过索引是否生效?
这个算常规八股了。
6.创建线程的方式有哪些?
7.如何用Callable和Future创建线程(上一个问题我答了这个),让共享屏幕写代码...
说只了解过,但是没写过代码
8.那用线程池创建呢?让共享屏幕写代码....
9.如果Spring中一个Service的Bean,这个Service中有一些成员函数,如何统计被调用的次数。
答:定义一个私有的成员变量,保证它的线程安全性,定义为原子类,或者方法用synchronized修饰。
(这里应该是用AOP)
10.Spring中Service的Bean是单例的吗?
没答好....
其实线程安全问题是因为多个线程读取这个Bean单例,Spring中Bean默认是单例的。这里回答说应该不是单例的,还是复习不到位...
(这里确实是理解错误了,后面面试官指出来了)
11.反问 面试表现和对我的建议。
建议:多了解原理,面试没什么技巧,主要是把技术理解透彻了。
表现:面试官说前面Spring那一块理解有偏差,让下去加深理解。
更新:晚上就进人才池了...
#携程##携程面试##暑期实习#