今天是我来杭州找工作后参加的第一次现场面试,也算是工作以来第一次正式的技术面试,超级超级紧张!两个面试官貌似都是做中间件和数据库编程方向的,问的很多我都不太擅长,两轮下来四个字总结那就是生无可恋。今天凭记忆总结一下,调整心态继续征程吧!
问题整理
一、算法
- 代码实现二叉树的数据结构。
- 若二叉树是XX(画了一个),前序遍历是什么?如何代码实现?(写了个递归)还有什么其他的实现方式?
二、数据库
- 写SQL语句。有一个表三个字段“姓名”、“科目”、“成绩”,写一个查询语句查出至少三科成绩为90分以上的学生姓名。
- 有A和B两个表,join后会有多少种结果,SQL怎么写?
- 数据库三范式是什么?
- ER图。
- 索引。
- 事务是什么?事务的特征是哪些,如何理解?四种事务隔离级别是什么?如何理解?四种隔离级别分别会发生什么情况?在平时应该如何选择?
- 死锁是什么?引发死锁的情况。四个条件分别是什么,如何理解?如何处理死锁?
- 如果发现一条SQL查询语句执行时间很长,应如何排查解决?
- 在业务中价钱字段用什么数据类型?
- 数据库主从复制的原理?为什么用主从复制,解决了什么问题?
- 数据库的锁是怎么实现的。
三、Redis
- 持久化的方式
- 是单线程的吗?
- 在项目中用的是Redis集群吗?
原文
https://juejin.im/post/5c7a422ef265da2d84109e20