字节、京东、招行提前批c++面经
京东面经:
7.16一面:
1.自我介绍 2.项目介绍
3.跳表,hash(项目引申)4.map底层的实现(同时对比了红黑树、和二叉搜索树以及平衡树)
5.c++11中线程,哪些锁,如何提高锁的效率(有些线程安全的数据结构)
6.c++多态,虚函数实现原理
6.手撕算法题
(1)lc41(hard) :缺失的第一个正数(做过简单说了下思路)
(2)lc18(middle): 四数字之和
(3)n数之和通用版实现(套用4数之和,测试用例没有全部跑通)
职业规划想做算法还是业务研发?
能不能来实习?(不能) 反问:你这个部门具体的业务的
7.17二面:
1.自我介绍
2.项目介绍(根据项目提问)
3.算法题:
(1)lc64 最大路径和
(2)根据上面题改进,可以左右上下移动,不能重复走
(3) 定义一个类
class A{
int a;
int *b;
}
让补充构造函数,析构函数,赋值构造函数,拷贝构造函数,主要考察的是内存泄漏,证同测试
1.自我介绍
2.项目介绍(根据项目提问)
3.算法题:
(1)lc64 最大路径和
(2)根据上面题改进,可以左右上下移动,不能重复走
(3) 定义一个类
class A{
int a;
int *b;
}
让补充构造函数,析构函数,赋值构造函数,拷贝构造函数,主要考察的是内存泄漏,证同测试
字节面经:
7.6一面:
1.自我介绍
2.TCP/IP三次握手协议(详细过程),为什么需要第三次握手
3.http和https区别,详细说明https的过程,对称加密+非对称加密+CA证书(详细说明过程),中间人攻击
4.浏览器输入一个url的完整过程(详细说明)
5.DNS域名服务器解析过程
6.解释下对称加密和非对称加密原理
7.手撕:算法题:两个栈实现一个队列
2.TCP/IP三次握手协议(详细过程),为什么需要第三次握手
3.http和https区别,详细说明https的过程,对称加密+非对称加密+CA证书(详细说明过程),中间人攻击
4.浏览器输入一个url的完整过程(详细说明)
5.DNS域名服务器解析过程
6.解释下对称加密和非对称加密原理
7.手撕:算法题:两个栈实现一个队列
7.6二面:
1.项目介绍
2.访问一个app到app的运行的过程(按照自己的理解说的????)
3.用户空间和内核空间(代码运行过程)
4.手撕:实现一个死锁的例子
5.进程和线程的区别
6.在一个局域网内如何进行通信(只说了socket)
7.socket的过程
8.手撕:lru_算法(不能使用双链表,使用单链表进行(时间复杂度要求O(1)),单链表需要自己定义实现,setter和getter都需要是常数时间o(1)复杂度)
2.访问一个app到app的运行的过程(按照自己的理解说的????)
3.用户空间和内核空间(代码运行过程)
4.手撕:实现一个死锁的例子
5.进程和线程的区别
6.在一个局域网内如何进行通信(只说了socket)
7.socket的过程
8.手撕:lru_算法(不能使用双链表,使用单链表进行(时间复杂度要求O(1)),单链表需要自己定义实现,setter和getter都需要是常数时间o(1)复杂度)
7.6三面:
1.项目介绍(深挖)
2.跳表详讲
3.红黑树、平衡树、二叉搜索树、b树、b+树(每一个结构都会深挖,以及之间的对比)
4.linux内核中虚拟地址和物理地址(深挖)
5.为什么需要虚拟地址
6.linux中代码运行时,具体过程(主要涉及到虚存、物理内存、寄存器、cpu方面答)
7.c++中内存泄漏的如何管理(涉及到了智能指针、智能指针谢泄漏情况)
2.跳表详讲
3.红黑树、平衡树、二叉搜索树、b树、b+树(每一个结构都会深挖,以及之间的对比)
4.linux内核中虚拟地址和物理地址(深挖)
5.为什么需要虚拟地址
6.linux中代码运行时,具体过程(主要涉及到虚存、物理内存、寄存器、cpu方面答)
7.c++中内存泄漏的如何管理(涉及到了智能指针、智能指针谢泄漏情况)
8.内存管理策略(答了list记录申请空间和释放空间是否配对)
9.new和malloc
10.new中重载::operator new()实现一个类的内存管理,malloc的底层原理
11.c++中内存分配器的具体做法,内存池管理(深挖)
12.stl空间配置器的内存池管理技术
13.看过哪些书
14.是否有安卓/ios开发经验(0基础)
15.手撕:leetcode41 接雨水(hard)(时间复杂度要求0(n))
14.是否有安卓/ios开发经验(0基础)
15.手撕:leetcode41 接雨水(hard)(时间复杂度要求0(n))
招银网络科技面经:
视频一面:
1.自我介绍
2.项目介绍
3.k-v数据库与传统数据库的区别(项目引申的)
4.数据库中事务,以及具体应用情况
5.c++中const
6.线程安全问题
7.c++内存泄漏问题
8.编程题:反转字符串:比如“hello xiao ming”->"ming xiao hello"
9.遇到困难是怎么解决的(看博客、书、论文)
10.参与过企业的项目没(参与过)
2.项目介绍
3.k-v数据库与传统数据库的区别(项目引申的)
4.数据库中事务,以及具体应用情况
5.c++中const
6.线程安全问题
7.c++内存泄漏问题
8.编程题:反转字符串:比如“hello xiao ming”->"ming xiao hello"
9.遇到困难是怎么解决的(看博客、书、论文)
10.参与过企业的项目没(参与过)
视频二面:
纯聊项目
hr面