【每日一语】人们常常会欺骗你,是为了让你明白,有时候,你唯一应该相信的人就是你自己。——《千与千寻》
金山WPS,C++研发工程师,一面
时间:58min
内容
1、自我介绍
2、平时有用C++写过项目吗?(这里没让我展开说项目)
3、对C++的特性有什么了解
4、对封装、继承、多态的具体理解
5、public/protected/private的区别
6、说一下三种方式继承对基类的访问权限
7、说说构造函数的执行顺序,析构函数呢
8、说一下构造函数内部干了什么
9、如何实现多态
10、构造函数和析构函数可以调用虚函数吗,为什么
11、析构函数一定要是虚函数吗,为什么
12、怎么理解C++的面向对象和C的面向过程
13、可以介绍一下new的实现原理吗
14、new和malloc的异同处
15、C++怎么为各种变量分配内存空间的
16、引用了解吧,介绍一下
17、拷贝构造函数内部做了什么,什么时候需要重写
18、初始化列表了解吗(以为是那个C11特性,没敢说)
19、平时用什么编程环境(Windows+MFC+Qt)
20、用过Qt是吧,说一下信号和槽的机制,绑定的方式
21、你觉得MFC和QT比各自有什么优缺点
22、MFC的消息机制和Qt消息机制的对比
1、了解过线程吗,谈一下进程和线程的联系和区别吧
2、对于共享的区域多个进程或线程一起访问会不会出问题,要怎么解决(同步和互斥)
3、进程通信有哪几种方式,介绍一下
1、Socket的流程是什么样的(服务端和客户端两个)
2、项目里用的什么协议(TCP)
3、TCP和UDP的区别,优缺点
1、你这项目的数据库自己设计的吗,简单介绍一下你的设计流程
2、了解数据库范式吗,介绍一下
3、用过索引是吧,说一下索引的优缺点,选取条件
4、数据库里多对多关系怎么处理设计
1、说说vector和list的不同,优缺点
2、平衡二叉树了解吗,说说它的特点,时间复杂度(logN)
3、说说二叉树的三种遍历(想让我写来着,没带纸笔,口述了算法思想和区别,递归和非递归)
4、图了解吗,说一说它的遍历(广度和深度)
1、说说宏定义和const的区别
2、宏定义和内联函数的区别
3、内联函数的作用,和普通函数有什么区别
4、C++有几种转换方法,简单介绍一下
5、重载是什么,和重写有什么区别
6、那今天就到这里,有消息会后续再通知你的
有些问题记得不太清楚了,总体大致如上。
感觉回答的有点急了,对有些问题思考没那么深入,下次要加油。
点击作者姓名与作者大佬交流~
作者:飞水蜗牛
来源:牛客网(www.nowcoder.com)
- 互联网名企笔试真题
- 校招求职笔经&面经
- 程序员/产品/运营求职实习信息
- 程序员/产品/运营学习交流社区