作者:小明1
链接:https://www.nowcoder.com/discuss/255625
来源:牛客网
7月参加了百度提前批面试,参加了8轮面试,拿到了两个部门的Offer。今天刚刚做了人才特质测评,分享一下面试过程中的问题。由于时间过去太久,就不按照一面、二面的形式写了,只按照问题的范围做个简单的整理(可能会有遗漏)。
- Java
由于我很久不写Java了,面试官只问了一些比较简单的问题。
- HashMap内部原理
- StringBuilder、StringBuffer异同点和使用场景
- 泛型类、泛型接口、泛型方法的特点,写对应的demo代码。
c++部分问的比较多,从基础到深入的都有。
- new、malloc的区别
- inline、define的区别
- 多态的实现原理
- 虚析构函数(原理、使用)
- gcc里在main函数之前执行代码的方法
- delete this之后会发生什么?delete this的使用场景
- 如何实现只能创建在堆或者栈上的类
- vector、map的底层实现
- 模板偏特化、SFINAE
- volatile的原子性
- c++编译过程,如何查看编译过程中生成的中间文件
- c++程序内存布局、const变量存储在那个区域
- 名字修饰、如何查看符号表
- 引用和指针的区别
- 什么情况下出现重定义错误,如何避免
- extern关键字的用法
- 内存泄漏出现的场景和解决方法
- 智能指针的原理和使用,为什么要有weak_ptr
- 三次握手、四次挥手
- 浏览器输入网址的处理流程,arp协议处理流程
- time_wait出现的时机,过多时处理措施
- close_wait出现的时机
- 网络相关的shell命令
- 拥塞避免的详细实现
- 流量控制和可靠传输的实现原理,滑动窗口的原理
- UDP和TCP的区别
- keepalive、SO_REUSEADDR、SO_REUSEPORT
- 查看系统占用的命令
- epoll的实现,epoll处理过程中是否加锁,什么时候加锁
- epoll边缘触发和水平触发的区别
- 阻塞、非阻塞、同步、异步的特点
- 容器的实现,cgroup和namespace
- grep命令的使用,从日志中过滤耗时过长的日志
- cfs调度算法的特点和实现原理
- 硬连接、软连接的区别,inode的内容
- EAGAIN的含义和出现的场景
- 进程和线程的区别
- 线程进行同步的机制
- IPC机制
- pcb中的内容
- Linux系统中的锁
- HTTP的常用请求方法,option的作用
- HTTP的错误码及含义
- HTTP常用header
- HTTP报文格式,如何使用C++填充HTTP报文
- MySQL数据组织(索引段、回滚段、数据段, 页面、行记录等)
- innodb和MyISAM的区别
- hash索引和b+树索引的特点
- 索引失效条件、联合索引的最左匹配
- 辅助索引
- hash join的原理
- hash表的实现、冲突处理办法、rehash
- 红黑树的特点,和B+树的对比
- 排序算法的稳定性
- Kafka如何防止消息丢失
- Kafka和MQ的异同点
- 为什么要使用Kafka代替MQ
- Kafka使用过程中发现的问题
- 用过的Redis的数据类型及常用命令
- Redis常用数据类型的底层实现
- redis中set底层使用的hash是不是数据类型hash
- redis读取网络输入时,读取数据时是读到EAGIN为止吗?
- redis如何实现原子化的get、set
- redis持久化的方式,rdb持久化会在当前线程进行吗?会使用新的进程还是线程来做?
- RESTful的概念
- 两个数组求交集
- 图的BFS、DFS遍历
- demo说明会模板编程
- 字符串匹配(朴素匹配算法)
- 数字串分割成ip地址,返回所有可能的分割结果
- 利用快速排序的思想对链表进行排序
- 在一个流中随机取100个数
- 01字符流,随时可能停止,判断停止时对5取余的结果
设计秒杀系统,说明从前端到数据库如何设计;后端如何保证结果的一致性
除了上面的问题,还有一些智力题、项目相关以及个人自身相关的问题就不贴出来了。