3-19 连续三面, 4.12OC, 已接. 有群, 可私信
总体不难, 挺看运气....
## 一面
1.项目介绍
2.智能指针, 分别解决什么问题, 如何实现(RAII)
3. TCP和UDP区别和联系
4. 慢日志 -> explain -> SQL优化
把所有的索引结构说了一遍
线性->二分->Hash->BST->AVL->RB-Treee->B-Tree->B+Tree
时间复杂度 + 磁盘IO 两个角度
简述B+Tree结构, 设计优点.存储引擎
5. 操作系统提供什么功能
几个子系统(进程管理/内存管理/文件/网络/设备 ), 分别实现什么功能
6. IO模型(虽然问的是IO多路复用, 但全说了一遍)
BIO / NIO / 信号驱动 / AIO / IO多路复用(select poll epoll), 简略的介绍一下原理;对比, 分别适合什么场景
7.中序和前序构建二叉树; N+1个数在1-N中, 找出重复元素O(1)空间,原数组const,
## 二面
1.项目介绍(对一个全栈项目比较感兴趣问的比较多, 不过没太大参考意义)
系统里设计时最重要的是什么(扯了高内聚低耦合), 项目难点(Server-Push, WSS, NGINX)
2.输入网址到看到页面的整个过程(尽可能的详细, 尽量把知道的协议都说一遍)
DNS(包括流程), UDP;HTTP(S), TCP, ARP, Ethernet, 分组交换;专业名词多来点, CDN, AJAX, DOM树
3.客户端卡顿可能是什么问题? 如何排查?
比较宽泛, 即可能是客户端的问题, 也可能是服务端的问题. 也可能是网络的问题, 也可能是处理器的问题, 等.
4.如果是服务端的问题, 如何考虑?
网络问题, 连接用户数过多, 导致每个人分配的带宽较少; 结束不活跃的连接, 减少长连接的使用, 调低超时时间.
处理器问题, 对应用户的线程迟迟无法占据CPU. 提高CPU性能, 或进行水平扩容等
中间件阻塞, 发生死锁, 或有慢查询存在.
5.知不知道crontab? 如何使用bash写一个脚本读取日志完成对IP的访问次数的排序
6.考虑转语言吗? 又扯了会前端 JavaScript
7.给出n对括号, 找出所有合法的组合
## 三面
几乎闲聊
#百度信息集散地##我的实习求职记录#