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