[转]笔试面试中问到的常见问题总结
2015-11-12 10:19
543 查看
面试的三大重点,第一个是项目,项目这个应该挺好说的,只要自己有这方面的准备;第二个是数据结构和算法,这个无论在笔试还是在面试中都很重要。第三个如果面C++方向的话,C++基础很重要。
接下来谈一下后二者各自的一些常见问题。
一、数据结构和算法
链表:链表逆序,判断链表中是否存在环
字符串:字符串匹配,单词反转,查找倒数第K个结点,最小子串和
二叉树:树的深度,树的镜像,树的遍历(递归与非递归算法)
排序:各种排序算法的代码、复杂度、比较
查找:哈希表、位图、二叉排序树与平衡二叉树
二、C++基础
i++/++i,引用与指针,浅拷贝与深拷贝,一个空类包含多少个成员函数,结构体与对象的大小(内存对齐原则),联合(小端字节序),虚函数的实现机理(虚表),STL(STL的六大块,各容器的实现),类的继承,类的底层机理。
浅拷贝与深拷贝:这个很常见的就是写一个字符串类,并实现拷贝构造函数与赋值函数
虚表机制:每一个包含有虚函数的类,编译器在编译期都会为它建立一个虚表(也就是一个数组),这个虚表是该类的所有对象共用的。
STL底层实现:vector(数组),list(链表),map(红黑树),deque(牺牲效率换取更大的灵活性)
类的继承:为什么析构函数要为虚
类的底层机理:void A::get() 转化为 void get(A&)
FROM: http://m.blog.csdn.net/blog/RationalGo/38281815
接下来谈一下后二者各自的一些常见问题。
一、数据结构和算法
链表:链表逆序,判断链表中是否存在环
字符串:字符串匹配,单词反转,查找倒数第K个结点,最小子串和
二叉树:树的深度,树的镜像,树的遍历(递归与非递归算法)
排序:各种排序算法的代码、复杂度、比较
查找:哈希表、位图、二叉排序树与平衡二叉树
二、C++基础
i++/++i,引用与指针,浅拷贝与深拷贝,一个空类包含多少个成员函数,结构体与对象的大小(内存对齐原则),联合(小端字节序),虚函数的实现机理(虚表),STL(STL的六大块,各容器的实现),类的继承,类的底层机理。
浅拷贝与深拷贝:这个很常见的就是写一个字符串类,并实现拷贝构造函数与赋值函数
虚表机制:每一个包含有虚函数的类,编译器在编译期都会为它建立一个虚表(也就是一个数组),这个虚表是该类的所有对象共用的。
STL底层实现:vector(数组),list(链表),map(红黑树),deque(牺牲效率换取更大的灵活性)
类的继承:为什么析构函数要为虚
类的底层机理:void A::get() 转化为 void get(A&)
FROM: http://m.blog.csdn.net/blog/RationalGo/38281815
相关文章推荐
- 20个最佳的Java集合框架面试题目
- php程序员进阶篇 [十问PHP程序员]
- 20个最佳的Java集合框架面试题目
- 面试时这种人就不该录用!
- 20个最佳的Java集合框架面试题目
- 20个最佳的Java集合框架面试题目
- 老程序员应该记住的5件事
- 职场必须要会的餐桌礼仪
- sql面试题
- 黑马程序员——数组笔记
- 黑马程序员-博客汇总
- 黑马程序员——Java基础---String类和StringBuffer
- 程序员找不到女朋友的原因
- 拒绝过劳死,码农们如何养生?
- 手拿拐杖比乞丐苦的程序员啊
- 新时代的coder如何成为专业程序员
- 移动互联网时代,好程序员的标准是什么?
- 黑马程序员--IO(二)--File类、Properties类、打印流、序列流等
- Java Web程序员学习方向
- 经典面试题(讨论canvas与svg的区别)