秋招面经
在秋招过程中面过美团,中信银行,乔治科技(运维安全管理“独角兽”),三星,同花顺等十几家公司,拿到了5个offer,最后选择了一家自己比较满意的岗位和公司。现在我将我自己的面试总结分享给大家:
计算机网络:
- 计算机网络的七层模型、五层模型、四层模型。
- 每层模型的功能是什么(主要是TCP/IP模型,也不一定会问其他两种模型),各层之间的协议有哪些(ARP协议、HTTP协议、IP协议、TCP、UDP等,包括协议是干什么用的)。
- HTTP与HTTPS的区别。
- Get与Post的区别。
- 三次握手。
- 四次挥手。
- Cookie和session的区别。
- TCP、UDP的区别。
- IPV4、IPV6的区别。
- http请求页面的流程(浏览器输入url后发生了什么)。
- http报文结构。
- 常见的状态码即意义。
1开头-表示继续处理的信息
2开头-表示响应成功
3开头-表示重定向
4开头-表示客服端请求错误
5开头-表示服务端错误
还包括常见的200、302、400、404、500等表示的含义
操作系统:
- 操作系统常见的调度算法。
- 堆与栈的一些问题。
- 线程安全问题的产生和解决。
- 什么是死锁,死锁产生的原因,处理死锁的基本方法。。
- 进程与线程的区别。
- 程序编译与链接。
- 阻塞/非阻塞,同步/异步,并行/并发直接的区别。
数据库:
Mysql:
- 数据库的引擎。
MyISAM、InnoDB的区别 - 数据库索引。
- 数据库的事务(原子性、一致性、隔离性、持久性)。
事务是什么,事务有什么作用 - 悲观锁(共享锁、排它锁、行锁、表锁)、乐观锁。
- 数据库主从模式
- 数据库简单的增删查改
Redis:
8. Redis的数据结构
9. Redis的优点
10. 在项目中为什么要用Redis
Linux:
- Linux简单的命令。
- 创建目录(mkdir),创建文件(touch)
- 删除文件(rm),复制文件(cp),移动文件(mv)
- 查看文件(cat、vi),查看文件目录(tree)
- 修改文件权限(chmod)
- 解压,压缩文件(tar)
- 查看进程(ps),杀死进程(kill)
- vi/vim的基本命令。
- 软连接与硬链接
算法:
手写排序(冒泡排序,堆排序、归并排序、快排、树的遍历,链表,栈等)