校招|分享我的面经经历,技术都是面出来的
作者:ACBoy、
链接:https://www.nowcoder.com/discuss/173537
来源:牛客网
渣渣面试经验,技术都是面出来的。
百度提前批一面(c++开发):
1.关键字static作用,函数加static和不加static区别
2.const关键字作用,const和宏定义有什么区别,用哪个?(宏定义太多会导致代码膨胀)
3.虚函数是如何实现的?
4.线程和进程的区别,线程如何实现同步和通信,进程如何实现通信?
5.了解哪些线程模型?
6.手写二叉树中序遍历递归和非递归。
7.socket如何进行通信?
8.poll,select,epoll区别。
9.TCP四次挥手。
网易提前批(AI高性能)
一面
1.快排代码
2.在矩阵中左上角到右上角总步数(dp)
3.sizeof(1==1)?(c++ 1字节,c 4字节)
4.sizeof(结构体)
5.分糖果思路,n个小孩围城一个圈,每个小孩都有一个分数,老师希望尽量少的把糖果分给小孩们,如果某小孩的分数比周围的高,那么糖果数也要比他们高。
6.c是c++的子集吗?不是
7.gpu为何要分block
8.c和c++区别
二面
1.bfs和dfs如何遍历,bfs如何并行遍历
2.a[1]+a[2]+..+a[n]如何进行并行设计
3.10000个数里面找top10,串行和并行如何做。
4.wrap是什么
5.什么是并行计算。(数据之间没有依赖性)
360提前批一面(客户端开发师)
1.java的基本原则
2.java设计的原则
3.126/64怎么计算最快?
4.多线程,如何执行的?
5.OOM
6.activity生命周期
7.android四大组件
8.二叉搜索树如何实现有序,代码
9.JVM
10.java的设计模式有哪些?
11.equal和==的区别
美团一面(后台开发)
1.判断链表是否有环
2.网络体系结构,并详细介绍
3.linux操作系统包含哪些部分
4.对称和非对称加密,md5对称,md5不可逆
5.char和varchar区别
6.top k问题
7.数据库索引
8.linux常用指令
9.项目数据库设计
10.缓存策略为什么用fifo
11.为啥要有缓存策略
12.http和https的区别
13.http状态码有哪些
完美世界
一面:
1.虚函数如何实现的
2.虚函数前面加static行不行
3.两个有序数组找第N大,二分
4.两个有序数组找相同的数
5.netstat命令
6.三次握手画图
7.四次握手为什么要等2msl
8.tcp flag字段有哪些
9.vector如何删除偶数,保证迭代器不失效
10.为什么析构函数要加虚函数
三面:
1.智能指针
2.路由器和交换机的区别
3.深拷贝和浅拷贝区别
4.快排时间复杂度,为什么
5.map实现查询的时间复杂度
6.客户端突然没电关机,服务器怎么知道
7.ttl作用
头条
一面
1.一个母串,如何判断一些字串在母串中出现的位置和次数
2.一个母串,判断这些字串能否拼接成这个母串
3.https如何实现安全的,具体
4.栈和堆的存储空间,如何在一个函数通过调用地址修改另一个函数的临时变量
5.tcp和udp可以用同一个端口吗
6.bgp协议的具体属性
7.socket和描述符说一下
8.大端和小端
京东(过)
一面:
1.进程和线程区别,进程优势
2.进程通信方法,什么时候用有名管道,共享内存如何实现
3.环形打印矩阵
4.地址分配,内存地址如何访问内存条上面的物理地址
5.四次挥手,为什么四次吗,第二次和第三次之间叫什么名字,四次结束后2MSL叫什么名字,为甚要等2MSL
6.数据库事务,如何防止多个事务同时操作同一个数据,具体
7.LFU实现
8.分苹果问题,如何从任意几个箱子拿出苹果能够凑齐一个整数
二面:
1.strcpy实现代码
2.awk知道吗
3.linux哪个命令知道多少客户端连接服务器的数量
电信
一面:
1.路由器和防火墙的区别
2.vpn了解吗
3.常见的攻防技术
宽凳科技:
全程扣项目,遇到的最难问题,如何解决
VMWare
一面:
1.路由从内存如何到外网,经历了哪些协议
2.线程和进程区别,共享内存只能是内核的内存吗?为什么切换进程比内存要麻烦?一个线程可以放在一个核里面吗?
3.linux内存如何分配的,如何从虚拟地址到物理地址
4.介绍bgp协议
二面:
1.ipv4和ipv6的区别
2.linux操作系统在输入命令之后都发生了什么事情
3.list如何实现
4.虚拟地址管理
5.进程调度算法
6.bgp讲解,为什么其它路由协议不能做域间路由协议
7.n个大小不同的车厢,m个大小不同的货物,如何让尽量多的的车厢装满货物
360企业安全(过)
一面:
讲项目
二面:
1.滑动窗口大小由谁确定
2.堆排序和快排分别在什么情况下用
3.linux和windows优势和弊端
4.关注安全技术吗
5.socket编程
启明星辰
1.c读文件如何知道某个词是在文件第几行第几列,如何知道文件大小
2.TCP三次握手和四次挥手
3.socket编程
4.linux查找命令,sed命令
5.linux下如何查看磁盘空间
畅游
一面:
1.一天多长时间玩游戏
2.hashmap底层是如何解决冲突的
3.hash解决冲突的方法有哪些
4.指针和引用的区别
5.析构函数可以是虚函数吗?为什么
6.构造函数可以是虚函数吗?为什么
7.vector,list各自优缺点
8.vi的保存退出命令是什么
9.树都有哪些结构以及应用场景
10.什么开发方式既可以开发Android又能开发ios
11.软件开发流程
12.遇到最难的问题
二面:
1.如何设计吃鸡游戏
2.打枪的时候如何判断打到对方
3.两个人同时开枪,结果如何
4.如果对方移动,能否打到对方
5.写一个sql语句
柠檬微趣
1.笔试题的优化方法
2.线程和进程区别
3.进程的共享资源是指哪些
4.四次挥手以及socket的状态
5.new和malloc区别,以及free的时候如何知道释放的内存是多大
6.list如何实现
58(过)
一面:
1.c和c++区别
2.指针和引用
3.重载和继承
4.多态如何实现
5.static
6.volatile
7.三次握手
8.http和socket
9.写数据库建立索引语句
10.数据库事务以及四大特性
11.linux常用指令
12.100w个数中查找重复次数最多的前100个
13.树的应用
14.进程通信有哪些
15.长连接和短连接以及http是长连接还是短连接
二面:
1.0123实现三个数字的全排列,非递归实现
2.stl底层实现
3.排序,什么时候用堆排序比较好
4.队列和栈的应用情况
5.手写sql语句
6.netstat receive n和send n方法
搜狗
一面:
1.两个循环数组如何判断有序
2.如何查看某个数字二进制有多少个1
3.三次握手和四次挥手
4.虚析构函数
5.虚继承和钻石继承,如果不是虚继承会报什么错误
6.topn问题
7.快排时间复杂度和思想
二面:
n个球,每个球上都有一个数字,判断能否取得四个球使得这四个球上的数字之和等于某个数。
腾讯
一面:
1.整数在计算机里面是怎么存储的?补码还是源码?正数和负数的区别
2.数据库索引什么情况适合建立什么情况不适合建立?什么情况建立索引也不起作用
3.select和epoll的区别,触发模式有哪些?分别在什么场景下使用
4.告诉你停车场中心坐标,如何判断一辆汽车进入了停车场
5.从上海到北京的地铁上如何查看周围的酒店
6.无锁的线程队列如何设计
7.线程之间的状态转换
8.数据库隔离性如何实现
二面:
1.做的项目内存如何管理
2.100g数据内存10g如何排序
小米
一面:
1.讲项目
2.sqrt(double x),精度是a^-x,写代码
3.1000瓶毒药,小白鼠可以尝试,每只小白鼠只能用一次,如何使用尽量少的小白鼠才能知道毒药在哪一瓶?
二面:
1.讲项目
2.矩阵顺时针旋转90度
一点资讯(过)
一面:
1.3次握手4次挥手
2.进程线程区别
3.topk问题
4.内存泄漏情况
5.编译执行生成的文件
二面:
1.滑动窗口
2.重传机制
3.topk问题,手写代码
三面:
1.有序数组,截成两段,重新拼接,求被截的位置
2.static关键字,一个类写在.h里面,如何初始化static修饰的
3.构造函数初始化列表
4.手写拷贝复制函数
5.手写vector删除元素的代码
6.智能指针
7.stl
8.多态
9.两个有序链表合并代码
10.红黑树特点
11.写一下多态,什么情况下函数里面的参数变量不一样也能实现多态
爱奇艺(过)
一面:
1.手写匹配字符串代码
2.三次握手四次挥手
3.虚函数,多态
4.构造函数可以是虚函数吗?
5.STL
6.存储在堆里面的数据和栈里面的哪个快?为什么
7.c和c++区别
8.c++如何引用c文件
二面:
1.cpu的组成部分
2.地址管理
3.bfs和dfs
4.STL
5.归并排序
6.如何防止类被继承
7.智能指针
8.红黑树特点
9.什么是右值
三面:
1.最近看的书籍
2.window内存管理和linux内存管理区别
3.高并发项目做过没有
4.慢启动
5.ipv4和ipv6区别,ipv4转到ipv6有什么困难
腾讯体育
一面
- 将一个ipv4转换成32位整数
- topk除了堆排序还有桶排序,如果分数是变化的,怎么调整
- 王者荣耀全部玩家分数排序可以用快排吗
- 负载均衡讲一下,你设计如何实现
- 三次握手
- 链表模拟加法
- 关于缓存一些讨论
二面
- 8个球一个偏重,称几次
- 十进制转七进制
- 12个球,一个瑕疵,称几次
头条
一面
- 设计模式了解吗
- kafka讲一下,多个group如何保证消费消息的
- grpc如何实现,rpc如何知道访问的是哪台服务器
- etcd讲一下
- 链表对折交叉输出代码
- 网络七层协议,并介绍
- go携程与线程和进程关系
- 说一下三次握手和四次挥手过程以及状态
- 进程如何通信,介绍一个熟悉的,共享内存如何实现
- 线程如何通信
- 说一下http的一些状态码
- 滑动窗口
- 客户端如何重传
- 数据库事务
- 用的数据库引擎是多少
二面
- 设计数据库索引
- b树b+树区别,b+树有什么好处
- http中get和post区别,分别什么时候用
- 输入网址发生什么
- 三次握手只握手两次会发生什么
- topk问题,n个数内存放不下和k偏大偏小的情况
- 时间轮问题
- 手写topk问题用堆排序
三面
- 一些linux命令
- 算法如何紧凑打印二叉树
- 区间覆盖问题
- 了解过加密?
- http2和http1.1的区别
腾讯地图(过)
一面
- 拷贝构造函数的作用
- 什么时候需要重写拷贝构造函数
- 讲讲grpc
- 为什么要对数据进行序列化和反序列化
- 多个请求同时访问grpc某函数咋办
- vector和list讲一下
- map和hashmap
- haspmap产生冲突如何处理,如何优化
- socket网络编程流程,tcp三次握手发生在哪一步
- 编写最大堆查找一个数
- 编写trim函数
二面
- 主要用地图干什么
- 使用地图哪些地方会觉得体验感不好
- 地图加载慢的原因有哪些
- 加载地图有哪些配置?
- 如何设计服务器比较好
- 给你一个日期,n天后是几月几号,时间复杂度

浙公网安备 33010602011771号