依稀还记得我第一次参加工作面试时,那个很青葱的场景:
50岁的老师傅,带着7,800度的厚眼镜片,从镜框后面传来刨根问底儿般的神情,甚是让人觉得毛骨悚然。无论是考察 Java, SQL,还是硬件配置,净出一些刁钻的难题,给我一种哪壶不开提哪壶的咄咄逼人。
(图摘自网络pixaby,版权归原作者所有)
直到最终拿出我自己写的一个小软件,老师傅挑剔的眼神才漏出“如此可要”的感觉。大意是我们公司的软件水平,充其量也就是比这个小软件多一层业务封装啊。就这样,顺利拿下第一份工作。想体验我的那份煎熬,可以看我之前写的这篇....
跳槽其实和出轨一样,只有 0 次和 N 次
(图摘自网络pixaby,版权归原作者所有)
接下来的第2,3,4....n 次跳槽,面试路数都极其相似。少了第一次面试那种窘迫的心情,多了几分成熟与思考,也变得更加自信。充其量就是面试不上,但收获更多的是面试套路的轻车熟路。
(图摘自网络pixaby,版权归原作者所有)
越到后面越发现,很多公司都是拿着网络上那种热门题库来进行海选,一点技术含量都没有,我从心眼里鄙视这类公司,他们并不是找你做有含金量的项目,而只是外包出去,当他们生钱的工具。可以翻看我这篇在外企外包的日子,大部分的朋友在外包的日子里,与技术越走越远,直到把自己最后一点技术专长消磨殆尽。
(图摘自网络pixaby,版权归原作者所有)
那么这些面试公司中,有没有特别出彩的面试官呢,那肯定是有的,比如阿里,微软和我司。
相比起其他公司的套路式问法,什么是索引,索引聚集表,什么是分区,物化视图,什么是函数,存储过程,SQL Join 种类和语法等等千篇一律的问题,优秀的面试官基本都是从面试者熟知的项目问起,用了什么技术,碰到什么难点,如何解决的,是否有更好的解决方法,有没有考虑对上亿数据的表进行有效的管理,以及常用的分库分表,集群搭建的方法。更高级一些的,会问起什么场景下,你会考虑用读写分离,用什么组件来实现?
(图摘自网络pixaby,版权归原作者所有)
这些发人深省,随机应变的问题,才真正综合考验一个人的知识水平
就好比,我经常喜欢问的问题有这几类:
1)大表合并的方法
2)没有索引情况下提高Join的效率
3)从0加到100,存储过程怎么写
这三个问题有无数的变种,能从数据库的很多基础知识点来考量,比硬背那些事务,死锁,日志,Join算法,集合算法都有效的多。
但综合考察下来能给我意料之外答案的很少。欢迎大家留言回答,加入微信群讨论切磋。
猜你喜欢: