2021 最新发布拼多多 / 字节 /360/ 网易 / 面经总结
01 拼多多(2 面技术+HR 面)
一面
聊项目,很细
重解笔试题目
Mqtt,Http,WebSocket 协议相关内容
C++ 多态实现
预编译保护
动态链接和静态链接
进程 fork 过程
C++构造函数和析构函数相关
深拷贝和浅拷贝
虚函数和内联
C++内存分配
O(logn), O(n), O(nlongn), O(n^2), O(n^logn), O(n^3)算法各举一个例子
map 和 hashMap 底层实现
hash 函数、hash 冲突相关
稳定排序和不稳定排序,各种排序算法复杂度
Graphql、 Restful
题目 1.给一个序列,如{1,4,6,3,8,7},然后打印相应的柱状图
题目 2.给定一个函数 g(x) 可以以概率 p 产生 1, 概率 1-p 产生 0, 让你利用 g(x)写一个 f(x), 可以以概率 q 产生 1, 概率 1-q 产生 0;
二面
聊的知识面非常宽泛,天南海北的聊
项目相关
Tcp, Udp 区别,Tcp 拥塞控制、三次握手、HTTP 协议、ARP 协议、如何检测发生碰撞、ICMP 协议、DNS 协议
数据从应用层到物理层,再到应用层的过程
内存对齐规则
多线程和多进程区别
多线程同步方式
进程间通信方式
用过哪些消息队列
共享内存的实现
RPC
系统中断、中断向量表
用户空间和内核空间切换
IO 模型(阻塞、非阻塞、IO 复用、信号驱动 IO,异步 IO)
select, poll, epoll
epoll 实现
静态链接和动态链接
虚拟内存,程序装载过程
使用 TCP 通信的过程(创建 socket, bind, listen, accept ...)
红黑树、B 树、 B+树
平衡转化的过程
hash 和红黑树对比
适配器模式(设计模式)
迭代器的实现
内核相关(不太会)
golang 和 c++的区别
copy on write
fork
守护进程
软连接和硬连接
堆排序过程
题目:手写插入排序(就问你运气好不好!)
HR 面
......
02 字节跳动(3 面技术谈项目+HR 面)
一面
项目相关
const, static, explict, volatile 关键字
虚函数实现(RTTI)
几个智能指针的实现,用法
C++11 新特性
模板特化
new 和 malloc 区别
C++ 内存空间布局
vector 底层实现
map, hashmap 底层实现
rebase 和 merge 用法(git)
bss 段
多线程及同步、多进程通信方式
自己使用过的库,以及这个库的作用,实现(lcm, libconfig)
题目 1. 多线程交替打印
题目 2. 反转链表(递归和非递归方法)
二面
项目相关
placement new
析构和构造函数与多态
如何限制对象只能在堆上创建
如何限制对象只能在栈上创建
如何让类不能被继承
如何控制 vector 的内存分配
多线程同步的实现
单例模式
工厂模式
优先队列
迭代器的实现
range for 语句与动态插入删除
还有一堆记不清了(聊天式的面试,面试体验及佳)
题目: 实现 O(1) 的栈的 min()函数(双栈法)
三面(近两个小时)
聊项目,超级细
一些简单的问题,基本都是上面出现过的,就不赘述了
题目 1. 给定几十万个 ip 集合,判断任意一个 ip 是否属于这个集合
题目 2.给定一个字符串,判断该字符串是否是环等的(字符串首位相连,如果能找到一个位置,从这个位置顺时针得到的字符串和逆时针得到的字符串相等,即为环等)
题目 3.数学题, 用一个公式表示一个数 N 的所有因数的和
03 360(2 面技术+HR 面)
一面
项目相关
多态实现
static 关键字用法
值传递和引用传递
RPC
消息队列的实现
epoll 的实现
override, overload, overwrite
c++中调用 C
临界区
手写 strcpy 函数
其他记不清了,(刚睡醒,面的迷迷糊糊的)
二面
项目相关
websocket 协议
javaScript 和 C++通信
OSM(地图相关,项目中提到)
卫星定位相关
给定一个人的经纬度,如何快速定位一个人位于哪一个大厦里(索引、多级索引的设计)
HR 面
......
04 网易(2 面技术+HR 面)
一面
static 关键字
const 关键字
程序运行的局部性
程序装载过程
虚拟内存
深拷贝、浅拷贝
导致程序崩溃的错误有哪些
TCP 和 UDP 区别
TCP 拥塞控制
多进程和多线程
动态链接和静态链接
C++多态实现(RTTI)
智能指针实现
向量点乘和叉乘
题目 1. 全排列
题目 2. 求一个向量在另一个向量的投影
题目 3. 在一个序列中挑出一些数(两个数不能相邻),求所有被挑出的数的和的最大值(动态规划)
题目 4. 给定一个函数 g(x) 可以以概率 p 产生 1, 概率 1-p 产生 0, 让你利用 g(x)写一个 f(x), 可以以概率 q 产生 1, 概率 1-q 产生 0;
平时玩什么游戏、对游戏的看法,充不充钱,对充钱玩家的看法 ...
二面
聊项目
C++的一些问题,基本上面的都已经覆盖
自己看过的书、自己想聊什么
题目 1.给定一个序列{1,7,4,2,5,9},找到一个位置,将数组分为两个部分,使得这两个部分的和的差值最小(用三种方法)
题目 2.给定一个矩阵,找到从左上到右下的路径和最小值,并找出这条路径;
题目 3.数学题,三个盒子里面,有一个盒子装了一个宝藏,你随机选一个盒子,之后系统会给你去除一个没有宝藏的盒子,在接下来的 2 个盒子里面,你会坚持原来的选择还是重新选择另一个
HR 面
......
由于篇幅原因,这里就不一一罗列各个大厂的面试真题了,小编将这些真题及其详细的答案解析全部整理成 PDF 文档了,有需要的朋友添加小助理 vx:mxzFAFAFA 即可!!
MySQL20 个必备面试题(含解析)+21 条 MySQL 性能调优实践
分布式面试解析
数据结构与算法
设计模式
由于篇幅原因,这里就不一一罗列各个大厂的面试真题了,小编将这些真题及其详细的答案解析全部整理成 PDF 文档了,有需要的朋友添加小助理 vx:mxzFAFAFA 即可!!
架构专题面试真题汇总(Java,分布式,框架,中间件,Redis,Spring,并发,线程,Tomcat,设计模式...)
版权声明: 本文为 InfoQ 作者【比伯】的原创文章。
原文链接:【http://xie.infoq.cn/article/f3d72be8d00616f9ab5430164】。文章转载请联系作者。
评论