自我介绍
项目难点,怎么克服,为什么选择这个技术,过程是怎么样的,成果是否投入使用
做题
- 中等[力扣1143 最长公共子序列](https://leetcode.cn/problems/longest-common-subsequence/)
- 困难 [力扣37 解数独](https://leetcode.cn/problems/sudoku-solver/)
- 面试官首先给时间思考,然后阐述思路,最后实现;可能第一题太快了(毕竟太熟了),又给了第二题;
- 数据库相关:如何设计账户余额字段
- 考虑业务,从精度、非空、非负考虑,采用float;面试官提出float精度问题,引申到存储原理,如何判0;
- float数(1-0.9)与(0.9-0.8)相等吗?
- 面试官引导思考,面对精度丢失,如何改进?
- 引申到整型,把余额×100,转整型;
- 第二种,MySQL提供高精度数据类型,面试官说可能没接触过
MySQL索引结构,引申B树与B+树,为什么选择自增整数ID做主键?
分库分表、主从复制(简历有写,不过我说只是了解,没有深挖)
字符串如何简历索引?
数据库事务?什么是幻读?InnoDB如何解决?
死锁形成条件?如何避免死锁?(这块答的不太好,提到银行家算法,但是没深问,应该是破坏四个条件)
延时与吞吐率的区别?
什么是多路复用?为什么要用?引申epoll与select的比较;epoll底层原理:红黑树、就绪链表;
epoll如何判断接收到了数据?
mesi协议了解吗?不了解,cpu缓存一致性问题
什么是内存泄漏?有没有排查经验?(回答结合项目阐述)
文件授权?如何给文件增加运行权限?使用U+X;为什么不用777?
http与https在那一层?https如何保证安全?加密、身份认证、校验
加密算法有哪些了解?RSA与ECDHE
自我介绍
web服务器项目?做项目的目标?有参考开源项目吗?
C++基础相关
开放题
做题
智力题(面试官只要答案,不让讲思路)
平常怎么学习?
论文能应用吗?
比赛几个人?简单介绍,自己引申到如何分工、自己做了什么;