互联网公司面试官是如何360°无死角考察候选人的?(下篇)【石杉的架构笔记】

欢迎关注我的公众号:石杉的架构笔记(ID:shishan100)
面试

周一至周五早8点半!精品技术文章准时送上!redis


1、写在前面

上一篇文章:互联网公司的面试官是如何360°无死角考察候选人的?(上篇)算法

用一个面试连环炮引出了平时中大型互联网公司的面试官是如何发问的。缓存

紧接着从技术广度、底层技术、技术深度几个角度说了一下,咱们通常是如何来考察候选人的技术。性能优化

本文是下篇,将会从项目经验、系统设计、履历/学历/素质、候选人与岗位的匹配、多轮面试官的协做这些方面,继续告诉你们,互联网公司是如何全方位、无死角来考察候选人的。网络


2、项目经验的考察

项目经验,绝对是面试官必须考察的,极可能上来就是让你先画一下项目总体架构图,说一下大家项目用了哪些技术以及核心的业务思路。数据结构

而后从项目入手,考察你项目里各个技术掌握的如何,经过连环炮对你掌握最好的技术进行深刻考察,对一些高阶技术的考察,直接下探到底层。架构

举个例子,若是你说大家公司里用了dubbo做为服务框架,那么会问问你dubbo底层的通讯框架是什么?Netty?Mina?并发

而后再问问你底层的NIO是啥?网络通讯里的长链接和短链接是啥?框架

你是否看过dubbo的源码?dubbo源码中你印象深入的对并发技术的运用是什么?

一些面试官喜欢从项目展开问各类技术,也有一些面试官上来直接从你简历上的技术开始发问,从技术深刻到项目。这就看我的喜爱了。

固然不管如何,最后总会聊到项目的一些业务细节,好的面试官会掌握一个原则:死扣细节。

提问时,必需要深刻到你把某个业务细节讲清楚,以及结合这个业务细节究竟是如何落地和设计技术方案的,如何使用各类技术在业务中的。

好比说

● 你说你用了Redis,那就会进一步问你,你哪一个业务用了Redis?那个业务的流程请你叙述一下?

● 在Redis里大家具体是选用了哪一种数据结构存放什么数据?数据的过时时间是什么?若是缓存过时了,你的数据兜底方案是什么,到哪儿去回查?

● 你的key如何设计的,为何要这么设计?你的这个业务把数据放在了Redis里,是其余哪一个业务来查Redis?为何要这样子作?若是不用Redis会怎么样?

这只是一个例子,实际上各类技术均可以在项目里深扣细节。这就能考察出,你对这个技术的实践到底有多深,经历过多么复杂的线上业务的实践,能hold住一个技术解决线上系统中的哪些问题。

总之,从项目里,咱们能够看出你是否负责过复杂业务架构下的分布式系统的设计和开发?

大家的系统是不是线上高并发大流量高负载场景的挑战,你是否经历过这种技术挑战?

大家的系统是否承载过亿级别海量数据的存储以及高性能读写的挑战,你是否解决过这些问题?

此外,从项目考察中,还能够直接看出你的总体能力技术定位。你是仅仅负责过一个模块呢?仍是负责过一个子系统?

或者是做为架构师负责过一个完整的项目群,带过几十人的团队,设计过大规模复杂的系统架构?

因此说,你到底把控过什么样的项目,具有什么样的能力,从你负责过的项目里,直接能够看出来。

若是你来面试的是中级的岗位,那么可能咱们以为你技术总体ok,独立负责过核心模块的开发,同时对各类技术都有必定的实践经验,就OK了。

若是你面的是高级/资深的岗位,那么咱们会看看你是否带领一个小团队独立负责过一个有必定复杂度和难度的完整系统的架构设计和开发。

若是你面试的是架构师的岗位,那咱们确定是要求你在一个公司里主导过不少人协做完成的大型并且复杂的项目群。

而且咱们要求你对一个大型系统架构有深度的思考和总体的把控,并且这个项目要有足够的技术挑战,大用户量、高并发、海量数据,等等。

所以,项目考察,是重中之重。不少同窗平时积累了很多的技术学习,可是有一个很大的问题是,项目经验和实践太少。

这些同窗可能确实没经历过复杂系统的架构设计的历练,因此很是容易在项目经验考察这块出现问题,被面试官断定为技术不错,可是经验缺少。


3、系统设计的考察

这个也是不少互联网大厂的面试官,在考察一些高级工程师及以上的同窗,喜欢发问的。

通常会用本身公司或者团队里的一些业务场景拿出来,或者是广泛性的一些业务场景,而后来问你如何针对这个业务场景设计系统架构?

举几个例子

  • 如何设计一个电商秒杀系统架构?
  • 如何设计一个消息推送系统架构?
  • 双11大促的时候如何设计系统的动态扩容/缩容的机制?


相似诸如此类的一些场景式的系统设计考察。其实这个主要是用一些你可能没接触过的场景,来现场考察一下你的架构设计思惟。

尤为是针对上面说的高级/资深、架构类的岗位,咱们尤为会注重现场考察你没接触过的业务场景的架构设计。

由于毕竟你来了之后,确定要让你接触全新的业务,而后立马给出合理并且靠谱的架构设计方案,在新的公司来落地你的经验。

不少同窗平时不太注意积累系统设计的能力,致使出去面试的时候,人家一问场景系统设计问题,直接发蒙了。

因此,平时应该对公司里各类业务场景多思考,本身设定一些挑战,好比假设你公司的请求量暴增100倍,数据量暴增100倍,你的系统架构应该如何设计?

多给本身设立挑战,而后去尝试着思考设计,才能积累出系统设计的思惟和能力来。


4、基本功的考察

不少大厂都会考察候选人的基本功,尤为是数据结构和算法。好比现场手写一些常见的算法题。

不少同窗很容易倒在基本功这块,一些基础的数据结构和算法题都不会写,那就是有点问题了。

这里强调一下,这个东西并非应届生专用的,其实也表明了一个工程师,甚至一个架构师的基本技术素养问题。

所以建议你们平时仍是要注重基本功的保持,平时写写算法题,熟悉一下数据结构,能保持本身的技术素养不会掉落。

不然数据结构和算法都不熟悉,对复杂系统的技术细节把控基本也就无法作到,由于不少复杂分布式系统的源码里,处处是本身写的数据结构和复杂算法。


5、履历背景/学历背景/过往经验/综合素质

最后必定会综合看一下一个候选人总体的背景,好比你的履历背景。

你过去是外包公司出身?仍是传统IT公司出身?或者是一些小型互联网公司?或者是一二线大互联网公司出身?

另外你的学历如何?是大专?普通本科?211 / 985本科?普通硕士?211/985大学的硕士 or 博士?

你过去作的都是一些内部系统,好比OA系统,财务系统?或者都是C端系统,有上千万用户量的系统?或者你过去作的都是某种偏门的项目,好比爬虫之类的?

你的沟通表达能力如何?性格是否踏实和nice,不浮躁?你是否有团队协做精神?

这些综合性的东西,其实都会在咱们的总体考察范围以内,都会归入考虑范围内,最后决定要不要发offer。


6、候选人与岗位需求的匹配

其实按照上述流程考察下来之后,会经历多轮面试,基本一次好的面试就能够综合考察出一个候选人的完整状况了。

这个候选人的技术面是否完整,是否有几个技术领域有足够的深度?

候选人作过什么样的项目,项目的实践经验如何,把控过多大的团队和多大的项目,

对全新业务场景的系统设计能力如何,基本功如何,综合背景和素质如何。这些东西,基本上均可以很好的考察出来了。

此时就会将一个候选人跟岗位的需求进行匹配,好比说你要招聘的是一个资深Java的岗位,须要他过来开发的是公司里较为核心的子系统。

而后呢,你公司的技术栈是dubbo、zk、kafka、redis,等等

大家公司每秒有上万的并发访问压力,数据量一亿以上,线上系统偶尔故障,好比高并发下zk忽然报错异常,致使系统业务中断,而后须要带4个初级和中级的兄弟一块儿开发。


这时,你考察完一个候选人,就知道他的技术能力是否匹配这个岗位,技术深度可否cover住线上系统常见的一些故障。

可否在线上故障的时候,立马有足够的源码功底分析、定位和解决问题。是否有过往相似足够的高并发和海量数据的项目经验。

是否带过几我的独立把控过一个核心系统的架构设计和开发,过去的公司背景咋样,学历咋样,综合素质咋样。

这个候选人和岗位需求是否匹配,基本上就出来了。


7、多轮面试官的分工协做

上面列举了大量的技术考察的内容,实际上很难说是一轮面试官直接完成的。

所以,通常咱们都是分红多轮面试官协做考察。可是根据不一样的公司,不一样轮的面试官的职责会稍微有一些不同。

好比说一面面试官可能主要就是考察一下技术内容,包括技术面以及连环炮发问考察技术深度,以及算法功底,不太涉及项目。

二面面试官可能会着重考察项目经验,系统设计,同时对技术深度也会继续考察。

三面面试官可能会从你把控过的项目规模、带的团队规模、团队管理能力、规范和流程设计能力、总体工做履历背景和经验、软素质(沟通表达、团队协做、价值观,等等)来考察你。

上面说的只是一种分法,一个公司内的不一样团队的分工多是不同的。

也有的多是一二面都是考察技术面和技术深度,不涉及项目,三面来考察你的项目经验,四面来考察你的一些综合素质。

或者可能你面的职位很高,好比是总架构师之类的职位,也许还有CTO或者技术VP出来面试你第五轮。

可是无论如何分,总体考察的内容都是上面的那套东西以及那个流程和过程。


8、Java进阶面试系列的开始

下一篇文章,咱们就开始以连载的形式,跟你们聊聊中大型互联网公司Java面试时高频考察的技术点以及相关的面试技巧。


敬请期待:
《哥们,大家的系统架构中为何要引入消息中间件呢?》
《哥们,那你说说系统架构引入消息中间件有什么缺点?》


END

若有收获,请帮忙转发,您的鼓励是做者最大的动力,谢谢!


一大波微服务、分布式、高并发、高可用的原创系列文章正在路上

欢迎扫描下方二维码,持续关注:


石杉的架构笔记(id:shishan100)

十余年BAT架构经验倾囊相授


推荐阅读:

一、拜托!面试请不要再问我Spring Cloud底层原理

二、【双11狂欢的背后】微服务注册中心如何承载大型系统的千万级访问?

三、【性能优化之道】每秒上万并发下的Spring Cloud参数优化实战

四、微服务架构如何保障双11狂欢下的99.99%高可用

五、兄弟,用大白话告诉你小白都能听懂的Hadoop架构原理

六、大规模集群下Hadoop NameNode如何承载每秒上千次的高并发访问

七、【性能优化的秘密】Hadoop如何将TB级大文件的上传性能优化上百倍

八、拜托,面试请不要再问我TCC分布式事务的实现原理坑爹呀!

九、【坑爹呀!】最终一致性分布式事务如何保障实际生产中99.99%高可用?

十、拜托,面试请不要再问我Redis分布式锁的实现原理!

十一、【眼前一亮!】看Hadoop底层算法如何优雅的将大规模集群性能提高10倍以上?

十二、亿级流量系统架构之如何支撑百亿级数据的存储与计算

1三、亿级流量系统架构之如何设计高容错分布式计算系统

1四、亿级流量系统架构之如何设计承载百亿流量的高性能架构

1五、亿级流量系统架构之如何设计每秒十万查询的高并发架构

1六、亿级流量系统架构之如何设计全链路99.99%高可用架构

1七、七张图完全讲清楚ZooKeeper分布式锁的实现原理

1八、大白话聊聊Java并发面试问题之volatile究竟是什么?

1九、大白话聊聊Java并发面试问题之Java 8如何优化CAS性能?

20、大白话聊聊Java并发面试问题之谈谈你对AQS的理解?

2一、大白话聊聊Java并发面试问题之公平锁与非公平锁是啥?

2二、大白话聊聊Java并发面试问题之微服务注册中心的读写锁优化

2三、互联网公司的面试官是如何360°无死角考察候选人的?(上篇)

相关文章
相关标签/搜索