我找工作的时间范围在2019年10月13日至11月22日,此时工作年限四年零七个月。
先说几个重点
1、简历一定要写好,我整理简历花了两三天的时间,差点吐了,用到的网站有
https://github.com/geekcompany/ResumeSample
https://github.com/resumejob/awesome-resume
2、投简历之前花个三四天的时间全局复习一下,我主程序Java,复习看的是这个
https://github.com/Snailclimb/JavaGuide
3、前期先投些小规模的公司,自己心仪的公司中前期投,因为大公司的流程比较慢,比如阿里的投了简历,筛选到电话面试大概需要十天吧
4、一定要把每场面试不会或不熟的知识点记录并总结(不是背答案,要理解记忆,实在理解不了,那就如是说不会),多面几次,你会发现就那么几个主要的问题
5、不管怎样,先拿到offer再说,越多越好,横向比较一下,选出最心仪的offer。
6、不要以为拿了offer就能放松了,有些公司后面可能会有其他的流程,比如测评、体检之类的,测评不过的也会pass掉你,体检未达到公司指标的也会pass掉(虽说法律禁止,但是有的公司很拽,懂的人都懂),最终在你入职签订劳动合同的时候再去放松吧。
面试问到的问题
说明一下, 以下只是问到我的问题
Java
HashMap源码分析
ConcurrentHashMap源码分析
为什么要重写hashcode
线程池工作的原理及参数的含义
CountDownLatch、CyclicBarrier 原理和区别
Volatile作用
synchronized 与 lock 的区别
常见的原子操作类
偏向锁、轻量级锁、重量级锁、自旋锁的概念
class.forname与classloader的区别
集合sort的底层原理
JDK中用到的设计模式
如何快速计算出一个数是否为2的n次方
如何实现热部署
JVM
JVM内存模型
垃圾回收
一些常见的参数
如何解决献上CPU 100%的问题(发现到定位代码)
类加载器、为什么是父类委派
JMM的设计初衷与好处
类文件加载过程
JVM中对象的组成
程序员必回必问,多看书多实践,不要为了面试去看
网络
Http和Https的却比
Http与RPC的区别
Linux
- 常用参数
Mysql
整数类型有几种
存储引擎的 InnoDB 与 MyISAM 区别、优缺点、使用场景
索引类型与区别
为什么使用B+树做索引结构
聚簇索引与非聚簇索引的区别
为什么是最左匹配原则
什么是覆盖索引
索引创建原则
UUID适合做索引吗
B+树的一个节点所占用大小(可以推算出一个节点能存储多少行数据)
SQL的优化,explain后出现各field代表的含义
隔离级别
锁机制
MQ
项目中用到的MQ,目前市面上MQ的比较
Rabbitmq的组件与应答机制
Rabbitmq的通信协议,一个消息如何发送存储和消费
如何保证消息不丢失
如何保证消息不重复
exchange routekey queue关系
Redis
持久化方式、各自的优缺点
集群类型
为什么是单线程
如何实现原子性操作
数据类型
缓存雪崩、穿透、击穿的含义及解决方案
ElasticSearch
什么是倒排索引
为什么搜索能那么快
集群介绍,各名词如主副节点、分片、副本等
如何解决脑裂的问题
文档索引过程
文档搜索过程
索引的优化
SpringBoot
controller是否为单例,如何保证多线程下安全
如何解决循环依赖
涉及到的设计模式
代理的实现
IOC过程,越详细越好(这个可真是凭真功夫,因为随便一个点都能牵扯出一系列的问题)
springboot如何做到自动配置
springboot启动过程
Mybatis
#
与$
的区别如何实现xml与接口绑定
其他
其他的就是按照你简历中涉及到的一些功能点去问,非常有感触的是蚂蚁金服的电话面试,只问你用过的,然后不停的深入深入再深入,直到你回答不上来,所以,简历上写的一定要是很熟练的;
还有一般都会问你项目中解决过的重大问题,思路啊、实施过程等等,个人感觉这里考察就是表达能力和解决问题的能力,或者跨部门协调的问题等等,一般是在负责人面试的时候会被问到,最好也需要提前整理一下;
投简历渠道
这次面试主要用的是Boss直聘和拉勾网还有一些猎头的推荐,猎聘和前程无忧不敢用,生怕刷新简历电话会被打到爆。。。特别是那些外包的公司
最后
一定要放平心态,不要太紧张,就当一次技术交流,看过一哥们在博客中写道
面试是一种蜕变
就当是对以往能力的一次检验,顺便做个查缺补漏,最后祝大家都能进入自己心仪的公司!