笔试面试中问到的常见问题总结

面试的三大重点,第一个是项目,项目这个应该挺好说的,只要自己有这方面的准备;第二个是数据结构和算法,这个无论在笔试还是在面试中都很重要。第三个如果面C++方向的话,C++基础很重要。

接下来谈一下后二者各自的一些常见问题。


一、数据结构和算法 

链表:链表逆序,判断链表中是否存在环

字符串:字符串匹配,单词反转,查找倒数第K个结点,最小子串和

二叉树:树的深度,树的镜像,树的遍历(递归与非递归算法)

排序:各种排序算法的代码、复杂度、比较

查找:哈希表、位图、二叉排序树与平衡二叉树


二、C++基础

i++/++i,引用与指针,浅拷贝与深拷贝,一个空类包含多少个成员函数,结构体与对象的大小(内存对齐原则),联合(小端字节序),虚函数的实现机理(虚表),STL(STL的六大块,各容器的实现),类的继承,类的底层机理。

      浅拷贝与深拷贝:这个很常见的就是写一个字符串类,并实现拷贝构造函数与赋值函数

      虚表机制:每一个包含有虚函数的类,编译器在编译期都会为它建立一个虚表(也就是一个数组),这个虚表是该类的所有对象共用的。

      STL底层实现:vector(数组),list(链表),map(红黑树),deque(牺牲效率换取更大的灵活性)

      类的继承:为什么析构函数要为虚

     类的底层机理:void A::get() 转化为 void get(A&)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值