面试方式:微信视频,约1.5小时。(四天前有一次非腾讯官方笔试,2.5小时,共5道编程题和1道系统设计题)
1. 让我介绍我参与的多媒体事件提取系统项目,问我发过paper没有。
2. 问我对C++和Python的掌握程度,什么时候开始学的,C++使用的多不多。
3. 根据第一次的笔试设计题(在线手机通讯录),问了一些数据库表的设计,怎么给数据库表项建立索引, 系统的拓展性(如果一个服务器存储不下数据,怎么用多台服务器存储)。
4. 问一些基础,如死锁;数据库的一致性;平衡二叉树,红黑树和B+树的区别;STL中常用的容器及其区别;MySQL的事务;设计模式;网络编程;数据库的隔离性。(后面三个都没回答上来)
5. 让我说一些linux的常用命令,然后问我怎么查找文件,怎么通过文件内容查找文件等。
6. 出了一道求最大次数的编程题,我用哈希表实现后,让我算时间复杂度,然后提示我可以怎么去优化(只需要遍历一次就行),根据他的提示重新写代码直至完成最优结果。
7. 根据第一次的笔试编程题的第二题(给很多个坐标点和一个目标坐标点,求k个距离目标坐标点最近的点),让我计算我之前所写代码的时间复杂度,然后让我重新优化(直接原地排序),重新写好代码发送给他。
8. 问我什么时候能实习,能够实习多久。
9. 我问他们部门的业务是什么,回答主要业务是腾讯视频的会员方面的维护和开发。
2.5小时的笔试题和面试被问到的编程题: