幸运进入复试,还是通知去现场面,我又申请远程,然后面试官给我发邮件,说加微信面试。在牛客网看到有人说申请远程面试被拒绝,看来我还是幸运的,碰到的面试官都很好。
快到约定时间的时候,面试官发短信说延迟十到十五分钟,后来又说随时联系我。
大概9点半,开始面试。
- 1.STL的底层实现,是不是线程安全的
- 2.int a[256]; char b[256]; sizeof(a), sizeof(b)分别是多大
- 3.vector底层实现
然后,面试官说,来做道题吧。
- 4.手写一个queue。10min
写好后,拍照片,发给他,然后解释(手写程序,真的很乱)。
然后,面试官说,那再来一道吧。
- 5.有n个数组,每个数组有m个升序排好的数,将所有数排序。15min
我的方法复杂度是O(m*n2),然后他问可以优化吗,我说可以用堆排序(其实建个堆就行,不需要堆排序)优化,又问具体怎么做……
其实我没想清楚都,最后在他提示下才明白,建个堆就好,复杂度提高到O(m*n*logn)。
然后面试官说就到这里。好突然的感觉