腾讯微信事业部补录一面面经

2018-5-23:
约的上午10点半,先加了面试官微信,发了一个链接给我40分钟做题。总共四道,第一道一个智力题,第二道topK问题,第三道代码补齐,第四道链表反转。
开始面试:
1)讨论第一道智力题,64匹马8个赛道,找出前四名,最少赛多少场。
2)讨论第二道topK问题
3)C++为什么要引入虚函数,什么叫代码可扩展性,虚函数表讲一下
4)struct中为什么要字节对齐,怎么修改默认对齐方式
5)new和malloc区别
6)shared_ptr和unique_ptr区别
7)实现一个strcpy()函数要注意哪些问题
8)static有哪些作用讲一下。
9)进程间通信方式有哪些,线程呢
10)线程中锁有哪几种。互斥锁和自旋锁底层实现机制讲一下,分别运用在什么场合,有什么优缺点。
11)vector,map,set,hashmap底层实现机制讲一下,查找和插入时间复杂度多少,为什么。
12)TCP为什么要四次挥手
13)TIME_WAIT为什么会有这个状态,大量TIME_WAIT存在什么问题,如何解决
14)select,poll,epoll什么区别,两种触发方式和优缺点讲一下
15)让线程安全的方法有哪些
16)问项目中问题,项目流程讲一下。用到了双缓冲,怎么做的。项目中的线程池讲一下。
17)什么时候能实习,能实习多久
个人编程能力比较差,前面的笔试花了比较长时间,面试官可能不太满意。技术问题都很常规,基本上都答上了。项目就问了2,3个问题,可能感觉做得不是很深吧。
面试官评价:基础还可以,项目经验有点少。
以后努力方向:多刷题,提高编程能力。多看源码,关注底层技术。多找找后台相关开源项目做做。

你可能感兴趣的:(面经)