腾讯 后台开发实习 1面2面HR面
3.23腾讯一面(1h)
手撕代码:- 双向链表定义
- 两个有序双向链表,合并为一个
- 快速排序
- 排序算法时间复杂度,稳定性
- Java oo体现在哪些方面
- 多态怎么实现
- 抽象类,接口区别
- 红黑树与平衡树
- 缓存 剔除策略
- LRU实现
- select,poll,epoll区别
- BIO,NIO,AIO区别
- 进程,线程,协程区别
- 进程通信,线程通信
- TCP,UDP区别
- 三次握手,四次握手
- time-wait状态原因
- http,https区别
- https建立连接的过程
- https采用的加密方式(混合加密)
- 往浏览器输入一个url发生的事情,以及该过程可优化的地方
- 保证线程安全的方法
- JVM内存模型
- 局部变量,临时变量,全局变量分别存放在JVM内存模型哪个区域
- GC过程
- B-树与B+树区别
3.26腾讯二面(半小时)
- 项目,进行延伸(我的项目主要和数据库相关,所以疯狂问数据库)
- 数据库索引类型
- 数据库数据文件,索引文件怎么组织
- 索引叶子节点是怎么组织的(这个问题面试官具体怎么问的有点点记不清了,我答的是叶子节点大小等于数据页大小,叶子结点存的是整个页的数据而不是一行数据)
- 索引修改后,怎么写入文件(面试官侧重点是,索引修改后,索引文件是全部替换还是部分修改,全部替换浪费性能,部分替换怎么实现)
- 数据库SQL解析过程
- 执行计划优化过程(怎么选择最优的执行计划)
- 分布式架构
- 分布式事务一致性
- 传统关系型数据库的ACID属性
- 原子性,持久性怎么实现
4.7HR面
自我介绍,接下来就是聊经历聊感悟,实习时间等等等