招银面试记录

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跳转表等。

反思:

  所有的问题没有一个答得很肯定的,还是自己的学习方法太落后了,没有掌握清楚。

  等把新课上完了就来全面复习,不放过一个细节,力求面面俱到。

  重点和难点并重,不要只看着难点。

posted @ 2020-07-07 11:04  熊鑫xxx1x  阅读(135)  评论(0)    收藏  举报