3.28腾讯云智面经(Java后台开发)
约的7点面试,等了三四十分钟没见到面试官,快8点的时候面试官打了个电话说记错时间了。。。。邮件里面约的是半小时最后面了快一个小时
问题
- 手写单例模式,各种情况,怎么保证线程安全(这个没复习,跌跌撞撞蒙了三种)
- 手写单例的过程中提到了synchronized和volatile,顺便问了这两个的实现原理
- HashMap的底层实现,它为什么是线程不安全的(数组+链表+红黑树,为什么不安全不知道。。)
- 知道哪些线程安全的集合类型?
- 接上题,说了vector、Hashtable、ConcurrentHashMap、CopyOnWriteList,问了后两个的实现原理
- 数据库用过哪些,对哪个比较熟
- MySQL索引结构,为什么用B+树
- 聚簇索引和非聚簇索引的区别
- 场景题:sql查询很慢怎么排查(先检查sql语句,看看是否命中索引,是否符合最左前缀原则,用explain查看sql的执行情况)
- 接上题,说说最左前缀原则
- MySQL的主从复制过程
- 算法题:求矩阵的最小路径,每次只能往右或下移动,写出来后问了下思路,以及对应的模型(动态规划)
- sql题:一个学生成绩表,字段有学生姓名、班级、成绩,求各班前十名(太久没写sql忘得差不多了。。)
反问
- 实习生的工作(面试官说主要是打辅助,不会直接上手写业务)
- 到岗时间(能早点到更好)
- 部门用的语言,因为看了一些面经说有用Go的(面试官说他们部门是Java)
总结
这次面试挺坎坷的,开始等了半天不知道啥情况,面试中又考到几个知识盲点,全程没问项目,不知道有没有戏
#我的实习求职记录#