一切皆看缘分
前言
前天收到的面试邮件邀请。
一面 - 50分钟
19号的一面电面,面试官很明显的广东口音,hhh还挺萌捏
简历+发散:
- 自我介绍
- 挑一个最有亮点的项目讲讲
- 进程、线程、协程的区别
- swoole协程与golang协程对比
- 用协程一定比用线程效率高吗
- redis list的底层实现
- 说说对称加密和非对称加密
- 为什么自己实现加密,不用https
- 说说mysql的优化经验(index_merge)
- 说说mysql索引
- 组合索引
- 说说实习公司用git的开发流程
算法:
- 如果一个文件每一行是一个用户id,求用户id频率最高的top10?时间复杂度是多少?(hash表+小顶堆)
- 上面继续,如果文件非常非常大,远大于内存呢?(切割+归并)
- 怎么用数据结构实现LRU,并使得查找与删除时间复杂度为O(1)?(双向链表+hash表)
- 上面继续,如果不是LRU,按访问次数删除呢?(双向链表+两个hash表)
- 上面再继续,怎么减小交换?(双向链表+三个hash表)
难度还算好吧,主要是针对简历提问,所以简历每个点都必须弄明白。
全程50分钟,结束的时候面试官问了一下意向工作地点,然后说通过的话五到七天会有hr联系约二面的技术面,但是没让我提问,顿时心里一咯噔。
二面 - 1小时
23号约的面试,24号二面视频面
- 自我介绍
- 说说index_merge
- 怎么建表建索引
- 组合索引命中问题
- where和order by中的字段建组合索引会提高查询速率吗?为什么?
- 写一下堆排
- 说一下PHP的内存管理机制
- 如果一个网页打不开,怎么排查?
- 如果ping的通但是网页打不开,怎么排查?
- 一个进程很卡,怎么排查?(cpu、内存)
- 如果内存是8g,进程占了7g,你有实锤说明是内存瓶颈吗?(内存颠簸)
- 为什么用迅雷比普通网页中的下载要快?(我说p2p)
- 除了p2p呢?(多线程分片)
- 为什么用nginx做负载均衡,不直接通过dns域名映射不同的ip?(负载策略、灰度发布)
- 如果你是你们公司的网管,你要怎么防止公司内员工访问某个网站?(网关层、路由器层)
- 你知道session的底层实现吗?
- get、post的安全问题(我说如果是http,没有实际的差别,都可以抓包获取)
- 那除去抓包和旁边有人看着你输入url外,还有什么安全性的不同吗?(浏览器历史记录、搜索引擎、盗链)
二面的问题十分不常规,开放性问题很多,需要对操作系统、网络、数据库等整个体系有比较完整的了解。
最后说通过的话5个工作日内会有hr联系,叫我保持手机畅通
后记
之后又经历了hr面、offer call,总算是收到了录取邮件。
部门是公共支持部门,听说“钱多事少”,对于我而言又算得上是“离家近”,而且广州这座城市我也的确很喜欢。一切都表明这似乎是最好的选择,但又或许只是“似乎”。
anyway,三方也交完了,在学校待着着实无聊,于是又申请了提前实习…