秋招面经全记录
很感谢以下公司给了我这个无实习的双非本面试机会,由于过了较久实在想不起来每次面试对应问了什么问题,所以本帖是以面试知识点组织的。(面试情况+面试知识点)
面试情况部分:
CVTE 一面 MySQL底层问的非常深,答的不好。 挂
奇安信 一面 项目方面的问题没答好。 挂
东方财富 一面 手撕代码有BUG, 回答问题也没什么条理。 挂
土巴兔 一面 + 二面(HR) offer base深圳,薪资太低 拒
同程艺龙 一面 + 二面(无HR面) OC 成都BU,薪资不太行。 拒
便利蜂 一面 + 二面 + HR面 offer 薪资非常香,但风评不好。拒
酷家乐 一面 + 二面 + 三面 offer 面试体验非常好,HR很有耐心,公司风评也挺好。签
水滴 一面 + 二面 + HR面 + 加面 offer 薪资不错,平台潜力也不错,但觉得酷家乐更香。 拒
58同城 一面 + 二面 + HR面 目前无消息,估计没了。
uCloud 一面 + 二面 + HR面(11月6号) HR面的时候说已经签了,应该不会发offer了。
面试知识点部分:
1、数据库
- 各种Join及它们之间的区别?
- 一条SQL语句的执行过程?
- 什么是事务?
- 事务的ACID特性?
- ACID特性底层是如何实现的?
- redo log和undo log?
- 并发事务带来的问题?
- 事务的隔离级别?
- 隔离级别的底层实现?
- MVCC、ReadView、行级锁、表级锁、间隙锁?
- 各种存储引擎的特性对比?
- 聚簇索引和非聚簇索引?
- 覆盖索引?
- 索引下推?(给场景,问回表多少条)
- 索引的底层数据结构?
- B+树索引和Hash索引?
- explain的rows是如何计算的?
- MySQL如何选择索引?
- 给场景让写SQL语句。
- 给场景让设计数据库表。
2、计算机网络
- 七层模型、四层模型?
- TCP、UDP区别及适用场景?
- 三次握手四次挥手,为什么三次为什么四次?
- 如何理解TCP的连接?
- 滑动窗口机制?
- UDP打洞?
- ping的原理?
- ping能做端口扫描吗?
- 浏览器输入一个URL按下回车到看到页面的全过程?
- HTTP状态码?
- HTTPs的通信过程?
- 给一个前端页面,问会发几次请求?
- 一个页面有大量资源需要发很多次请求,怎么处理?
3、Java
- 基本数据类型?
- object的方法?
- ==与equals?
- hashCode?
- 重载与重写?
- 集合体系?(这块问的非常多也问的非常细,各种List、Map、Set一定要看源码!)
- Synchronized?
- volatile?
- AQS?
- 线程池的核心参数?
- 阻塞队列底层?
- 拒绝策略?
- 线程池的执行流程?
- sleep与wait?
- 运行时数据区?会OOM的区域?
- 讲一下垃圾回收?(垃圾判定->垃圾回收算法->垃圾收集器)
- 调优会不会?
- STW?
- ZGC?
- new 一个对象虚拟机会做些什么?(类加载 + 指针碰撞/空闲列表)
4、Redis
- Redis基本数据结构及使用场景?
- Redis基本数据结构底层数据结构?
- 跳表对比红黑树?为什么不用红黑树呢?
- 渐进式Rehash是如何做的?
- Redis线程模型?
- Redis数据持久化?
- 过期策略?
- 缓存雪崩?缓存穿透?缓存击穿?如何解决?
- 缓存预热怎么做?
- 缓存与数据库数据一致性?
- 主从复制?
- 哨兵?
- 故障转移的详细过程?
- 集群?
- 槽位迁移的详细过程?
- Redis如何存对象?
- Redis分布式锁?
5、数据结构与算法
- 一般都是不问知识点直接手撕代码,但经典的排序算法有时候会被问。
- 面试时手撕的题一般相对笔试题简单些,LeetCode hot100 + 剑指offer的原题或者变种居多。
6、框架相关
SpringMVC的请求处理流程?
IOC、AOP、涉及到的设计模式?
循环依赖?
SpringBoot核心注解?
SpringBoot自动配置原理?
7、总结
- 现在面试官基本也都知道靠着常见的问题没法区分,所以问问题会问的相对灵活。以上这些问题虽然会问,但我觉得场景题、设计题、智力题、开放性问题越来越被面试官青睐,这部分你的表现会更大程度上决定你是否通过。还有就是算法题了,笔试考算法,面试还是会让手撕算法,算法一定要重视!算法一定要重视!算法一定要重视!