面经整理
- 三次握手四次挥手的状态
- TCP和UDP的区别
- TCP如何保证可靠传输
- 滑动窗口
- IO复用,epoll
- 算法:二叉树的左视图
- 多线程,线程进程,如何保证线程安全,线程池
- 进程和线程介绍;
- 进程或线程死锁介绍;
- 了解活锁吗?(没听过)
- 操作系统中的堆和栈;
- 用过哪些锁,介绍一下读写锁、
- 三次握手四次挥手,为什么是四次;
- TCP和UDP区别;
- TCP和HTTP分别在那一层;
- TCP如何保证可靠传输;
- TCP拥塞协议中的慢重传算法;
- HTTP介绍一下;
- HTTP2.0了解吗?(不大清楚)
- HTTP1.1中的参数keepalive作用;
- 事务的四大特性,并具体介绍一下;
- 脏读和幻读发生场景与区别;
- 介绍一下数据库事务;
- 讲一下B+树,为什么使用B+树;
- 讲一下主键;
- LeetCode283 移动零
每次把第一个非零的往前换 - 给定链表,确定中间数;
- 线程池怎么实现的?
- EPOLL写大文件怎么实现
- EPOLL读事件,读缓冲不够用怎么搞?
- 海量数据斐波那契
- 给一个只有数字和英文的文本,怎么压缩这个文本?
- 需要用文件存储键值对数据,都是字符串类型,要考虑查询速率,怎么存储?
- 左***上一发子弹,六个人,一人一枪,最后一个人死亡的概率。
- 大数问题中的topK问题
- 给整数数组做数字次数统计
- linux杀死进程的方式、查看TCP连接(netstat命令)
- 阻塞io和非阻塞io
- 线程与进程
- 服务端并发模型
- ping用到的协议
- 三次握手四次挥手
- time_wait
- 客户端或服务端崩了,如何结束连接,对方如何感知
- http请求包结构
- 你对于i/o 模型的了解
- 你了解的设计模式都有哪些?
- 单例模式(手撕代码)
- linux cat echo
- 杀掉名字里有 “abc”的线程 一条命令
- 进程线程间通信,进程线程的区别
- 手撕代码 3sum