招银面试记录
6月30日 电话面试:
1)项目,感想收获。
2)多线程编程,里面用到什么,特点是什么?
3)new 和 malloc 的区别
malloc用内存管理工具分配内存,返回void *。new 是c++表达式, 里面调用operater new 内存分配完了还会构造。分配失败还会调用异常处理函数 。
问:还有什么? 答:暂时想不起了。
4)宏和Inline的区别?
宏在编译器处理,inline是扩展成代码,不用发生跳转(但是是一种建议)。
问:还有吗? 答:想不起了。
5)什么是c++的多态?
c++的基类的指针或者引用在运行时表项出来的不一样的特性,由派生类向基类转化时,由于内存空间的原因,里面的虚函数的指针是派生类的虚函数。
这个问题没答好。
6)数组和链表
数组是连续内存,链表不是。数组支持随机下标访问,能在常数时间复杂度访问任意元素,链表遍历一遍的时间复杂度是O(n)。
链表开销比较大。支持快熟插入。数组快速插入慢。
7)内存空间的结构
代码段、初始化的全局变量、未初始化的全局变量、只读数据段、堆区和栈区、共享内存、内核栈。
这里突然想到一个问题:之前看的 char *p = "aaaaa"; 这个常量是存放在哪儿来着,好像是只读数据段,对就是的 rodata 存放const和字符常量,switch跳转表等。
反思:
所有的问题没有一个答得很肯定的,还是自己的学习方法太落后了,没有掌握清楚。
等把新课上完了就来全面复习,不放过一个细节,力求面面俱到。
重点和难点并重,不要只看着难点。

浙公网安备 33010602011771号