小小的总结一下2021春招情况
这次春招其实准备的不是特别充分,从2021年1月份什么也不会到3月份写出来一个还不错的小项目,投递了很多的简历,也笔试面试了不少公司,被华为机考虐过,被ThoughtWorks的结对编程吓到过,被面试官问到自闭过,然后现在有了一点小小的成绩,还算是比较开心。(拿到了几个offer啦嘿嘿嘿,因为保密原因就不说是哪些公司了)
总结一些笔试经验
- 笔试选填题
一定要多刷牛客网的题库。 - 编程题
华为机考是真的有难度,三道编程题,只写出来了一道,第二道卡在了调试输出上,哎,其实多个半小时也能写出来,还是平时不够熟练。
ACM形式的编程题输入输出流部分很重要,然后是Java常用的函数一定要记住,因为不能使用本地IDE,记不住很凉凉。
刷力扣也是提升编程思维的好方法,多刷多总结,做题能力慢慢会好起来的。 - 简答题
多刷题,多复盘,多总结,多写博客(hhh)
面试
被问得最频繁的问题
-
转发和重定向的区别
-
servlet原理
-
SpringMVC 工作原理
-
说一下自己对 IOC 、AOP 的理解
-
Spring 中用到了那些设计模式,讲一下自己对于这些设计模式的理解
-
Spring 事务中的隔离级别
-
Spring 事务中的事务传播行为**
-
String 为什么是不可变的?String为啥要设计为不可变的?
-
Arraylist 与 LinkedList 异同
-
HashMap的底层实现
-
HashMap 的长度为什么是2的幂次方
-
ConcurrentHashMap 和 Hashtable 的区别
-
ConcurrentHashMap线程安全的具体实现方式/底层具体实现
-
项目中为什么要用 消息队列
-
RabbitMQ和其他消息队列有什么区别
-
为什么项目中用redis
-
面向对象的三个特征
-
反射是什么
-
简单讲下 spring中的IOC 和AOP
-
简述 tcp 和 udp的区别?
-
tcp 为什么要三次握手,两次不行吗?为什么?
-
spring 事务实现方式有哪些?
-
说一下 spring mvc 运行流程?
-
为什么要用 spring boot?它和spring有什么区别
-
mysql的行锁、表锁、间隙锁、意向锁分别是做什么的?
-
分库分表如何选择分表键
-
分库分表的情况下,查询时一般是如何做排序的?
-
mysql索引为什么用的是b+ tree而不是b tree、红黑树
-
线程和进程的区别?
-
线程的 run()和 start()有什么区别?
-
什么是死锁?怎么防止死锁?
-
ThreadLocal 是什么?有哪些使用场景?
-
synchronized 和 volatile 的区别是什么?
-
什么是 java 序列化?什么情况下需要序列化?
-
session 和 cookie 有什么区别?
-
你的项目中为什么使用JWT
-
如果客户端禁止 cookie 能实现 session 还能用吗?
手撕代码
- 反转链表
- leetcode 54 坐飞机题
- 反转部分链表
- 写个快排
- 二叉树 前序+中序得到层序遍历结果
- 数组循环右移 (颠倒交换法去做)
- 力扣 海岛问题
- 小明和奶牛题(给定一个数组表示产奶量,另一个数组表示吃草量,根据吃草和产奶的逻辑去选一组数量最多的不冲突的奶牛)(难,读题都没读懂)
- 结对编程 和面试官一起合作写一个项目(这个项目内容不能透露,抱歉了)
总结
手撕代码还是不足,继续刷题继续奋斗,提升自己,高并发掌握的不好,线程部分掌握的不够深入,数据库底层原理不够熟悉,继续深挖!