讲一下一些面试的东西,其实这篇文章也可以当成笔者个人学习方法的认知
面试准则
接下来我会从面试前学习、面试中、面试后三个部分来讲。面试前学习主要会讲如何学习,面试中主要讲面试的流程以及一些基本问题
面试前学习
学习部分我们首先要知道我们需要学习什么内容,比如说当前的岗位需要一些什么通用的技术,我们才可以针对性的进行学习。不要以为这个东西很难获取,其实在招聘简介中已经写得很明白了,我随便从阿里官网的招聘信息中截取了一张图片
从招聘简介中就可以很明显的看出需要的技术条件,比如说第二点中很明显需要深入了解 JVM
以及一些 Java
并发方面的知识,这里肯定就会问到JVM的内存模型、GC算法、锁、currenthashmap
等。之后的一些知识就不展开介绍了。
知道了这个岗位需要什么技能,接下来我们就可以针对性的进行复习,面试官虽然会针对你的简历进行一些提问,但是基本技能符合还是更有优势的。
学习资料
如果是应届生的话强烈推荐学习一些基本的算法,这里推荐 LeetCodeTop ,只需要了解基本算法即可,一些比较难得问题一般不会问到
面试中
面试流程一般分为
- HR筛选简历:会筛选出合适的简历,这一部分是由HRBP做的
- 初试:一般来说会面试你的基础部分,由正式员工或者Leader来面试
- 复试1:会再深挖你的技术,这里不会询问基础知识了,会全面的考察你的大局观,比如说我遇到过一个问项目如何进行优化的。这个人一般就是你的直属leader
- 复试2:会继续问你的技术,当然也可能什么都不问,开始考察你的学习方式、管理能力等,这个部分只要你不乱答都是会过的。如果有的话就是技术负责人来面试,也就是管整个公司技术的。
- HR面试:这里就比较轻松了,会问你的一些基本情况。
HR筛选简历
这个就不说了,只要你好好写你的简历就行
初试
这里的话一般由两个部分:算法、基本技术的考察
- 算法,会考一些基本算法,只要好好做题就没问题。我遇到的几个算法
- 反转链表
- 前序和中序遍历重建一颗树
- 基本技术,这里会着重考察你的基本功,这里我列举几个比较常见的问题
- TCP三次握手、四次挥手,拥塞控制、流量控制
HashMap
CurrentHashMap
这里答到无锁算法就基本上可以了。HashMap
建议了解一下1.8
之后的优化,比如扩容算法的优化- 锁,公平锁、非公平锁,
synchronized
的一些优化 Redis
zset
底层结构,跳表的原理,跳表和红黑树的关系- 缓存穿透、雪崩解决方案等
MySQL
引擎的区别,innodb
索引的底层结构,B树和B+树的区别,聚集索引的优势,什么是回表- 数据库事务的隔离级别,ACID是什么,MVCC是什么
- 设计模式
select
、epoll
、poll
联系和区别(这里实际上是在问多路复用算法)JVM
的一些东西(Java
的一些面试问题我已经忘了会怎么问了)GC
算法HTTPS
的一些基本流程,以及http2.0
对比http1.1
的优化
- 一些项目问题,这里会针对你的项目进行一些比较基本的提问,就是确定一下你的基本思路怎么样
复试1或者2
这里和上面一样,好好熟悉一下你的项目
面试后
面试后应该要总结你的面试有哪些问题,并且解决问题
比如说上次面试我遇到了 HashMap
不会,那么我会具体学一下 HashMap
的知识,这样下次面试再问到就可以从容应答
面试注意点
- 自我介绍:
- 自我介绍应该包含你的基本信息、项目基本情况、你的技术栈等,要体现出你的特点,语言不要求多华丽,但要求逻辑通顺。千万不能说全部信息都在简历上,就不自我介绍了。
- 我这里附上一下我个人的一些简介:我叫**,20年毕业于某学校,之后一直在某公司工作2年的时间,使用的语言是
Golang
语言,担任小组长的职位,主要工作内容是后台开发和运营活动的架构设计、项目管理工作。主要的技术栈是Redis、Zookeeper、MySQL,熟悉缓存穿透、雪崩的解决方案,并使用Redis实现了分布式锁、消息队列等基本功能,深谙MySQL事务、索引底层原理等。
- 遇到不知道的知识点怎么办
- 遇到不了解的知识点可以靠猜,比如说你不清楚Redis的过期策略,但是可以基本猜到是惰性删除和定时删除,那你可以说我不清楚但是可以大致说一下你的猜测
- 可以反问面试官,但是不建议反问太多,只有遇到比较难的问题才反问,这样可以加深面试官对你的印象(慎用)
- 面试官问有什么想要问我的
- 千万不要什么都不问
- 可以问一些比较通用的问题,比如说 如果入职贵公司的话,在等待的期间有什么需要学习的。这句话通杀,很多面试官都吃这一套。
- 不要问什么
- 如果不是别人问你薪资,千万不要随便说自己是为了高工资来的,以及不要在技术面试中询问工资
- 可以不可以询问面试结果
- 可以,但是不要一直问,建议三天之后询问,并且过程要礼貌、得体,如果面试没有通过也尽量不要删除HR。
- HR问有没有其余公司的offer
- 如实回答,不要隐瞒,有就是有,没有就是没有。