面试官希望你这样来面试:最佳实践经验
👉 这是一个或许对你有用的社群
🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入「芋道快速开发平台」知识星球。下面是星球提供的部分资料:
《项目实战(视频)》:从书中学,往事上“练” 《互联网高频面试题》:面朝简历学习,春暖花开 《架构 x 系统设计》:摧枯拉朽,掌控面试高频场景题 《精进 Java 学习指南》:系统学习,互联网主流技术栈 《必读 Java 源码专栏》:知其然,知其所以然
👉这是一个或许对你有用的开源项目
国产 Star 破 10w+ 的开源项目,前端包括管理后台 + 微信小程序,后端支持单体和微服务架构。
功能涵盖 RBAC 权限、SaaS 多租户、数据权限、商城、支付、工作流、大屏报表、微信公众号等等功能:
Boot 地址:https://gitee.com/zhijiantianya/ruoyi-vue-pro Cloud 地址:https://gitee.com/zhijiantianya/yudao-cloud 视频教程:https://doc.iocoder.cn
如何和面试官高效愉快的沟通
无论会不会,一定不能慌。无论会不会,一定要和面试官确认自己的理解是不是正确,这道题应该如何思考?避免思考过度,跑偏。
面试重点在于沟通,我总结了几个经验。
我都不明白其他人,我咋比较优势?996、997 算优势吗?
及时总结结论
面试官也是要写面试评价的,如果每个问题结束以后,你都总结好结论。面试官可能直接引用你的结论用来写面试评价。
一定要有条理性的和面试官沟通。避免东一笤帚,西一扫帚。最好提前想好一些结论,重复几遍。这样面试官可能直接用你的"结论"来 写面试经过,结论,评价等。说完一件事,最好有条理性的总结下,这会让面试官对你印象更深刻。试想:一个陌生人说了一堆话,我怎么能记住他说了啥。但是他要是最后有总结,我就能记住。 当面试官出现了疑问,抛出了问题,中断你的回答,一定不要一味的回答,立即响应。要优雅的中断当前问题,等自己说出关键结论后退出讨论,响应面试官的打断提问。把握自己的节奏,先和面试官征求意见,能否把剩下的说完。继续快速的说完,记得总结结论。例如:”刚才的问题还没说透彻,我可以最后再总结几点吗?“
求同存异,避免争论
面试官不如你熟悉你的项目,你的经历。说,听,讨论。三个阶段都会存在沟通信息的损失,所以给面试官讲清楚, 让他理解,认同你可能很难。同时如果出现争论,会降低面试官对你的好感,降低沟通效率。你有责任及时的终止争论。可以使用一点技巧:
当出现争论质疑时,重申问题上下文, 解决方案的目的, 当前现状, 历史背景, 设计方案时的利弊抉择。 也可以坦诚的承认,我们这块的设计,实现方案并不是完美的。甚至做得不好。“我们已经提出了哪些优化点(提出了解决方案),但是优先级并不是很高(优先级是最好的甩锅方式),当初由于更专注于业务目标,技术前瞻性做得不足。你确实眼光独到,一针见血发现了这个问题,这个问题让我们头疼了很久。“ 趁机夸赞一波面试官。 "这块确实比较复杂,咱们总结一下,细化一下分歧再讨论" 面试官一般不会拒绝,面试的主动权重新由你掌握。(要有主动权意识) 细化分歧过程中, 其实就是取得共识。至于某些细枝末节的争论,直接和面试官协调下,忽略掉即可。把你们的共识摆出来。然后说:”咱们的分歧主要是什么什么,其实是我没说清楚,再针对面试官疑问解释一下。如果系统确实有问题,可以这样说。”我们想优化,因为有更高优的事就搁置下了。我们想这么做,但是由于时间来不及,或者当时 XXX,没有这么做。不过后来我们确实吃了亏,算是技术债"。 承认系统设计缺陷不会丢分,强项装逼不服输才是最二百五的
简历重要吗?随便写行不行?
简历一定要认真写。面试官抛出的问题中,除了常见的高频面试题,就是简历中你写的东西。要保证简历中写的东西,透彻理解。 很多面试官不会提前准备问题,都是看你简历有什么,就问什么。 面试官不会看你精通Spring就会问你Spring,看你写熟悉Redis,就不问Redis了。无论写的是了解,还是精通都可能被面试官问到,所以面试前都要准备到精通的程度,否则尽量别写。对于不太熟悉的技术,仅仅是知晓程度,就别写了。如果被面试官问到不会就很丢分,面试官的面试评价就会写上:你不会XXX。面试很丢分。记住面试官是为了找你的亮点,不是要求你无所不精。简历不要过于吹牛逼。给面试官期望高,失望就更高。 在学校整的东西,没啥知名度就不要写了。 github 要有,但是我没有被问过github 中的项目。所以Github装B被打脸概率可能不大。
项目经历问吗?
项目经历一般是 面试必问的,重点问的。所以第一步要优先发掘自己项目中的亮点, 把自己做的工作清晰的写出来。切记不要说“自己的项目也没什么亮点"。 自我介绍阶段重点介绍应该也是自己的项目经历、工作经历,擅长什么技术。这时最好自己提前准备一份演讲稿把自己的项目亮点说出来,多练几遍。避免不过脑子,黄河决堤式回答,想到哪里说哪里。 「一定会让你自我介绍!这是面试必考题。好好准备自我介绍。」
常见高频问题呢?
java 锁,线程同步,Juc 包。线程池 内存模型,gc 调优 mysql 索引,锁,事务隔离级别。 常见分布式高可用架构 redis, mysql, zk, mq等。数据同步,数据分片,数据备份等
需要刷题吗?
一般不会问太多算法题,但是至少一半以上公司都会手撕算法。把leetcode 各个类型的题都刷十道以上基本没太大问题。hard题一般不会问 如果自己面试表现非常好,但是因为算法题被刷掉是不是会很遗憾呢? 算法题能扩展一个人的思路,还是有用的。也锻炼一个人编码能力。个人建议白板算法用 python 非常简洁。更聚焦解题思路 如果自己面试表现特别好,职位匹配度非常高。算法题是可以放水的,会挑简单题问。目的就是 留下你,怕你答不上来,避免尴尬 如果自己面试比较差, 算法题答得特别好,会不会扭转面试结果呢?基本不会, 手撕算法只是辅助。项目经历和基础面试题是核心。
面试结果可以问吗?
如果没有面试到 hr,或者 终面面试官没有明确 hr 会联系,我基本都会问。或者问一下自己的不足。一般都会告诉自己。记住如果你面试通过了,面试官对你态度会非常好。如果对你态度不好,基本上就是挂了。(我有次去小米面试表现很差,简历都被退回来了,告诉我咋出门,面试官就回工位了。我不用问,就知道面试结果。) 手撕算法OK,也会被刷掉。我在陌陌就是 手撕算法非常完美,结果还是挂了。
一般几轮面试?
不算 hr ,基本都是三轮。但如果二轮面试官开始扯虚的,和你介绍项目,问你职业规划 也许二面就是终面。不清楚就问一下面试官。
平时工作划水, 面试临时抱佛脚行不行?
不行
当面试官逼问项目细节时, 如果平时没有对细节特别熟悉,做事马马虎虎,技术深度不够,例如 技术选型为什么这么做,其他方案?优劣势是什么?如果没有调研,面试时,很快会露出马脚。 如果对项目的整体架构不熟悉,只熟悉自己的模块,也会可能被面试官问到关联的模块,项目如果自己不熟悉,马上就会支支吾吾。如果你回答,这块不是我负责的,我不太熟悉,就会让面试官质疑你:主动意识不够,全局意识不够。评价时会被评"只能完成自己模块内的工作,对系统的全局没有了解,主动意识不强。自我驱动意识差" 工作时,可能仅仅聚焦业务,对于项目中应用的技术关注不足。面试时候就会被面试官揪住。如果当时不思考清晰,并且面试前没有意识到这块技术风险, 就会给面试带来很大风险。美团面试官曾问我,介绍一个你主要负责的 参与方最多,周期最长,最复杂的一个项目如何推进的?如果平时工作不积极,不主动思考,面试被摊上这么一个问题。基本上哑口无言。(我当时在现场就目瞪口呆了,汗颜啊)
仅仅看博客,把高频面试题搞懂行不行?(问题驱动式准备面试)
这是必须要做的事情。但是仅仅做到这些还远远不够,例如阿里面试官问
gc 为什么一定要 stop the world?一般博客没有给出明确清晰直观的原因。、 一致性 Hash 如何实现?手撕一下。为什么叫一致性 hash,一致性体现在哪里?一般博客没有。 lru 算法手撕一下。博客有,看一遍就能手撕了? redis 和 zk 分布式锁实现如何选型?各自缺点,优势?项目使用时如何避免缺点带来的负面影响? 如何基于 AQS实现获取锁的公平性非公平性?
面试官甚至给你埋坑,故意说一个错误的,看你能否反驳。
我之前被带坑过, Java线程池问题
面试官问: 是先到 max size 还是先添加到阻塞队列?
我说 阻塞队列满了才会继续创建线程到max size
面试官: 是这样吗? 那么如果是无界队列岂不是永远无法到达 max size
我说: 对啊,有道理啊,我可能记错了。然后被面试官带偏了。
所以结论是,光看懂记下来,不够,要深刻理解。时刻带着问题去学习。问题驱动式学习。最后你会发现,过了许久,你印象最深刻的还是自己当初提出来的疑问及其解决思路和答案。
总结一下重点:
面试必考自我介绍,记得准备好1-3分钟的演讲稿,多练习几遍。 简历写的内容一定要精通,不要写自己不熟悉的。 及时总结结论,习惯性的1、2、3 条理性的回答。 求同存异,千万不能争吵,有分歧时,先理解一下面试官的意思,分歧在哪里。 坦诚自己系统的不足,千万不要打肿脸充胖子。 平时工作要努力、多思考。临时抱佛脚容易被识破。
最后祝大家面试顺利。
欢迎加入我的知识星球,全面提升技术能力。
👉 加入方式,“长按”或“扫描”下方二维码噢:
星球的内容包括:项目实战、面试招聘、源码解析、学习路线。
文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)
微信扫码关注该文公众号作者