面了挺多暑期实习和秋招,个人记录下遇到的面试题 + 秋招进度
个人面试偏后端业务方向,面试题不与公司关联
水平有限,请多指正
进度
- 腾讯wxg 等意向
- 字节 抖音/TikTok 后端 已意向
- 阿里 达摩院二面挂 + 阿里云鞭尸
- 米哈游 一面 已挂
- 拼多多 三面完等通知
- 网易 互娱 二面
- 京东 提前批(寻猎计划?)hr面
题目
基础算法与数据结构
- 数组/链表 各种操作时间复杂度,适用场景
- 哈希表实现,冲突解决方式
- 树 二叉树/AVL树/B树/B+树/红黑树,二叉树三种遍历,各种平衡树实现,为什么索引用B+树
- 排序算法 实现,时间/空间复杂度比较,快速排序的退化
- 查找算法 线性表的顺序/二分查找,树的查找
操作系统
- 后台方向比较少问windows,以linux为主
- 进程线程区别
- 进程状态转移
- 虚拟内存,页表,内存管理
- io multiplexing,select / epoll
- 进程通信 shared memory / pipe / socket 等等
- 线程同步 各种锁(不同角度上的),semaphore
- swap
- linux 常用命令
网络
- 数据链路层没问过,一些思想可以做了解(滑动窗口,校验等)
- 网络层 IP / ARP / ICMP 基本原理,典型应用
- 传输层 TCP提供怎样的服务,状态机;UDP提供什么服务,与TCP的区别,各自适用于哪些场景
- 应用层 HTTP基于什么连接;各种请求的应用场景(GET/POST/PUT等等);keep-alive;2.0新特性
C++
- new / malloc 区别
- new 子类对象,constructor/destructor 调用顺序
- 为什么constructor不为virtual,destructor为virtual
- 多态的实现
- volatile
- STL 实现,时间复杂度
- c++11新特性
- 智能指针 shared_ptr, unique_ptr, weak_ptr 工作原理,解决什么问题
- 移动语义,右值引用,完美转发
- std::thread, std::mutex,std::lock_guard
- auto
- std::atomic
- nullptr,为什么用它替代NULL / 0
- 异常机制 不怎么用,很少问
- 推荐阅读 https://google.github.io/styleguide/cppguide.html
Java
- 基本数据结构,对应时间复杂度
- gc机制,内存布局
- volatile
- classloader,双亲委派模型
- ThreadLocal 功能,实现,内存泄漏问题
- 线程池 构造参数,决定了线程池的哪些行为
全部评论
(1) 回帖