C++后台、客户端面经分享下篇
知道今天贝壳开奖,为了避免错过电话,把下午网易互娱的面试拒了,
另一方面也是因为感觉游戏开发之前没有接触过,通过的概率也不大,所以干脆不面了。
好在一切都是值得的,终于赶在8月的末尾收到了贝壳的offer,特来还愿。
远景一面:
介绍项目,针对项目问了几个问题。
C++虚函数,多重继承下的虚函数表
const
多态(静态多态,动态多态)
动态库和静态库
指针和引用
C++引用对象的存储位置
linux下从cpp到可执行文件的过程,其中生成的一些中间文件的作用
二叉树层序遍历
有向图判断是否有环
C++虚函数,多重继承下的虚函数表
const
多态(静态多态,动态多态)
动态库和静态库
指针和引用
C++引用对象的存储位置
linux下从cpp到可执行文件的过程,其中生成的一些中间文件的作用
二叉树层序遍历
有向图判断是否有环
腾讯一面(后台开发岗)
上来就是一道笔试题,应该是往年的真题,题目挺长的,有一定难度,给15分钟时间,面试官那边关了视频和语音
讲一下项目,讲的时候感觉面试官并没有什么兴趣,低着头,打哈欠,感觉不太尊重人。
讲一下C++多继承及底层实现原理
有什么要问的,我问是北京还是深圳的,他问我对工作地点有要求是吧,我说是的,然后就都懂了
腾讯一面(客户端)
问项目上的问题
在子类构造函数中调用父类虚函数(子类有重写)
C++多态是如何实现的
内存堆和栈的区别
怎么判断栈的生长方向
C++中内存管理的方式有哪些:
C++函数参数入栈顺序
在子类构造函数中调用父类虚函数(子类有重写)
C++多态是如何实现的
内存堆和栈的区别
怎么判断栈的生长方向
C++中内存管理的方式有哪些:
C++函数参数入栈顺序
/*Qt相关的,没有相关经历的同学可以不看
Qt中管理内存的方式:
Qt中信号槽的使用
Qt中信号槽是怎么实现的
Qt中view/model是怎么实现的
WPF和Qt的区别
能不能用Qt来实现WPF中的绑定机制
Qt中信号槽的使用
Qt中信号槽是怎么实现的
Qt中view/model是怎么实现的
WPF和Qt的区别
能不能用Qt来实现WPF中的绑定机制
*/
多线程同步和安全问题,线程间通信问题
你用的postgresql数据库是哪个版本的(9.6),支不支持json格式的存储
stl容器用过哪些,vector和list有什么区别,和Qt中QList有什么区别
现在有一个vector和一个list,分别有两个容器的迭代器,现在删除vector和list进行插入删除操作,问迭代器是否还有效,为什么
两个算法题:
第一个比较复杂,不好描述,讲了好久都没懂面试官的意思
第二题是给定一个无序的列表,要从列表中找出前K个最大的值,解释快排思想求topk的时间复杂度
二面
问项目上的问题(有没有遇到困难,怎么解决) 大约半小时
有没有什么定位处理偶现bug的方法
虚函数怎么实现的
在子类构造函数中调用虚函数会怎么样,在父类中呢
C++内存管理有哪些分区,堆和栈有什么区别
堆和栈的生长方向是怎么样的,如何验证
C++中析构函数什么情况下需要定义成虚函数
了不了解智能指针,它是如何实现的
有没有多进程和多线程的开发经验,怎么同步,怎么通信
讲讲Qt的信号槽是怎么实现的
windows下线程同步有哪些方式
有没有用过stl的容器,vector是怎么实现的,vector和list有什么区别
C++中的静态局部变量初始化是不是线程安全的
怎么判断存不存在内存泄漏,如何去定位哪里有内存泄漏
有没有用过什么性能优化的工具,讲讲怎么使用的
讲讲sendMessage和postMessage的区别
还问了几个windows底层的问题,没听说过
tcp和udp的区别
怎么遍历出C盘目录下所有的文件目录
还有没有不用递归的思想去遍历
多线程同步和安全问题,线程间通信问题
你用的postgresql数据库是哪个版本的(9.6),支不支持json格式的存储
stl容器用过哪些,vector和list有什么区别,和Qt中QList有什么区别
现在有一个vector和一个list,分别有两个容器的迭代器,现在删除vector和list进行插入删除操作,问迭代器是否还有效,为什么
两个算法题:
第一个比较复杂,不好描述,讲了好久都没懂面试官的意思
第二题是给定一个无序的列表,要从列表中找出前K个最大的值,解释快排思想求topk的时间复杂度
二面
问项目上的问题(有没有遇到困难,怎么解决) 大约半小时
有没有什么定位处理偶现bug的方法
虚函数怎么实现的
在子类构造函数中调用虚函数会怎么样,在父类中呢
C++内存管理有哪些分区,堆和栈有什么区别
堆和栈的生长方向是怎么样的,如何验证
C++中析构函数什么情况下需要定义成虚函数
了不了解智能指针,它是如何实现的
有没有多进程和多线程的开发经验,怎么同步,怎么通信
讲讲Qt的信号槽是怎么实现的
windows下线程同步有哪些方式
有没有用过stl的容器,vector是怎么实现的,vector和list有什么区别
C++中的静态局部变量初始化是不是线程安全的
怎么判断存不存在内存泄漏,如何去定位哪里有内存泄漏
有没有用过什么性能优化的工具,讲讲怎么使用的
讲讲sendMessage和postMessage的区别
还问了几个windows底层的问题,没听说过
tcp和udp的区别
怎么遍历出C盘目录下所有的文件目录
还有没有不用递归的思想去遍历
面试官建议:
多了解一些更加底层的东西
推荐了两本书,WINDOWS核心编程 、编译链接原理
推荐了两个window编程工具:WPT、Windbg
多了解一些更加底层的东西
推荐了两本书,WINDOWS核心编程 、编译链接原理
推荐了两个window编程工具:WPT、Windbg
虎牙一面(客户端开发)
先问C++相关的项目
虚函数的作用和实现原理
构造中能不能调虚函数
析构中能不能调虚函数
智能指针,循环引用问题
shared_ptr是否线程安全
空类默认有哪些函数
深浅拷贝
拷贝构造参数能不能是值类型
引用和指针
引用问题,int a = 1;int& b = a;int& c = b;
vector内存增长问题
vector内存增长问题
C++11中的右值引用
线程池是怎么实现的
(Qt相关的,因为项目中有用Qt)
有没有去了解Qt底层绘图相关的
Qt中信号槽是怎么实现的
QImage和QBitMap的区别
虎牙二面:
C++用的是哪个版本的 答C++11
那你知道C++11和C++98有什么区别吗
C++11中的lambda表达式
在哪些情况下会用lambda表达式
stl模板库中有一些函数,比如std::sort,第三个参数就可以用lambda表达式,那和传一个具体的函数有什么区别吗
lambda和匿名函数有什么区别吗
如果要你实现lambda表达式这样一种语法,你会怎么实现
如果给你一个string类型的表达式,比如3+2*2,要你实现一个函数,返回计算结果,你会怎么实现
空间数据库和普通的关系型数据库查询sql有什么区别
如果在三维空间里面有一条直线,要你在数据库中查找哪些点落在这条线上,假设每行数据都是一个点,你会怎么做
关系型数据库中要快速查找某一个年龄的数量,假设有1亿条数据,你会怎么设计表,怎么设计索引
8核的CPU和单核的CPU有什么区别
单核的CPU中跑8个进程是怎么做的
单核的CPU中跑8个进程和8核的CPU跑8个线程那个快,如果是8核的CPU跑64个线程呢
进程和线程有什么区别
熟不熟悉CPU中的寄存器算法
学没学过操作系统,编译原理
数据结构里面的深度优先和广度优先算法,有什么区别,分别在什么时候使用
递归求阶乘的算法怎么优化
从一个函数里面调用另一个函数,会有哪些开销
有没有写过Java相关的程序
你刚刚提到了Python,那你平时用Python来做什么
html css熟不熟悉,如果要你实现一个布局(具体忘了),怎么做
js语言和C++,java有什么区别呢
有没有写过单元测试
测试有没有给你提过比较棘手的Bug,是怎么解决的
网络知道有哪些协议
输入www.baidu.com,会发生什么事情。在这个过程中,会请求什么东西
C++用的是哪个版本的 答C++11
那你知道C++11和C++98有什么区别吗
C++11中的lambda表达式
在哪些情况下会用lambda表达式
stl模板库中有一些函数,比如std::sort,第三个参数就可以用lambda表达式,那和传一个具体的函数有什么区别吗
lambda和匿名函数有什么区别吗
如果要你实现lambda表达式这样一种语法,你会怎么实现
如果给你一个string类型的表达式,比如3+2*2,要你实现一个函数,返回计算结果,你会怎么实现
空间数据库和普通的关系型数据库查询sql有什么区别
如果在三维空间里面有一条直线,要你在数据库中查找哪些点落在这条线上,假设每行数据都是一个点,你会怎么做
关系型数据库中要快速查找某一个年龄的数量,假设有1亿条数据,你会怎么设计表,怎么设计索引
8核的CPU和单核的CPU有什么区别
单核的CPU中跑8个进程是怎么做的
单核的CPU中跑8个进程和8核的CPU跑8个线程那个快,如果是8核的CPU跑64个线程呢
进程和线程有什么区别
熟不熟悉CPU中的寄存器算法
学没学过操作系统,编译原理
数据结构里面的深度优先和广度优先算法,有什么区别,分别在什么时候使用
递归求阶乘的算法怎么优化
从一个函数里面调用另一个函数,会有哪些开销
有没有写过Java相关的程序
你刚刚提到了Python,那你平时用Python来做什么
html css熟不熟悉,如果要你实现一个布局(具体忘了),怎么做
js语言和C++,java有什么区别呢
有没有写过单元测试
测试有没有给你提过比较棘手的Bug,是怎么解决的
网络知道有哪些协议
输入www.baidu.com,会发生什么事情。在这个过程中,会请求什么东西
有没有抓过包
你刚刚说的那些协议都是比较传统的,知道有哪些比较新的协议
有没有学过机器学习相关的东西
图像匹配、人脸识别的算法
你刚刚说的那些协议都是比较传统的,知道有哪些比较新的协议
有没有学过机器学习相关的东西
图像匹配、人脸识别的算法
阿里云三面:
三面面试官是小组的技术负责人,主要是深挖项目,一个一个说,其他的基础的没有问
面试结尾面试官说我现在做的和他们组做的相关性不大,我赶紧舔说可以提前过去实习。
然后面试官说通过的话他们对应届生还会安排一轮交叉面。
临挂电话我问他现在有什么我这边先学习的,他说像Haddop、spark这些大数据相关的,基本上
互联网公司都会用到,可以去了解一下,另外linux下的网络编程非常重要!