面试准则

本文最后更新于:2022年7月29日 下午

讲一下一些面试的东西,其实这篇文章也可以当成笔者个人学习方法的认知

面试准则

接下来我会从面试前学习、面试中、面试后三个部分来讲。面试前学习主要会讲如何学习,面试中主要讲面试的流程以及一些基本问题

面试前学习

学习部分我们首先要知道我们需要学习什么内容,比如说当前的岗位需要一些什么通用的技术,我们才可以针对性的进行学习。不要以为这个东西很难获取,其实在招聘简介中已经写得很明白了,我随便从阿里官网的招聘信息中截取了一张图片

image-20210802181108876

从招聘简介中就可以很明显的看出需要的技术条件,比如说第二点中很明显需要深入了解 JVM 以及一些 Java 并发方面的知识,这里肯定就会问到JVM的内存模型、GC算法、锁、currenthashmap 等。之后的一些知识就不展开介绍了。

知道了这个岗位需要什么技能,接下来我们就可以针对性的进行复习,面试官虽然会针对你的简历进行一些提问,但是基本技能符合还是更有优势的。

学习资料

敖丙的学习资料

春招

如果是应届生的话强烈推荐学习一些基本的算法,这里推荐 LeetCodeTop ,只需要了解基本算法即可,一些比较难得问题一般不会问到

面试中

面试流程一般分为

  1. HR筛选简历:会筛选出合适的简历,这一部分是由HRBP做的
  2. 初试:一般来说会面试你的基础部分,由正式员工或者Leader来面试
  3. 复试1:会再深挖你的技术,这里不会询问基础知识了,会全面的考察你的大局观,比如说我遇到过一个问项目如何进行优化的。这个人一般就是你的直属leader
  4. 复试2:会继续问你的技术,当然也可能什么都不问,开始考察你的学习方式、管理能力等,这个部分只要你不乱答都是会过的。如果有的话就是技术负责人来面试,也就是管整个公司技术的。
  5. HR面试:这里就比较轻松了,会问你的一些基本情况。

HR筛选简历

这个就不说了,只要你好好写你的简历就行

初试

这里的话一般由两个部分:算法、基本技术的考察

  1. 算法,会考一些基本算法,只要好好做题就没问题。我遇到的几个算法
    1. 反转链表
    2. 前序和中序遍历重建一颗树
  2. 基本技术,这里会着重考察你的基本功,这里我列举几个比较常见的问题
    1. TCP三次握手、四次挥手,拥塞控制、流量控制
    2. HashMap CurrentHashMap 这里答到无锁算法就基本上可以了。HashMap 建议了解一下 1.8 之后的优化,比如扩容算法的优化
    3. 锁,公平锁、非公平锁,synchronized 的一些优化
    4. Redis zset 底层结构,跳表的原理,跳表和红黑树的关系
    5. 缓存穿透、雪崩解决方案等
    6. MySQL 引擎的区别,innodb 索引的底层结构,B树和B+树的区别,聚集索引的优势,什么是回表
    7. 数据库事务的隔离级别,ACID是什么,MVCC是什么
    8. 设计模式
    9. selectepollpoll 联系和区别(这里实际上是在问多路复用算法)
    10. JVM 的一些东西(Java的一些面试问题我已经忘了会怎么问了)
    11. GC 算法
    12. HTTPS 的一些基本流程,以及 http2.0 对比 http1.1 的优化
  3. 一些项目问题,这里会针对你的项目进行一些比较基本的提问,就是确定一下你的基本思路怎么样

复试1或者2

这里和上面一样,好好熟悉一下你的项目

面试后

面试后应该要总结你的面试有哪些问题,并且解决问题

比如说上次面试我遇到了 HashMap 不会,那么我会具体学一下 HashMap 的知识,这样下次面试再问到就可以从容应答

面试注意点

  1. 自我介绍:
    1. 自我介绍应该包含你的基本信息、项目基本情况、你的技术栈等,要体现出你的特点,语言不要求多华丽,但要求逻辑通顺。千万不能说全部信息都在简历上,就不自我介绍了。
    2. 我这里附上一下我个人的一些简介:我叫**,20年毕业于某学校,之后一直在某公司工作2年的时间,使用的语言是Golang语言,担任小组长的职位,主要工作内容是后台开发和运营活动的架构设计、项目管理工作。主要的技术栈是Redis、Zookeeper、MySQL,熟悉缓存穿透、雪崩的解决方案,并使用Redis实现了分布式锁、消息队列等基本功能,深谙MySQL事务、索引底层原理等。
  2. 遇到不知道的知识点怎么办
    1. 遇到不了解的知识点可以靠猜,比如说你不清楚Redis的过期策略,但是可以基本猜到是惰性删除和定时删除,那你可以说我不清楚但是可以大致说一下你的猜测
    2. 可以反问面试官,但是不建议反问太多,只有遇到比较难的问题才反问,这样可以加深面试官对你的印象(慎用
  3. 面试官问有什么想要问我的
    1. 千万不要什么都不问
    2. 可以问一些比较通用的问题,比如说 如果入职贵公司的话,在等待的期间有什么需要学习的。这句话通杀,很多面试官都吃这一套。
  4. 不要问什么
    1. 如果不是别人问你薪资,千万不要随便说自己是为了高工资来的,以及不要在技术面试中询问工资
  5. 可以不可以询问面试结果
    1. 可以,但是不要一直问,建议三天之后询问,并且过程要礼貌、得体,如果面试没有通过也尽量不要删除HR。
  6. HR问有没有其余公司的offer
    1. 如实回答,不要隐瞒,有就是有,没有就是没有。

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!