记录一下秋招的第一家面试 计算机网络java基础jvmmysqlredis算法 计算机网络 1. https的加密过程(有两次加密),加密算法是什么? 2. 输入一个请求以后经过每一层的具体实现?每一层的数据报头具体含有哪些信息? 3. 状态码 400 4. session和cookie的实现,session与token的区别?(面试官说有四点区别) 5. 与http缓存有关的参数信息(cacheControl...) 6. http请求的组成部分【head + body +line】 java基础 1. HashMap的实现原理?如果继承hashMap,需要重写哪些方法? 可以有哪些优化? Hash算法? 2. 线程池的基本参数,运行过程, run和start在运行过程中的本质区别? 3. String/Stringbuffer/StringBuilder - String 是怎么设计成不可变类型的? - StringBuffer与StringBuilder的区别 - String在内存空间的存储 jvm 1. 如何判断对象能否回收? 2. GC算法 3. 方法区里存放了哪些对象?会造成内存泄露吗? mysql 1. 常用的几种引擎与区别 2. 主键索引与普通索引的查找数据的过程 3. 乐观锁和悲观锁的实现方式 4. 事务的底层实现原理 5. 日志 6. 分布式事务(两阶段/三阶段/MQ) 7. 悲观锁和乐观锁,**for update**的作用 redis 1. redis的数据结构有什么优化 2. Redis是单线程的?哪些部分是单线程的? 3. Redis为什么比mysql快?内存操作为什么比磁盘操作快? 算法 有序数组去重,时间复杂度和空间复杂度最优。 > 面试结果凉凉,多读读书吧。