前言
为了方便同学们更好的面试复习,小编把各类面试题给汇总了一下,每道题都是经过小编筛选后觉得需要掌握的,此次整理包括 Java、操作系统、计算机网络、数据库、算法等。并且还为大家整理好了答案哦!。
面试必问题(答案在结尾):
JAVA相关
- ArrayList和LinkedList的区别,各适合什么场景?
- HashMap解决哈希冲突除了链地址法,还有什么方法?
- 怎么安全删除List中的元素?for循环中删除一定会报错吗?
- euqals和hashCode
- HashMap 与 ConcurrentHashMap 有什么区别
- HashMap 插入元素的过程
- interface 是什么?用 interface 有什么好处
- Java 有内存泄露吗
- ArrayList 与 LinkedList 有什么区别
- volatile 关键字有什么作用
- synchronized 和 reentrantlock 的区别
- 有了解过 CAS 吗
- 多个线程同时向数据库中进行写入操作,怎么处理,如果是分布式的多个线程呢?
- Spring 中用到了几种设计模式
- 使用工厂模式有什么好处
操作系统
- 进程间通信
- 进程、线程区别
- 进程调度算法
- 协程是什么
- IO多路复用
- 一个exe文件包含什么内容
- 虚拟内存
- 零拷贝
- 栈和堆的区别
计算机网络
- 三次握手、四次挥手
- TCP如何保证通信的可靠性
- 等多久对触发超时重传
- 具体讲讲拥塞控制
- time wait的2MSL有什么用
- time wait状态过多有什么问题
- 用过Linux吗,网络是怎么配置的,讲讲DHCP
- 输入URL后发生了什么
- HTTP和HTTP的区别
- Session和Cookie的区别
- Get和Post的区别
- ping用的什么协议,具体讲讲ICMP
- TCP和UDP的区别
- 粘包问题怎么解决
数据库
- 用过什么索引
- 讲讲最左前缀原则
- 聚簇索引和非聚簇索引的区别
- 索引采用的数据结构
- InnoDB和Myisam的区别
- 事务的特性,有哪些隔离级别
算法
- 关键词分割字符串
- Top K问题
- 判断是否是镜像二叉树
- 使链表偶数位结点在前,奇数位结点在后(如
1 -> 2 -> 3 -> 4 -> 5
变成2 -> 4 -> 1 -> 3 -> 5
) - 跳台阶
- 最小编辑距离
- 判断4个数字是否满足24点
- 只由1、0、-1组成的数组,使全部的1在数组最前、全部的-1在数组最后(在原数组上修改)
- 反转链表
- 为什么二分查找时间复杂度是 log2nlog_2nlog2n,怎么算的
- 合并能合并的数组,如
[[1, 2], [4, 6], [5, 8]]
合并为[[1, 2], [4, 8]]
- 判断int32的数字是否是回文数(1. 考虑负数; 2. 考虑溢出问题)
- 1~n中k出现了几次(n为正整数,k为[0, 9])(两种题型,如题型1:55中5只算出现了一次;题型2:55中5出现了2次)
总结
小编其实觉得面试时实力与运气五五开。
一次面试代表不了什么,但是你在这次面试中查漏补缺了多少以及心理素质提升了多少会影响你的下一次面试。借用博尔赫斯的一句话: “生活是苦难的,我又划着我的断浆出发了。”
小编也把大佬的面试题和答案整理好啦:戳这里免费领取,暗号:CSDN,还有更多大厂面试专题资料和视频哦!
写文不易,觉得有帮助还请关注支持一下小编,也欢迎各位大佬提出问题,感谢!!!