可能这就是字节效率吧
周日下午从四点一直面到七点,周二收到oc。三天走完腾讯两周多才走完的流程...
岗位是暑期实习,后端开发。
一面 1h 10min
- 自我介绍
- 项目一直怼
- 用户很多redis都抗不住怎么办
- 消费的时候网络波动,数据库写进去了,但是返回用户超时了怎么办,怎么保证最终正确(扯了好久这个问题)
- 如何定位sql语句查询慢
- 给了个例子,表结构+SQL语句+explain,分析为什么慢,要怎么改,怎么优化
- redis哨兵模型、部署、原理,怎么选从服务器
- TCP可靠性、黏包(讲到了nagle算法,面试官追问具体怎么合并?合并到多大,大小是多少)
- 算法:某一个大文件被拆成了N个小文件,每个小文件编号从0至N-1,相应大小分别记为S(i)。给定磁盘空间为C,试实现一个函数从N个文件中连续选出若干个文件拷贝到磁盘中,使得磁盘剩余空间最小。函数返回值为剩余空间,若无解返回-1。如N=5,S={1,2,3,5,4},C=7。结果为start_index=0, end_index=2, return=1
- 算法:在一颗满二叉排序树深度为k,节点数为2^k-1;节点值为1至(2^k-1),给出k和任意三个节点的值,输出包含该三个节点的最小子树和根节点。
- 反问
节奏很紧,一个问题接着一个问题,提到某些点也会一直深挖,觉得掌握了就直接切问题。年轻的小哥像是没有感情的面试机器,全程也没说笑、聊天...
二面 50min
- 闭包怎么实现的
- GC
- TCP协议、timewait、如果有大量的timewait会有什么问题、拥塞控制、TCP通过什么来判断网络拥塞、
- linux系统,32位系统,一个进程有4G的内存空间,从高地址到低地址分别放什么内容
- 进程通信、共享内存底层怎么实现
- 物理地址和虚拟地址
- redis数据结构,zrank怎么实现的
- redis持久化方式,具体实现
- mysql聚簇和非聚簇
- 隔离界别
- 算法:最长回文子串长度
- 快排。时间复杂度,如何避免n^2的情况(我说了随机一个下标作交换,他说这样还是有一定的几率n^2,如何完全避免)
- 有没有可能存在一种排序算法时间复杂度能低于nlogn,解释一下
面试体验良好。
三面 1h 10min
- 自我介绍
- 项目,爬虫的攻防、具体设计等问题
- 在浏览器输入url访问网站的过程
- 跑马,64匹,8赛道,求最快的4匹
- 算法:给定m个不重复的字符[a,b,c,d],以及一个长度为n的字符串tbcacbdata,问能否在这个字符串中找到一个长度为m的连续子串,使得这个子串刚好由上面m个字符组成,顺序无所谓,返回任意满足条件的一个子串的起始位置,未找到返回-1.比如上面这个例子,acbd,3.
- 面试官说先思考,然后讨论思路,讲了O(N) 的思路,面试官让我继续优化
- 准备开始写代码的时候,提醒说注意代码风格、命名等
- 实习相关
- 最近看了什么技术方面的书籍
- 其他公司的面试情况