暑期实习06 —— 启元世界后端开发,已offer
启元世界 —— 作为一家深耕AI、强化学习等前沿技术方向的公司,有丰富的分享和不错的学习氛围,春招我也选择了该公司的后端开发作为我的备选项
后端开发——(基于强化学习的开发工作,搭建相关的平台,自动化)
3.30 笔试 —— 4道算法题
1. 字符串 + 哈希表
2. 3. 按要求做字符串变形
4. 字符串全排列
3.5/4 进面
4.8 一面
1. 仔细讲实习经历,主要负责的项目,引申出的思考等等
2. 项目:
2.1 项目的具体架构,烂大街的C++WebServer、C++DB和C++聊天服务器
2.2 对项目做的进一步测试,包括自己写的json性能,webbench压测
2.3 项目中的粘包问题是怎么处理的
3. 数据库
3.1 MySQL索引底层数据结构
3.2 索引失效的场景,说了like模糊匹配,最左前缀原则,但面试官还在追问其他,没用到...
3.3 事务的acid特性,MVCC如何实现
3.4 介绍acid特性与日志的关系,undo日志,redo日志...
4. 网络
4.1 TCP三次握手细节
4.2 网址键入到浏览器渲染得到页面的全过程:键盘 => 搜索框,DNS,协议栈,网卡交换路由,DOM树解析html/css,渲染
5. 操作系统
5.1 进程间的通信方式
5.2 死锁的条件以及避免
6. 数据结构与算法
6.1 讲一讲知道的排序算法 :重点讲了快排,堆排和归并排序,被问到各自适用的场景以及改进策略
6.2 手撕:61. 旋转链表
4.19 二面
1. redis => 因为实习和项目中都用到了...
1.1 redis底层数据结构,曾经实现过skiplist,详细讲了
1.2 redis缓存异常的情况以及解决方法,如缓存击穿缓存穿透等
1.3 redis主从复制与哨兵模式,因为我对分布式不太了解只能说出一个基本概念
1.4 redis过期键的删除策略,内存淘汰策略
2. 网络编程相关
2.1 epoll底层实现
2.2 五种IO模型,解释同步,阻塞
3. 手撕
3.1 层序遍历
3.2 回溯法生成括号的问题,稍微有点难度...
5.6 hr面 offer
评价:面试体验非常不错,能感受到良好的团队氛围和面试官强大的技术支撑...