1、牛牛给的offer牛牛啊的C++面经
一面8月6日:1.自我介绍
2.为什么这么做,项目如何改进
3.线程池
4.多态
5.++i,i++那个是左值
6.编译过程
7.list deque(不会拼了) vector 区别
8.记不清了
二面 8月12日:
1.自我介绍
2.项目如何xxxxxxxx
3.想在哪里上班
1.自我介绍
2.实习中遇到的问题如何协调
3.xxxxx(省略一堆关于个人经历的问题以及苦难)
2、冰棍儿君的C++面经
一个指针重复delete会怎么样?编译报错还是运行报错?报什么错?声明一个指针但是没有初始化,读写会怎样?只是读的话运行的话会怎样?
编译器是如何区分重载的?
C里面有重载吗?为什么没有?
写过动态库吗?想要调用动态库的一个函数,应该怎么用?
一个函数返回char*,函数内定义一个数组,如果返回这个数组的话会怎样?对返回的这个char*进行读写会怎样?
如果一个文件好几个G,用new分配内存来读取,可以装得下吗?
智能指针相关,shared_ptr,unique_ptr实现原理
如何对一个单向的无序链表进行排序?
Python里的GIL(python不咋会)
多线程对全局变量的读写。如果一个全局变量大部分是读,很少修改,有什么优化方式?
C++如何创建一个线程?
线程的数量可以无限创建吗?最多能创建多少?
你这个项目(webserver)里用的多线程,有去测试不同线程数对性能的影响吗?
你这个项目如何实现高并发?
select和epoll的区别?
如果5000个客户端连接进来,调用select会怎样?会报错吗还是咋?
如何去定位死锁?
socket通信的流程?
TIME_WAIT是在哪个阶段?为什么要有这个状态?
HTTPS的过程?会话密钥如何生成?
网络服务器性能的限制因素有哪些?除了多线程、IO多路复用还有哪些可以优化的点?
页面置换有哪些算法?
只有一个核的CPU是如何同时执行多个进程的(进程调度)?
程序崩溃如何定位?core文件如果很大的话会占用磁盘空间,怎样不生成core文件?
段错误一般可能由哪些原因导致?
Linux下如何查看进程的状态?
kill和kill -9的区别是什么?如何去捕捉一个信号?所有的信号都可以被捕捉吗?
Linux和Windows下网络抓包?网络出现问题可能的原因?
容器、微服务这些了解过吗?
有了解过最新的,前沿的一些技术吗?
3、xzlin的C++面经
8.10 下午2点 一面 1h7min1、自我介绍
2、实验室项目(跟目标检测相关)
3、c++三大特性
4、多态怎么实现的
5、子类函数重定义
6、vector底层原理,其中的resize和reserve,insert方法
7、进程和线程的区别,线程间通信,死锁以及如何避免死锁
8、gdb调试,实际调试案例
9、线程池实现原理
10、请求队列满了高并发如何解决
11、线程池如何处理不同的任务,不只是处理http请求
12、文件编译流程,项目用到了哪些静态库、动态库
13、有将项目其中的模块封装成库吗?哪些模块可以封装起来
14、反问
(还有一些想不起来了。。)
8.13 下午2点 二面 40min
1、自我介绍
2、debug和release具体有什么区别
3、链接器内部原理
4、虚函数表以及vptr
5、多线程调试的具体流程
6、分布式系统中的数据同步问题
7、负载均衡的方案
8、实验室项目相关
9、比赛相关
10、反问
(后面还有一个hr问了一些问题,不知道是不是连hr面一起的)
8.16 下午4.30 HR面 20min
全部评论
(2) 回帖