从去年12月开始复习Java,做项目,视频是看的黑马的视频,还可以吧,把Java基础和SSM框架看了下,做了个小项目,然后看牛客网的中级项目课,做了一个健身头条项目,接着就是刷题之路,建议把剑指Offer上的题多刷几遍,有能力的可以把LeetCode也刷刷,然后多看一些好的博客,总结的真是超级棒,书籍方面的话,主要是深入理解Java虚拟机,并发编程的艺术或者Java并发编程实战,TCP/IP详解 卷1:协议,Spring源码解析,高性能MySQL,算法,计算机操作系统,计算机网络等。反正是开卷有益。由于自己比较菜,大厂基本是都是一面挂,遂投了一波中小公司,最终有个还不错的offer,结束了艰辛的春招之路。其中新浪、金山云和vipkid由于已经接受其他公司offer,没有再面试了。
经过这次春招,感觉大厂更注重基础,并且要求到源码的深度,还是要多考量,多琢磨,小厂的话更侧重项目一些,希望大家都能得到自己满意的offer。
下面是几个公司的面经。
百度
- 项目相关
- 异步队列怎么实现
- 高并发情况下怎么办
- java中数据结构
- concurrenthashmap源码(分段锁和CAS)
- hashmap与concurrenthashmap的区别
- 死锁
- tcp/ip体系结构
- tcp三次握手,二次会发生什么
- HTTP/1.0与HTTP/1.1的区别
- 长连接和短连接
- 判断链表有环
- hashset源码
- 设计一种hashmap缓存
- 设计模式
- 取火柴问题
腾讯
- 项目相关
- 内部类
- static
- 类加载
- 内存泄漏
- GC
- 智力题
京东
- 项目相关
- HashMap是线程安全吗?
- hashmap源码
- Concurrenthashmap为什么线程安全?
- java如何实现线程安全
- 单例模式
- volatile
数太奇
- 项目相关
- SpringMVC过程
- 冒泡排序
- 快速排序
- 将200w数据去重排序
方正国际
- SpringBoot是什么
- redis里存放的是什么
- mysql和redis一致
- 注册和登录怎么实现的
- 密码加密怎么实现的
- nginx的Session共享
- 异步怎么实现的
- redis持久化
- map有有序的吗
东方畅享
- 项目相关
- dao层怎么实现
- spring中都用了哪些库
- 接口怎么实现
佳龙集团
- 常见的数据结构介绍一下
- hashmap介绍一下
- 快排
- 冒泡
- 斐波那契数列
- 判断回文数
- 约瑟环
- springmvc生命周期
- restful了解吗
- 分布式缓存
长城软件
- 登陆模块怎么做的
- 项目部署在tomcat步骤
- tomcat启动流程
- 介绍下redis
- 异步处理是怎么实现的
星宇联合
- ==和equals的区别
- arrarylist和linkedlist区别
- synchronized
- 单例模式
- sql查询
用友
- spring ioc用到的注解
- 未登陆用户拦截
- sql左连接和右连接
- 消息队列怎么实现的
- spring bean用到的注解
每日优鲜
- 快排
- sql左连接和右连接
- mysql的索引
- b+树介绍一下
- redis的list是什么数据结构
- linux的常用操作
- mybatis的注解
- 多线程的实现
- 线程池的配置
- linux怎么查找一个文件中数据
小米
- 赞踩功能是怎么实现的
- 为什么赞踩要用消息队列
- 消息队列怎么实现的
- synchronized和volatile
- synchronized实现原理
- volatile可见性
- 线程池有哪几种
- 具体怎么用
- 说下常用设计模式
- 单例模式在项目中有用到吗
- 观察者模式说一下
- get和post区别
- tcp三次握手
- rcp了解吗
- 为什么不是两次和四次握手
- jvm内存模型
- jvm垃圾收集器
- gc算法
- linux查找一个文件中的某个字
- linux的ping命令是什么
- linux常用的命令
- maven常用命令
- git常用命令
- mysql的引擎
- 各个引擎的区别
- innodb实现原理
- 异常的分类
- http了解多少
- https
- ca证书里有什么
- 滑动窗口和拥塞控制
- 长连接和短连接
- cookie和session区别
- cookie欺诈
- 最小字典序
沪江
- hashmap
- linkedlist
- 单例模式
- 快排
- json格式
- 多线程实现
- 线程池
- string可变吗?
- final
- 登陆怎么实现的
- 如何判断用户已经登陆
- jdbc连接过程
借贷宝
- 登陆模块怎么实现的
- mybatis映射
- springmvc用到的注解
- restful
- c中的指针是什么
- java中为什么没有
- ajax
- 什么是异步
- mysql数据库引擎
- innodb和myisam的区别
芯智引擎
- 说下你知道的数据结构
- 红黑树能写出来吗?
- 红黑树的特点
- b树
- 图在代码中怎么表示
- 怎么求图中两节点最短距离
- 说下基于比较的排序有哪些
- 各个排序的时间复杂度
- 线程池
- 线程同步
- synchronized实现原理
- monitor实现原理
- osi七层模型
- 各层模型的协议
- java中集合类
- 集合类运用场景
- 操作系统,知道啥
- 页面置换算法
- 进程线程
- 死锁