内推了 技术工程事业群TEG,所以没有笔试。用电话面试代替笔试。
周四晚上,有个gg来了电话,说是腾讯的···我说我刚打完篮球回来···然后和他约了周五下午···
晚上就迅速过了一遍知识···这完全复习不完啊···囧···
睡的时候有点紧张和亢奋,没睡好
//=========================================================//
周五下午3点左右,昨晚的gg来了电话。ok,进入正题~
先简单自我介绍下~我就说了自己的教育经历,技术擅长c++,熟悉linux,喜欢后台开发···
接着gg就问了我几个简历上的项目,主要是和后台相关性大的3个项目,然后衍生出的问题:
(1)select的原理和效率
(2)epoll如何实现事件通知
(3)自己做的项目的瓶颈,如何解决
(我的是web server的惊群问题,然后我自己讲到了nginx的全局锁,什么时候释放锁等)
(我从多线程、讲到内存池、讲到Master_Worker···)
(4)还有一个项目问到了Linux的线程和进程的区别,也问到了一致性hash算法~
(5)问到web server如何实现cookie(我说统计,常用的放到内存···跪了···%>_<%)
(6)还有项目的其他细节问题,不详述了~
这里花了大概40分钟,反正就聊了很多东西
接着,问了基础的问题:
(1)tcp和udp区别(我最后扯到qq消息传送应该是通过udp协议,因为经常发送失败等等,如果是tcp会有重发机制等等··)
(2)tcp如何实现流量控制
(3)linux进程通信
(4)linux命名管道的原理
(5)···(linux的其他问题,忘了o(╯□╰)o)
(6)c++多态、多态的实现原理
(7)c++其他问题···也忘了→_→
then,问了数据结构和算法:
(1)如何实现手机通讯录的查找时候的提示功能(类似百度搜索,Trie树,时间复杂度等等)
(2)B+树
(3)hash表
a、如果让我实现hashtable,需要考虑什么(我就说hash函数、冲突问题)
b、解决冲突的方法,原理,应用场景,等等。都问到了····TODO:搭的不是很全面,需要复习)
然后数据库:
(1)熟悉什么数据库-》mysql
(2)mysql的引擎(讲了下MyIsam和InnoDB的原理)
(3)又问如果从查询等层面,MyIsam和InnoDB的区别(我说了InnoDB一定要有主键,其他用的少···TODO:这个需要复习)
上面的问题我答的都还不错,而且这个gg人也nice,语气和善,最后他就问我
(1)期望在哪工作,深圳有没有问题,老家是哪里人···
(2)期望在哪个部门工作(我就说后台开发,不清楚哪个部门,就是TEG部门吧···他说哪个部门都有后台的···囧,我就问他您是哪个部门的呢···他说他是云安全部门的···)
(3)问我有什么问题要问他(我就说了下腾讯有没有自己的分布式文件系统等)
ok,他说好啦,有下一步通知会call我,再见~
(整个过程大概用了一个多小时,阳台很热o(╯□╰)o)
//=========================================================//
此时大概四点半,我就想去休息下····
结果刚趴下···又接到了腾讯的一个电话····
那个gg说他是腾讯的,我当时以为是重复了吧···他说刚刚那个是同事···
然后他进入正题,
(1)问我期望在哪工作,老家在哪
(2)广州挤不挤?我说天河很挤···他就问了“如何解决广州交通拥挤的问题”···我顿时懵了,所以当时没从技术角度分析···我觉得应该从数据采集、取样、数据挖掘、大数据分析等方面回答的····
(3)问了linux的如何实现1G映射到4G,我简单说了下虚拟内存映射···结果他不满意···他问我操作系统是怎么实现的···然后我就答得不好了···(TODO:需要复习下Linux内存管理、文件管理等方面的知识了)
(4)也问了TCP和UDP的东西,tcp如何实现可靠??(TODO:需要继续深入复习)
(5)问了c++多态的实现机制
(6)算法题:日志里面有ip,如何统计出日志中出现最多的10个ip···top k问题,讲了下hashtable和堆排序~
(7)对后台开发的看法?什么是后台开发,为什么喜欢后台开发···
@_@,就这样,半个小时又过去了。。。
//=========================================================//
然后就周六了,所以估计要等到下周一才有结果~~
总结:完全没想到连续2个电话面试···累呀···
对于这次的总结:
(1)需要复习下linux内核
(2)需要深入hash表
(3)深入tcp原理、udp原理
(4)复习数据库不同引擎的各种区别(原理、构造、查询、索引、优化等等)
(5)需要花时间复习算法!!
(6)web server如何实现cookie 等 关于web-server的高级功能!
(7)一定要对自己的项目非常熟悉:比如遇到的问题、解决的思路、瓶颈、架构的优化、细节的优化等等
(8)QQ传输用的是udp协议吗?探究下~