秋招总结 9家大厂高频面试题总结 内含过面技巧
秋招总结
历时2个月 面9过6 分享面经 均为后端岗位
面试过的公司有:腾讯(3面),阿里(5+1面),字节(转正),美团(3+3+1),龙湖(3+1面),快手(1面),拼多多(3面)京东(3+1面) 百度(3+1面)
已拿意向的为 阿里 字节 百度 美团 京东 龙湖
除了美团白菜 其余都45w+
最后字节阿里百度三个ssp选了字节!
C++
-
堆和栈的区别,内存位置
-
多态,有什么用,如何实现。
-
虚函数,虚函数表如何绑定,多继承虚函数表,菱形继承虚函数表。构造函数,静态,內联是否能为虚函数。
-
STL unordered_map和map 底层数据结构,桶个数,如何扩容,涉及系统调用
-
内存分区模型(进程里面内存都有啥) malloc底层 mmap 和brk区别
-
范围for底层实现
-
右值引用,移动语义,完美转发
-
如何默认生成构造,与默认不析构
-
vector 扩容机制 和 扩容&&迭代器失效
-
内存泄漏,智能指针,RAII,智能指针线程是否安全
-
给个复杂的类 里面一堆静态 虚函数,然后一顿虚继承,问结果输出,内存对齐相关问题 腾讯因为这个挂
Golang
-
GMP 调度模型
-
Gorotine channel 有没有缓冲区的Channel读取会出现的现象
-
如何控制并发数。waitgroup和channel 两种方法优缺点
-
大并发下安全读写变量的手段及优缺点
-
make一个slice的三个参数啥意思 golang有array为啥要slice。 快手因为这个挂
NetWork
-
http与https 一整套:有无状态,请求头部与响应参数,状态码,有无连接,加密过程,对称非对称,证书相关。
-
Ping 底层原理。ICMP与IGMP
-
三次握手四次挥手及底层系统调用
-
rpc和http 区别(rpc优点)
-
TCP UDP 粘包 心跳包
OS
-
Select, poll,epoll 一整套
-
进程线程 ,缓冲区溢出,死锁原因及解决,进程,线程通信方式,僵尸进程孤儿进程及其解决方式
-
上下文切换到底切换了哪些上下文。协程的引入解决了什么问题
数据结构
-
各种排序时空复杂度
-
红黑树与跳表 crud时空复杂度,设计原理
-
平衡二叉树插入问题
数据库
-
索引建立 底层原理 聚簇非聚簇 是否回表
-
最左匹配原则 联合索引 给一个where 里面有 > 和groupby orderby 问是否出发索引
-
SQL执行过程
-
Mysql包括哪几部分
-
MYSQL如何解决幻读? MVCC通过什么实现,除了幻读还解决了什么问题
-
innodb与myisam
-
慢sql优化。 如何查看是否命中索引 explain返回参数需要关注哪个
-
估算下mysql能承受多大请求量
-
有MYSQL为什么用mongo,mongo特点,列可扩展,Mongo 索引用什么数据结构
-
为什么用ES
- 查询语句为 select * from x where %x x%. 模糊匹配有通配符,索引失效 慢
- 搜索aba。-》baa mysql无法实现
全文检索,倒排索引:采用分词的方式。 手机壳。-〉手机:1 手:2。壳:3 手机壳:4
-
nosql 特点
-
redis 为什么快,内存操作 IO少 , 多路复用 非阻塞IO
-
如何持久化 RDB AOF
-
缓存淘汰策略
-
redis 数据结构 及底层实现 及常用场景
-
redis事务与mysql事务不同点
-
缓存击穿,雪崩
-
你用redis做什么。缓存 分布式锁。setnx 死锁的解决 expire为锁设置过期时间限制
linux
-
文件中出现最多次数的IP
-
按规则输出文件。考seq
-
当前占据cpu,内存最多的进程
-
排查僵尸,孤儿进程
-
git 想把 很多次提交诺到另一分支 不用merge cherry-pick commit .. commit 或者rebase -i 再cherry-pick
-
查看本网络IP
-
找大小超过10m文件
-
打印xx文件第100行
算法
-
GBDT, XGBoost, LightGBM对比
-
过拟合及解决
-
手推逻辑回归
-
signet 用于什么场景。 近几年有更好的替代品吗
-
传感器融合新技术
-
对cv的看法
-
yolov5和 之前对比
场景题
-
如果cpu爆了怎么排查
-
海量数据中位数,top100。 归并 堆 不拢过滤器
开放设计题
-
无锁并发队列设计。 我答了go中的channel的实现,面试官说channel中有什么 答有锁。换方案 尾节点加访问时间标记,模拟MVCC机制。(阿里)
-
设计画图软件 (百度)
-
设计火车订票系统 (pdd) 设计数据库表,几个主要的api, 类结构
-
设计飞书文档。(美团) 设计数据库表,几个主要的api, 类结构,技术选型 谈到用ES做搜索,用redis做分布式锁,用nosql保存文档数据
-
设计一个RPC框架 从protobuf, 跨语言调用,几个方面答了下 。
-
设计web框架。 把看过的gin讲了一下
-
设计一个秒杀系统,我答了个标准答案。问题来了:设计一个脚本来抢你这个秒杀系统的商品。从换ip,改token/cookie 然后并发请求说了下 感觉不太会
-
设计一个IM(即使通信)系统。表字段,和主要的接口
-
设计短链接服务。 设计udp使其能做到流量控制与差错检验
-
设计一个搜索系统。(京东的组搜索广告架构)
-
设计一个LRU 就把算法题的输入输出搞成了c++的模版,面试官不满意 pdd因为这个挂
-
设计一个分布式id生成器
-
设计一个数据库框架 重点说了下怎么解决sql注入 和主从
-
没学过java吗。设计一个jvm。 我???
-
写一个红黑树的所有接口实现 伪代码
-
设计一个并发安全的智能指针
手撕代码
-
LRU
-
合并有序数组
-
手写KNN
-
K个一组反转链表
-
重建二叉树
-
一道完全背包 没做出来 导致微信挂 ACM题
-
用栈实现队列
-
接雨水
-
最近公共祖先节点
-
后序遍历二叉树。给面试官讲了20分钟 莫里斯遍历 就说我写的不对。
-
复原IP地址
-
硬币二维DP
-
四数之和
-
o(nlogn) 排序链表 (只能用归并)
-
海量数据中位数
-
复杂链表复制
-
合并K个排序链表
-
二叉树序列化和反序列化
乱七八糟(我认为这个也是重点)
-
学一门新语言 java需要多久。 怎么学 :找个demo复现一遍
-
Rz赛马问题 毒药问题。真觉得问这个的脑袋有坑 不如让我背首古诗
-
概率问题 硬币概率
-
线上问题的定位与排查
-
能不能实习
-
对技术什么看法
-
想做技术专家还是团队leader 还是manager
-
讲一下最近看的一片论文。
-
讲一下最近关注的新技术
-
如何学习新技术