前言
首先自我介绍一下,本人末流211毕业,去年实习,今年算是正式找工作,秋招的时候承蒙大厂不嫌弃有惊无险的拿了几个offer,下面我会从头开始复盘我的秋招经历,从怎么投简历到面试的小技巧,以及我会把我的复盘资料和面试笔记分享给大家,满满的干货都在下面分享!
京东
- 京东一面是电话+在线代码,二面纯电话面,HR面试没有做记录,时间比较靠后了,有些怠慢。
2020年9月2日京东一面
- 自我介绍
- 简单聊了下简历的内容
- 做个算法题:判断两个字符串是否存在映射关系(1对1映射即可)
- 代码健壮性
- 为何抛出异常而不是返回false
- HashMap的数据结构
- 解决哈希冲突的办法
- 最坏的哈希表时间复杂度
- 红黑树结构的最差哈希表时间复杂度
- 红黑树为什么可以查找是logn
- 普通搜索树最差时间复杂度,形状什么样
- 算法题:给定一个集合,求集合的所有子集
- 对流处理有什么理解?
- 反问
2020年9月2日京东二面
- 自我介绍
- 实习相关内容
- 讲一个你觉得最有难度的项目,为什么
- 规则引擎
- 实验室项目,状态模式,反射
- 给一个字符串,怎么反射到类
- 如何调用方法
- 获得的构造器对象和直接newInstance有什么区别
- 多线程用过哪些
- Callable怎么用
- 线程池有哪些,如果执行任务,如何获取执行返回值
- 数据库事务的理解,acid
- 详细说原子性和隔离性
- 不可重复读和幻读区别
- 输入www.baidu.com发生什么
- 物理层是怎么发送数据到指定mac地址设备的?
- 载波监听多路访问
- 让你设计一个抢票系统你需要哪些设计?
- 限流怎么做?
- 服务降级是降级什么?
- 火车票系统和京东秒杀有什么区别
- 反问
小米
- 小米一共两面,通过牛客视频面试,没有HR,直接发的意向。
2020年8月19日小米一面(50min左右)
- 自我介绍
- 商业互吹,和我讲大数据未来很有潜力,5G什么的,巴拉巴拉
- 设计一下LRU算法,用什么数据结构,怎么实现?(不用coding)
- 讲一下什么叫索引回表
- volatile和原子锁你了解的讲一下(煎饼果子来一套)
- 公平锁和非公平锁是怎么实现的?
- 线程池说一下你了解的
- SpringMVC处理请求url的过程
- 聊聊Dubbo
- 平常如何学习?
- 算法1:二叉树的序列化与反序列化(coding)
- 算法2:判断二叉树的平衡性(coding)
- 聊天,聊一聊阿里,问我阿里健康是什么部门,是不是属于蚂蚁金服?难道我长着一张财富自由的脸?
- 反问
2020年8月20日小米二面(1h左右)
- 自我介绍
- 平时开发中有用过什么设计模式?
- 讲一下策略模式
- Spring中应该用了很多设计模式吧,说说它们在哪里用了什么模式
- 说一下AOP中是怎么运用动态代理的?
- MySQL的索引结构你了解哪些?
- 为什么用B+树?
- 你了解MySQL的事务隔离级别么?
- 如何解决幻读
- 如何实现可重复读
- 说出一个数据库死锁的场景
- 讲一下你理解的乐观锁和悲观锁
- Java中如何实现乐观锁的?
- Java哪些地方使用了CAS
- GC垃圾回收器你了解哪个
- 讲一下CMS的垃圾回收机制
- CMS怎么解决内存碎片的?
- 如果GC日志中发现频繁fullGC,可能是什么导致的?怎么解决?
- TCP四次挥手为什么,发生了什么?
- Redis如何解决缓存一致性
- 更新数据库后,失效redis的key如果失败了怎么办?
- JVM参数调优(回绝,不会)
- 算法1:一个升序数组,找出其中绝对值最小的数,要求时间复杂度O(logn)(coding,并且过测试点)
- 算法2:给定一个单向链表,向右循环旋转k次,返回新的链表头,要求时间复杂度O(n)(coding,并过测试点)
- 反问
下面分享我的秋招面试题以及答案总结以及我的面试笔记和复习资料,篇章包括了很多知识点,其中包括了有基础知识、Java集合、JVM、多线程并发、spring原理、微服务、Netty 与RPC 、Kafka、日记、设计模式、Java算法、数据库、Zookeeper、分布式缓存、数据结构等等。需要的朋友点击这里备注csdn即可获取,资料都是我自己的面试真题和面试笔记,希望能帮助到你们!
百度
- 百度提前批面了两面,但是很遗憾挂掉了,虽然面试中自我感觉还可以,莫名其妙死掉了。秋招整体还算顺利,参加面试的公司不多,我是百度得不到的男人。
2020年8月18日百度一面(1h左右)
- 自我介绍
- 说说你的项目中你印象最深刻的一个,是怎么做的
- redis和数据库同步问题,请求之后需要同时更新数据库和缓存,会可能出现什么问题?怎么解决?(先更新数据库,再失效缓存)
- 除了手动删除缓存,还有什么办法删除?(expire)
- redis分布式锁
- setnx和expire是两个操作,可以直接发两个命令么?(不可以,直接用set命令,或者用redis事务)
数据库MySQL存储引擎了解么,说说你常用的,他们的区别
Innodb支持行级锁,但是有的时候会导致全表锁,什么时候?为什么? - 索引了解么
- 一个表,a、b、c三个字段,ab有联合索引:
- select a from t where b = xxx,走索引么?为什么?
- select a from t where b = xxx and a = xxx,走索引么,为什么?
- 假如有查询 select a from t where b = xxx order by c,你如何建立索引最高效?为什么?
- select、where、orderby的执行顺序是什么?
- 一个salary表,三个字段:p_name(员工姓名), dept(员工部门), salary(员工薪水)
- 查询平均薪水大于2000的部门中的最高工资是多少,写sql
- 不使用子查询,还是刚才的问题,写sql(用 having)
- 现在要多查询一个字段,p_name,怎么做,写sql(没写出来,但是面试官的思路也只是子查询,然后union原表,根据dept和salary相等来判断p_name,我解释说我觉得不能保证唯一性,所以没说,还以为有啥高端操作,但是要知道直接加p_name,会导致聚合报错,但是强行加入聚合字段会导致聚合逻辑出错这一点)
- Java中HashMap底层数据结构
- put操作会发生什么?(捋着源码说一下即可:哈希、哈希冲突、如何插链表、转红黑树条件、扩容)
- 出现什么情况会导致HashMap退化?(频繁hash冲突)
- 什么情况会导致频繁Hash冲突(解释了HashMap中Hash算法的高低异或避免冲突,说了自定义类没有重写HashCode方法,或者HashCode方法重写的不好,会导致频繁冲突)
- HashMap如何遍历?顺序可以保持么?
- LinkedHashMap如何保持插入顺序的?
- TreeMap怎么用?如何自定义排序规则?
- 刚才三个Map线程安全么?如果想用安全的Map怎么办?
- ConcurrentHashMap讲一下你的了解(1.7分段加锁、1.8节点加锁、共享扩容等)
- 说一下了解的java的锁
- synchronized原理
- 锁升级
- ObjectMonitor
- juc的AQS
- volatile内存屏障
- 算法:二分查找(这个福利算法。。。)
- 反问
2020年8月25日百度二面(45min左右)
- 问一下实习经历啥的
- 介绍滴滴项目
- SpringBoot和SpringMVC的区别
- SpringBoot的核心注解?如何实现?
- SpringBoot的配置文件是什么?
- appliction.properties和application.yml的区别
- 聊分哪几个模块,用什么技术栈,我负责哪个模块
- MySQL事务的概念,事务的特性
- 事务的隔离级别
- MySQL建表语句,表名大小写敏感么?
- 除了Innodb还了解什么存储引擎
- count(*),Innodb快还是MyISam快
- SQL:
- 班主任表(班主任信息)、学生表(学生信息、班主任id)、成绩表(学生id、课程类型、成绩)
- 查询每个班主任所带学生数量与班主任信息
- 查询各个班级语文成绩>90的学生人数>10的班主任信息(case then)
- Redis分布式锁
- Redis数据结构
- Redis分布式锁用在项目中的哪些地方?为什么用?
- 字节中用了Redis哪种数据结构?
- 了解什么排序算法?
- 希尔排序和插入排序的区别?
- 如果数据量大,你选择哪种排序;如果数据量小,你选择哪种排序?为什么?
- 线上服务有问题,怎么定位?怎么解决?
- 平时周末有什么爱好?
- 最近看什么书?
- 刚毕业未来三年,对自己的职业有什么规划?
总结
最后为大家准备了Java架构学习资料,学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。有需要的朋友点击这里备注csdn,自行下载即可!,另外提醒一点,充分复习,是消除你紧张的心理状态的关键,但你复习充分了,自然面试过程中就要有底气得多。
还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书一起免费分享给大家!