1.自我介绍
2.问了一下为什么大三做毕业设计
3.上了哪些课程
4.多态原理了解吗?
5.虚表的内存结构了解吗?
6.定义一个虚类,会占多少空间?
7.c++的内存结构
8.堆区和栈区有什么区别?
9.平时都会使用哪些STL?
10.还有其他的STL?
11.hashmap简单介绍一下(讲了开链法),怎么查询?
11.其他hashmap了解吗?
12.双哈希如果两个都冲突呢?
13.平衡树了解吗?(不了解)
14.splay树,treap了解吗?
15.vector的push_back会发生哪些事情?
16.vector的push_back对象会发生哪些事情?
17.不希望有一个拷贝构造的方式,有什么其他优化方法吗?有了解其他接口吗?
18.讲一下你常用的图论算法?
19.讲讲EK算法(太久不用,忘了),讲讲Dinc(还好记得)?有什么区别?
20.AC自动机了解吗(woc,字典树和kmp我都会,就是不会AC自动机)
21.有了解过跳表吗?
22.了解cache吗?
23.平常cache用到的算法有哪一些(讲了一下常见页面置换算法)
24.TCP的三次握手和四次挥手。
25.TCP和UDP的区别。
26.代码题:判断二叉树是否同构?(说了几种方法都被hack了,然后让我写一仲暴力写法)
二面(一度以为一面挂了)1.实习的时间(我说一年)。
2.除了acm还做过其他项目吗?
3.看你有python项目,对python掌握怎么样?
4.python有用过多进程吗?
5.python里面byte和string有什么区别吗?(完全不知道)
6.python写个脚本会吗?
7.Linux环境熟悉吗?
8.C和C++哪个更熟悉?
9.C++的多态机制。
10.虚函数的内部机制。
11.
#include <cstdio> class A{ public: A(){ f(); } virtual void f(){ printf("A::f\n"); } }; class B:public A{ public: virtual void f(){ printf("B::f\n"); } }; int main(){ B b; return 0; }
这个输出是什么?为什么?
12.析构函数为什么要弄成虚析构函数?你有试过吗?
13.Windows下同步互斥都有哪些方法?哪个效率更高一点?为什么?
14.进程的内存分类。
15.栈和堆有什么结构性的区别吗?
16.你刚刚说到内存碎片,如何避免内存碎片呢?
17.项目里面如何解决内存碎片的问题,比如用一些开源的内存池。
18.STL的双端队列如何实现的?
19.C++一般为了减少这种复制拷贝,会有什么措施。
20.hash的方法。
21.设计模式了解吗?
22.讲一下单例模式。
23.Windows下多线程调用这个单例怎么用,写一下。
24.怎么保证线程安全?(上锁)
25.写了加锁的伪代码(他不断告诉我怎么加有什么问题)
26.写下快排或者堆排。(选择写了堆排,告诉了思路)
全部评论
(4) 回帖