• 明明准备的挺好,面试又挂了……


    面试准备的时候,你是否总觉得花费的时间过长?又或者有些面试题你明明了解过,但是面试的时候,给出的答案总是不那么令人满意。甚至,每次刷完面试题,你觉得答得很好,但是总也没得到 Offer。

    其实说白了,出现这些问题,很可能是因为你面试准备的时候,踩了一些坑却不自知。

    现在,作为一名资深面试官,我今天就和大家说说面试准备中 5 个最常见的坑。

    坑1. 不看岗位职责和岗位要求

    “岗位职责”和“岗位要求”是我们在看招聘职位的时候,经常见到的两个信息。不同的招聘平台叫法不一样,有的叫“工作内容”、“任职要求”等等。

    在准备面试的时候,很多朋友从来不去仔细分析招聘 APP 和网站上想应聘岗位的岗位职责和岗位要求的内容 。

    但是,岗位职责和岗位要求对咱们的面试准备是非常重要的。

    岗位职责告诉了我们面试准备需要的知识维度,岗位要求则告知了我们面试准备的知识主线。这种维度与线条的结合,就形成了我们面试准备内容需要的大纲。

    如果不去看岗位职责和岗位要求的内容,没有形成精准的面试纲要,很可能会造成面试准备茫无目的,白白耗费很多时间成本。

    比如,你想要面试高级 Java 开发。它的岗位职责:

    1、负责xx系统的设计与开发工作。
    2、解决大数据量不断激增,海量服务调用面临的压力,助力业务飞速发展。
    3、对系统高可用性、高并发能力、高扩展性解决方案的制定、跟踪、落地。

    它的岗位要求:

    1、具备扎实的Java基础,熟悉常用数据结构、JVM基本原理、并发编程等;
    2、熟悉常用的中间件,如Dubbo、消息队列、流程引擎、规则引擎;
    3、熟悉常用设计模式,掌握Spring、SpringBoot、MyBatis、SpirngMVC、Dubbo、VUE等技术;
    4、熟悉Mysql,对事务,分库分表,性能优化等数据库的基本技能;
    5、熟悉Tomcat、Jetty、Nginx等服务器配置使用;
    6、熟悉多种远程通讯协议,熟悉消息中间件、缓存等技术;
    7、做事积极主动,具有高度的责任感与团队合作精神,有良好的沟通能力;

    那么我们就可以借此形成一个自己的大纲:

    你看,这样是不是一下子就得到了我们需要准备的内容大纲了?

    如果没有这个大纲,你可能什么都要关心,什么都要考虑学习。比如,跑去学这个岗位没必要的 ElasticSearch,跑去学没必要的 Mysql MyISAM 原理等,都是很难很耗费精力的东西。

    因此,只有构造出我们需要准备的面试大纲,我们才能有的放矢的准备面试。

    坑2. 把面试准备当成了技术学习

    前面咱们说了,可以根据岗位职责和要求去制定面试准备大纲。可是,在准备了大纲之后呢,又会有人不小心踏进一个新的陷阱——把面试准备当成了技术学习

    什么意思呢?假设,咱们现在有个知识主线是需要学习消息队列的高可用的。好,有了这个知识主线后,我们就需要选择一个消息队列去针对性学习,比如选的是 Kafka。

    关于 Kafka 的高可用知识点非常多。其中,在 Kafka 的 Consumer 的性质中,有一个 Rebalance 特性是最容易被考到的。那么,为了应对面试,咱们自然是要查找资料,去了解和学习这个 Rebalance 特性。

    问题来了,对这个 Rebalance 特性要学到什么程度呢?

    当然是根据应聘的职位而定。

    如果你应聘的是高级开发,咱们只需要了解到 Rebalance 是在什么情况下会发生,Rebalance 的发生会引发一些什么问题即可。

    如果你是应聘的架构师,那么就需要更深入的学习 Rebalance 特性相关细节,比如 Consumer Coordinator 具体的分配机制等问题。

    所以,面试准备和技术学习不一样,一定要根据咱们应聘的职位目标来准备。目标不一样,学习的深入程度不一样。不能像技术学习那样,不管不顾的去挖机制、抠细节,平白无故浪费咱们宝贵的时间和精力。

    坑3. 学习时不考虑场景

    面试准备里,最常见的一个错误就是:在看面试题时,直接就是背答案。

    这招在前几年还可以,但是在最近几年,互联网行业内卷如此严重的时代,已经不保险了。因为问的方法已经变化了,要求的答案也变化了。

    比如,以前经常有人会问:Redis 的优缺点各是什么?

    现在已经变成:你们会在项目中什么地方用到 Redis ,为什么?

    大家可以看到了,本质上,其实都是在问你 Redis 的优缺点。但是,一个只是需要找一些资料,把优缺点背下来回答就行;另一个就要结合到实际场景、实际项目,才能很好的回答出问题。

    像上面问的,为什么会在项目中用到 Redis,你在面试准备的时候,就一定要把 Redis 适合缓存的优点和实际项目结合起来形成自己的答案。

    比如结合电商系统里的购物车场景来回答一下。

    购物车有什么特点?其最大的特点就是操作频繁。因为用户购物的时候,购物车往往会随意添加删除商品,也会经常浏览购物车中的商品。

    其次,购物车还需要持久化,因为很多人拿购物车当一个临时存放处,存放他们想买又暂时不会购买的商品。

    所以,购物车在技术上,就表现为两个特点:

    1. 读写频繁
    2. 需要持久化不丢数据

    如果用数据库做持久化呢?往往支撑不了购物车这个量级的读写请求,如果用临时缓存呢,又没法保证不丢数据。

    所以,我们此时就引入了 Redis 。Redis 的优点是什么?咱们看看传统的答案:

    1. 读写性能优异, Redis 能读的速度是 110000次/S,写的速度是 81000次/S。
    2. 支持数据持久化,支持 AOF 和 RDB 两种持久化方式。
    3. 数据结构丰富,除了支持 string 类型的 value 外还支持 hash、set、zset、list 等数据结构。
    4. 支持主从复制,主机会自动将数据同步到从机,可以进行读写分离。
    5. 支持事务,Redis 的所有操作都是原子性的,同时 Redis 还支持对几个操作合并后的原子性执行。

    这其中,1 到 4 的特点正是我们在购物车需要的技术特点,所以,用 Redis 是物尽其用,正当其时。

    好,回到我们问的“你们为什么会在项目中用到 Redis”这个问题上,我们可以这样回答:

    我们做了一套电商系统,其中有个购物车业务,既需要高并发的读写,又需要持久化数据。而 Redis 的特点是 balabala……(列举出上面讲的特点)

    这样的回答,我想任何面试官,应该也挑不出毛病来。

    但是,如果你在面试准备的时候没有结合实际场景,你就不太可能回答出这种能把业务特点和 Redis 相关优点结合的答案来。

    所以,如今的面试学习,大家一定要用答案去结合场景,形成自己的回答,只有这样才能卷过别人。

    坑4. 不回顾和总结自己在项目中的职责和贡献

    有些朋友在面试准备时,往往忘记回顾和总结自己在项目中的职责和贡献。这种疏忽,可能会让你在和面试官讨论自己的真实项目经历时,沟通的不那么顺畅与准确,从而影响面试的结果。

    这种负面的影响,完全可以通过提前的小小准备,就能被我们排除掉的。为此,我们又何乐而不为呢?

    在回顾总结自己的职责贡献时,我们需要照顾到以下几点:

    1. 自己对项目业务的深刻理解

    需要知道,大部分公司是很重视程序员对业务的理解程度的。因为在业务驱动的项目里,经验所示,往往一个程序员对业务理解的越深刻全面,那么他在技术落地时就越稳定可靠。

    所以,咱们一定要给面试官展现出我们对业务的深刻理解。

    2. 自己对项目的技术特点的总结

    无论是面试还是在实际工作里,一位主观能动性强的同事,是极其受欢迎的。

    比如在面试的时候,虽然你只负责 XX 系统其中的某些功能,但是你却能说出:

    我做过的 XX 系统技术特点是:安全性要求极高,事务关联紧密,可扩展性被放在极为重要的地位……

    这种回答,妥妥的表现出了你在全面且主动地去学习和了解你参与的项目,并且对项目的技术特点有过自己的理解和总结。

    3. 自己对项目中技术问题的反思

    在面试中,有一类问题是常常会被问到的:

    你在项目中遇到过哪些技术问题?你是怎么解决的?

    像这类问题,面试官目的是想看看你对做过的项目里,曾经用到的技术是否理解到位了。同时,还能判断出来你项目经历的真实性。

    比如,你在支付项目,转账的高吞吐量是如何解决的?热点账户如何解决?

    像这些问题,如果回答不好,很影响面试官对你的真实水平的评估,要是认为你的简历有些造假的成分,那就非常麻烦了。

    所以,咱们面试准备时,要考虑到在我们负责的项目里,一定会有一些技术难题,业务难题曾经困扰过我们,我们需要把他们挖掘出来,找到解决方案,然后放到我们的面试准备内容里,以便后面和面试官交流探讨。

    坑5. 不提前找一些公司面试作为练手目标

    我们面试,总是有些心仪的公司想要去的。但是,不少人会在准备完面试之后,直接就投简历到了他心仪的公司,然后就去这家公司进行面试了。却从没有想过先找几家不那么心仪的公司面试练一下手。

    刚面试准备完就去心仪公司面试,经常会凉凉。

    凉的主要原因就是:好久没面试了,情绪紧张导致会的答不出来;一些随便应变的技巧还没掌握好;面试实战少,回答问题啰里啰嗦描述不清……

    解决这些问题也没什么好办法,就是要练。

    所以建议不要上来就去心仪公司直接面试,先去找非大厂、面试没那么难的公司练练手。

    这些公司的面试实战,既可以让我们逐渐适应面试的氛围和节奏,也能通过实战检验我们的面试准备是否充分,还能通过实战掌握好那些沟通和应变技巧。

    等练的差不多了,甚至是能拿到几个 Offer 了,再去心仪公司去面试,这样成功率就能高很多。

    以上,就是面试准备中大家最容易踏入的五个坑。

    很多时候,并不是咱们水平不够,也不是咱们没去好好准备,只是还没找到一套方法。如果是因为这些而没有拿到满意的 Offer,那就太可惜了。

    所以,我总结了以上经验分享给大家,希望对大家有点帮助。


    你好,我是四猿外。

    一家上市公司的技术总监,管理的技术团队一百余人。

    我从一名非计算机专业的毕业生,转行到程序员,一路打拼,一路成长。

    我会把自己的成长故事写成文章,把枯燥的技术文章写成故事。

    欢迎关注我的公众号,关注后可以领取高并发、算法学习资料。

  • 相关阅读:
    【bzoj1174】[Balkan2007]Toponyms Trie树
    【bzoj1786】[Ahoi2008]Pair 配对 dp
    【bzoj3956】Count 单调栈+可持久化线段树
    【bzoj4605】崂山白花蛇草水 权值线段树套KD-tree
    【bzoj3696】化合物 树形dp
    【bzoj1150】[CTSC2007]数据备份Backup 模拟费用流+链表+堆
    【bzoj3671】[Noi2014]随机数生成器 贪心
    【bzoj4653】[Noi2016]区间 双指针法+线段树
    【bzoj4197】[Noi2015]寿司晚宴 分解质因数+状态压缩dp
    用Python操作Named pipe命名管道,实用做法——os.read 或 os.write
  • 原文地址:https://www.cnblogs.com/siyuanwai/p/15839083.html
Copyright © 2020-2023  润新知