头图

一位朋友秋招面试了17家公司(都是中小公司或者银行),Java 后端岗。下面是他的个人情况、求职经验已经这17家公司的面经。

个人情况和求职经验

其实现在是挺后悔大学没有好好的学习的,因为基本上都会提到一些成绩相关的事情,每次填成绩都只能填个50%(实际上更低),并且还有挂科,没有奖学金,没有学生经历,没有竞赛经历,没有实习经历,简历上真的是空空如也,自我介绍的时候也是一分多钟就全部讲完了(有时候挺尴尬的)。

对于中小厂,其实在八股文方面都是很常见的内容,背好JavaGuide,做好每次面试之后的复盘,然后多面试,这样就能应付大部分的八股了。

然后就是项目这一块确实是需要认真对待的,起码项目中的每一个细节你都要知道,而且有一些面试官会问你项目中的难点和亮点(每次被问到说实话我都没啥东西说,我觉得没啥难点),所以一定要提前准备。

对于整个找工作的流程的话,首先大二下开始网上的自学,大三某天机缘巧合下看到了 JavaGuide(那时候刚开始背八股文),然后就发现真好用,后来也秒加入了知识星球

秋招大概是八月份弄到十月底,总共投了上百分建立,笔试几十个,面试十几个,太菜了,项目准备太不充分了,以至于只有一个小厂的offer,给我拒绝了。

然后春招又换了guide哥推荐的那个小说精品屋(自己没做啥优化,所以也没啥亮点),(寒假本来想着一定狠狠刷算法题,然后又是不了了之)三月份开始投简历,没刷多算法的恶果出来了,很多中厂的中等笔试题都过不了了,倒在了笔试上。到目前为止投了大概几十份简历吧,面试的也是十几个。最后感觉进厂没有机会,就瞄准银行投递,最后也是拿到银行的offer。

最后,我其实是一个很懒散的人,大学宿舍里没有学习氛围导致成为了一个摆子,找工作最早的踌躇满志进大厂,现在这个结果不过也不算坏。现在就是专心搞毕设写论文毕业喽,最后这几个星期放松一下, 5.12一定要狠狠的通宵玩塞尔达。

希望大家都加油,都能努力找到一个让自己满意的工作

面经

大多数都只记录了一面,二面之后由于一般是hr面或者二面答的都不太好就没有心情作记录了。

万得

  1. 为什么要用mybatis不直接用sql
  2. jwt的组成?为什么要用jwt?
  3. 排序算法的稳定性
  4. hashmap为什么是两倍扩容
  5. java的锁的知识你了解吗?悲观锁乐观锁的实现?cas是什么?
  6. synchronized底层原理?
  7. 为什么要用restful风格?

工行软开提前批

太看重学历和成绩, 群里70%的985,我成绩差有挂科给一顿喷。

  1. 解释一下二分查找
  2. 你是怎么学mysql的
  3. 然后就是闲聊和喷成绩,体验很差。

同花顺

  1. jvm内存结构,垃圾回收策略,垃圾回收算法
  2. 排序算法,时间复杂度
  3. mysql索引你知道吗?
  4. 项目如何分表?
  5. 数据库的隔离级别?
  6. mysql锁?

富士通南大软件

  1. 计算机网络七层结构,五层结构?
  2. restful具体是干什么的?
  3. jwt从cookie到jwt解决了什么,cookie是干什么的。
  4. 还有些不记得了

浙商银行

  1. mybatis # 和 $ 区别
  2. mybatis 一二级缓存
  3. @autowired和@resource区别
  4. springboot自动配置原理
  5. 数据库隔离级别,可重复读解决幻读怎么做的?数据库本身的mvcc

招银网络

一面:

  1. spring的自动装配过程
  2. spring中的拦截器和过滤器区别?
  3. 接口和抽象类的比较
  4. springboot比spring好在哪里
  5. mybatis好在哪里

二面:

  1. 设计一个考核系统,数据库如何设计(这种题之前真不会,乱答一通)
  2. mybatis String如何映射到varchar
  3. mybatis 比如实体类中是string,数据库中是integer会怎么样
  4. 设计一个权限系统

面试官建议还需要多多学习

卓望数码

  1. 解释一下泛型的作用,泛型的桥方法?泛型擦除是什么?
  2. ArrayList和LinkedList的区别?ArrayList的扩容方式?
  3. 为什么不推荐使用内置线程池创建方式?
  4. 什么是cas?
  5. Mysql 索引设置注意点?索引类型?索引失效场景?
  6. redis 持久化方式?
  7. 高可用方面你知道吗?
  8. Spring常用的注解?两种注入方式的区别?SpringBootApplication这个注解的解释?
  9. {} 和 ${}的区别?

深圳同为

  1. 你用了ThreadLocal 为什么要用这个,其他线程可以获取到这个信息吗?要怎么获取到
  2. 你使用了策略模式,为什么不用模板方法模式,这两个有什么区别?设计模式需要看看吧
  3. 你系统中有什么难点?
  4. 为什么要用jwt?有什么优点?
  5. Java的设计原则是什么?为什么要用Java的设计原则
  6. mysql如何查询慢sql?为什么会有慢sql?数据库的优化手段?
  7. 如何踢人下线?使用jwt这种
  8. 线程的状态,运行xxxx这种
  9. http状态码?
  10. 各个隔离级别,能防止什么?
  11. hashmap为什么使用的是红黑树不是其他树
  12. synchronized的lock的区别?
  13. Spring如何管理事务
  14. Spring的几个事务传播级别

顺丰

  1. 如何进行数据库性能的分析,如何排查慢sql
  2. 数据库中你的小说时怎么存储的
  3. 数据量很大的数据放到redis中,需要做什么处理比较好
  4. Java中的锁?
  5. Mybatis中resultmap的继承
  6. MybatisPlus的底层原理
  7. HashMap和ConcurrentHashmap的区别
  8. 双亲委派机制,和类加载器,双亲委派机制的源码看看?(问比较多次了)
  9. 你用过Juc包下的哪些东西?
  10. 缓存雪崩,缓存击穿,缓存穿透,如何解决?击穿和穿透的本质区别是什么
  11. 聚集索引,覆盖索引
  12. SpringBoot的自动装配原理。

上海银行

  1. 项目中怎么样使用策略模式实现用户认证
  2. 主键索引和唯一索引可以存储null值吗
  3. 判断链表有环
  4. synchronized锁的升级过程
  5. concurrenthashmap和hashmap
  6. 索引失效的场景
  7. in()一定会使用到索引吗
  8. 事务的传播级别
  9. 项目中你做了什么优化?这个可以好好讲讲
  10. mysql的缓存

用友kpi

  1. Hashmap的底层原理,有哪些遍历方式?
  2. 你用过SpringCloud吗?你用过哪些RPC
  3. 包装类的底层需要去看看, Integer(100)和Long(100)相等吗?
  4. 事务的隔离级别
  5. Spring有什么优点
  6. concurrenthashmap的原理

上海华测导航技术

  1. 介绍
  2. rabbitmq做一些什么
  3. redis数据类型,具体的用法
  4. 代理模式是什么,代理模式的具体使用场景
  5. 你理解的hashmap
  6. Spring的注解
  7. Rabbitmq高可用
  8. 所以说进程和线程的区别?
  9. 线程池,哪些线程池,有哪些拒绝策略
  10. 各种设计模式
  11. autowired和resource的区别

同花顺

  1. Tcp头部组成,tcp滑动窗口
  2. 数据量很大的情况下,数据库要怎么加快查询呢
  3. 线程池,默认的几种队列,Java的几个默认线程池
  4. RESTful风格?jwt的具体说说?
  5. Spring中用了那些设计模式,具体用在什么地方
  6. 单例模式的使用方式?
  7. 怎么样使ArrayList线程安全呢?
  8. 索引的设置有什么要求呢?
  9. 锁的升级过程?
  10. 说一下自旋锁?
  11. mybatisplus分页插件实现原理,或者说mybatisplus的底层原理
  12. 工厂模式是用来干嘛的?(设计模式问的好多,真得看看)
  13. servlet是用来干嘛的? SpringMVC主要是干什么事情的?
  14. Spring的单例模式使用在哪里?
  15. JVM垃圾回收机制?如何判断需要回收?

交通银行

  1. 你对设计模式的理解
  2. 创建线程的方式 , start run 哪个是启动一个线程 线程池的优点是什么
  3. 数据库表优化的点
  4. 索引失效的点
  5. 谈谈你对软件工程的理解,结合你所做的项目。

思维爆炸

  1. rabbitmq的作用
  2. sql如何进行一个优化呢
  3. mybatis的一二级缓存

契约锁

  1. Jvm内存结构
  2. 项目如何实现策略模式的认证
  3. 线程池,过期时间的具体作用
  4. 如何判断一个对线是否该被回收
  5. 索引失效
  6. 如何优化一个sql
  7. hash索引和b+数索引有什么区别
  8. 你理解的索引是什么?
  9. 覆盖索引是怎么样的
  10. SpringBoot的自动装配原理。

永赢金租

  1. 说一下Integer包装类 两个包装类用== 比较会怎么样
  2. redis的持久化
  3. ThreadLocal的底层需要了解一下,底层的数据结构
  4. redis持久化
  5. hashmap底层原理
  6. Spring的数据传播行为
  7. 如果项目在业务进行到一半宕机了你该怎么做?
  8. 如何防止小说被爬

参考答案

由于问题太多,我这里就不贴参考答案了,需要参考答案的朋友可以在下面 2 个资料中找到:


JavaGuide
9k 声望1.9k 粉丝

你好,我是 Guide,开源项目 JavaGuide 作者。