两个悲剧的面试故事
小黄去年刚从计算机专业毕业,但是感觉对技术掌握得还不够,就又报名参加了一个培训班,年底刚从培训班毕业,怀揣着精心准备的简历,想到杭州闯一闯。今天上午到了一家装修还不错的公司面试,感觉这家公司窗明桌净,办公桌前都是Mac笔记本加双屏显示器,比昨天面的那家外包公司可好多了,心想一定要好好发挥抓住这个机会。
老王工作五六年了,今年刚从一家不小的公司出来,公司效益不好,年底裁员了,不幸老王在年前的最后一次裁员名单中中奖了。虽然短期内也没什么太大的经济问题,但是之前拿到offer的都是一些没上轨道的小公司,跟之前待过的公司比总感觉是明珠暗投不太甘心。这次面试的公司看上去还满正规的,如果能进去,就算不涨薪,但是心理上落差总是小一点。
小黄按部就班地说完了自己准备的项目介绍,然后面试官就照着简历问了起来。“你熟悉MySQL数据库?”,“对”,“唔...那你能说说MySQL常用的有哪几种存储引擎吗?”,“啊?什么是存储引擎?”。小黄心想,昨天复习了面试宝典里的数据库索引,老师说这个是要点,面试官怎么不按常理出牌呢。“你简历上写了使用过Kafka消息中间件?”,“嗯,对的”,“那你能说说Kafka的拉模型和其他推模型消息中间件的区别吗?”,“...”,“今天面试就到这里,有后续的话HR在一周内会联系你的”。
老王在隔壁的会议室里坐了下来,面试官让老王先介绍一下自己最近比较有代表性的项目,老王大概说了说自己这两年做的一个平台的功能。面试官问:“在这个项目过程中你有碰到什么印象比较深的技术难点或者业务难点吗?”,老王想了一想,感觉一下子有点想不起来。面试官继续问:“刚才你介绍的项目里有说到XXX功能,那在YYY异常情况下如果处理ZZZ问题呢?”。老王心想以前也没考虑过这个,那我就直接现场推敲一下吧,“这里要先这样,对了,那里要那样,不对,这里还有一种情况”。十分钟过去了,老王还在原地兜着圈子,而且丝毫没有停下来的意思。面试官只能打断老王换了一个问题:“那你能介绍一个你有过深入了解的技术吗?”,老王:“我好像这几个都了解一点”。“那关系型数据库中的聚集索引和非聚集索引有什么区别呢?”,“好像这两个的存储方式有点不同,非聚集索引开销会大一点”,“那么为什么非聚集索引开销会比较大呢?”,“这个问题好像要涉及操作系统之类的知识,有点太深了”。40分钟后,老王也结束了面试。
程序员何苦为难程序员?
为什么面试官老是会问一些莫名其妙的问题?我怎么可能了解计算机方面的所有问题呢?为什么他问得这么深,写代码的时候能有什么用?
之前我在一次失败的面试之后总是感觉有点不舒服,我感觉我的水平也是挺不错的,为什么到了面试就总感觉发挥不出,而且老是被“虐”呢?下面我们一起来想想办法。
初级开发小黄的问题:
1、惜字如金,没有充分回答问题;
对于面试官提出的“是否用过”“是否了解”这样的问题,应该补充上能够证明自己是内行的解释。
2、等着面试官提问,没有主动地引导。
我们应该主动将问题引导向自己擅长的方面。
资深开发老王的问题:
1、项目经历没有准备;
只讲了项目的功能,而不讲过程中遇到的业务难点和技术难点。
2、过分纠结细节,但是表述又不流畅;
3、问题抓不住重点,从细节开始推敲,反反复复。
表述复杂问题时应该从宏观到微观。先从比较高的层次入手,划分大的模块,确定模块间的交互,然后再逐个模块地细化细节。这样不仅自己能够更容易地解决问题,而且面试官也更容易理解,避免发生即使回答了正确答案但是面试官也不认同的情况。
高并发篇
秒杀的核心思想:层层过滤
尽量将请求拦截在上游,降低下游的压力
充分利用缓存与消息队列,提高请求处理速度以及削峰填谷的作用
大型互联网应用(大数据、高并发、多样数据类型)的难点和解决方案
分布式篇
中间件篇
根据得到的文档和查询语句的相关性,对结果进行排序
数据库篇
设计模式篇
工厂模式
简单工厂
数据结构与算法篇
分析HashMap的put方法
阿里巴巴2021年全年面试题总结篇
配置中心之简版
总结
机会是留给有准备的人,所以多早的提前准备都不会算早,你现在学习到的东西,终将会在未来的某一天用得上。所以猿友们学习起来吧,成功是一定会属于你的!
需要完整版的小伙伴可点击下方名片,扫码即可免费获取。