写一下凉经---哔哩哔哩、跟谁学、作业帮、奇安信
我先说一下凉经总结吧
今年秋招总体来说确实不是那么容易,首先网上面试,很多不可控性,都懂得,但是我觉得企业的需求量肯定也是不小的,我也是一开始在摸索中前进,也是走了很多弯路,在实习之后才知道是怎么学习的,也不一定对,供大家参考吧,尤其是研一大三想从事开发(尤其是Java方向的非科班小白)可以参考一下:
哔哩哔哩
一面凉经:
- 自我介绍
- 对项目产生质疑,全程是你自己做的还是手敲别人的?然后问了分布式session?单点登录?SSO?springSecurity原理
- 你觉得你自己做的项目中你最擅长的是哪一部分
- 看我项目中有验证登录,问了sql注入问题,同时问了MyBatis的预编译,为什么要预编译,如何做解决预编译的方案,MyBATIS如何来解决预编译的,你觉得你自己设计如何改善预编译?
- 开始问关于HTTP在springBoot的相关注解还有区别,可以用什么代替,会出现什么问题
- tomcat启动,部署方式,如何选择自己的tomcat
- servlet与tomcat的比较,service的容器
- 问我知不知道spring监控器,监视所有 Spring Boot 微服务?什么是 CSRF 攻击?
- 手撕一个代码。如果想要一个key对应多个Value的话,怎么设计Map
- 继续深究,你这个复杂度有点高,能不能解决一下,之后我就用了NoHttp里的MultiValueMap
- 他问我,你知道NoHttp作用是什么呢?应用场景主要是在哪里?
- 创建一个对象HashMap<Integer,Integer> map=new HashMap<>先put(100),然后get(new Long(100))结果是多少?
- JDK的hashmap与Redis的hashmap的区别
- 转而问Redis,Redis为什么要使用,我回答了一个缓存的劣势,他就问,为啥缓存就不行,还有缓存的几种机制
- Redis是多线程还是单线程,我说了,Redis2.8之后支持多线程,问我为啥一开始是单线程,之后是多线程,又问那既然单线程能做的这么好,多线程不是浪费呢?
- 删除策略,手写LRU
- zset的存储过程,zset的底层数据结构是啥
- 什么是渐进式hash?动态字符串与C语言自带字符串的区别?
- Redis事务跟Mysql事务有什么区别
- Redis会不会变慢?怎么解决这个问题
- Redis的分布式锁还有他们的缺陷,如何改善
- 做题,忘记是什么题了,没做出来
- 反问
跟谁学
跟谁学是我投提前批,把我给挂了,然后正式批又捞起来的,还是挂了,只能证明自己太菜了,革命尚未成功,通知仍需努力
一面:
1.自我介绍
2.项目
--------------我觉得这两个真的是必须问的,然后项目就看自己了,
3.说一下TCP为什么要三次握手,我说了一个可以 阻⽌ 重复 历史连接的初始化,他问你能举个例子呢,我说了
4.又问如何对三次握手进行性能优化,FastOpen流程你知道呢?
5.为什么需要 TCP 协议?TCP协议与UDP协议的区别?TCP 应该如何 Socket 编程?
6.你知道拥塞控制呢?说一下
7.粘包的原因以及解决方案
8.看我项目用的token,就问token和cookie实现的区别
9.Session机制?如何跟踪session?
10.手撕代码,层级遍历二叉树
11.问我知道map不?就开始了map的两万五千里,从数据结构到扩容,从put到get,从hash到比较其他map的优劣势,还有源码中每个数据为什么是这个数的原因
12.反问+公司介绍
美的
一面:
就全程问项目,问研究生期间课题,当时产生了怀疑,我是不是面的java,一点java也不问
作业帮
一面:
1.自我介绍
2.项目
3.手撕代码三道题。比较简单,让我写链表反转--》链表成环---》链表成环之后交点问题
4.问我LInkedList知道不?你说一下他的底层,妞儿的list和set、map区别是什么,他们分别使用在什么场合?
5.map有哪几种,我说了三种,问我还知道其他的不,我说了TreeMap,就问我他的底层,我当时确实记不太清了,我只记得有个红黑树,
6.然后开始问红黑树的优势,还有特点,说了旋转与着色,问我旋转与着色的实现过程
7.Hashmap的线程问题,如何解决,线程安全的Map,hashmap中为什么要用异或运算符?
8.场景题,插入一万个元素之后会不会扩容,扩容扩多少
9.JDK1.7和1.8中hashmap的区别?在1.7和1.8扩容有什么区别,我说了1.8是先插入后扩容,又问我为啥要先插入呢,先扩容不是更好?
10.hashmap扩容过程,开始问我,那你知道ConrrentHashMap的扩容过程呢?
11.ConrrentHashMap如何保证线程安全?他是怎么加锁的?hashmap中有锁呢?
12.就开始问我你知道Arraylist的接口有哪几种?我咋知道,我说不知道
13.什么是泛型?编译器如何处理泛型,我说了类型擦除,又问我类型擦除的过程?List<?>和原始类型List<object>之间的区别?
14.异常的场景题,trycatch的带return返回顺序,出了四个场景
15.反问</object>
二面:
1.自我介绍
2.项目
3.手撕代码---0-1背包问题
4.问我动态规划你了解多少,然后问我你研究生期间没有学过数据结构,你是怎么学的?有什么学习方法呢?
5.问我项目中的设备管理系统怎么做的,如何存储的,如果出现调度失误,你是通过什么决策来解决的
6.事务中的回滚原理是什么
7.那你回到undolog呢?说一下
8.JDBC连接诶数据库过程,那你知道prestatement与statement的区别呢?
9.trycatchfinally的机制问题
10.final、finally、finalize 的区别
11.Object类有哪些方法,你知道为什么Object里有wait等线程方法呢?
12.你说说sleep() ⽅法和 wait() ⽅法区别,中断线程方法
13.创建线程方式有哪些?实现Runnable接⼝和Callable接⼝的区别,你觉得这两种那种更有优势?说说你选择的原因
14.你说一下原子类
15.你并发看过什么书?有没有实战过?
16.springboot的启动流程
17.Spring Boot 的配置文件有哪几种格式?JavaConfig相对于其他两种的优点有什么?Spring Boot配置加载顺序?
18.Spring Boot打成的jar和普通的jar有什么区别?如何打包 Spring Boot 项目?
19.Spring Boot 需要独立的容器运行吗
20.反问
奇安信
hr说一天结束所有流程,结果二面结束。等了好久,晚上七点说面试官今天有点累了,就结束了,我就在想你不早说,第二天hr面直接拒了,其实后来也觉得面试官挺辛苦的,在这里对自己的冲动行为说一句抱歉
一面:
1.自我介绍
2.项目
3.你学习java多久了?
4.因为看我学的不就就问了几个简单点的,java的优势,他就问我为啥⽀持⽹络编程
5.java的面对对象特点并举例说明
6.深拷贝与浅拷贝,浅拷贝的方法有哪些
7.创建对象的方式,我说了一种反射方式,他就问我你知道这种方式的缺陷呢?
8.你知道反射定义呢?反射什么时候会失效,你觉得private抵挡不住反射,那为什么还要用封装?
9.反射能够避免性能优化问题呢?
10.你知道mysql的隔离级别呢?
11.反问
二面:
1.自我介绍
2.他对我本科获得的挑战杯国奖很感兴趣,就问了用了什么技术,我的车联通信怎么做的,你如何实现远程监控,如何做到事故判断
3.项目,问我sso,问我你的时序数据库,问我权限登录的失效时间,问我如何获得第三方权限
HR面:
罢面,自己太年轻了,