博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2015年 腾讯 校招 电话面试

Posted on 2014-08-30 10:14  猫少侠  阅读(1482)  评论(0编辑  收藏  举报

 

  内推了 技术工程事业群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协议吗?探究下~