小公司出身,斩获30万年薪职位的面试过程

作者:中华石杉 来源:石杉的架构笔记

楼主为了入职知名互联网公司,苦修半年,终于得偿所愿。

下面就是楼主正式开始面试的经历。

刚过完年后就裸辞了,然后就是写简历投简历。虽然大致知道主要面试的是哪些知识点,但是写完简历之后,自己都不敢投,因为毕竟没太多的面试经验。

面试 Week 1:无情打击,当头一棒

第一周仅仅面试了 2 家,有面试也会往后推,主要是不想浪费机会。

新东方在线:

新东方旗下的在线教育公司,首先是一个多线程编程的面试题,比较简单。

然后就是开聊项目,在项目中穿插问知识点,这次面试因为有不少知识点自己有点忘了,所以很多东西没回答太好。比如说 SQL 执行计划中你最关心的字段,这样的问题,都没有回答好。

最后一面就挂了。

第一周面试就被打击了,有点沮丧。有很多知识点我自己也知道,但是就是没有掌握,明显是去被吊打的节奏,浪费了新东方这个机会。然后周末两天,哪也没去,在家里不分昼夜的全力复习,补足短板。

面试 Week 2:查漏补缺,稍有起色

用友

首先开始笔试,主要是分析哪些 SQL 使用到了索引,为什么索引失效,大概有 10 多条 SQL 分析。

面试过程中,我主要是往自己擅长的点上面去聊,包括 JDK 底层的源码,Spring Cloud 等方向,全程我在讲。

二面的面试官说我不太合适,他们想找能写前后端的人,不需要互联网方向的那种。

所以,楼主在这里给各位筒子提个醒,投简历一定慎重,如果你是打定想去互联网公司的话,非互联网公司就不要浪费时间了。

在面试过程中我一共碰到三家这样的,套路都是类似的,先是一套面试题,然后就一面,面完之后就是回去等消息。

某中小型的互联网金融公司

一面:直接开聊,先聊基础,聊到 Synchronized 锁的实现原理,CAS 实现原理,Juc 包下并发类的使用场景。然后开始聊框架源码,我讲了 Spring Cloud 中 Eureka 的源码,Hystrix 框架的源码,然后聊了一下集合相关的类,例如 HashMap、ConCurrentHashMap 等等。

聊到一半之后,面试官对我的态度友好了很多,还探讨了一些读源码的方法。然后拿着一张笔试题,两个算法题,二选一,随便做一个。

楼主属于那种算法底子一般的,平时刷题也不多,看到算法题就有点慌,最后面试官说写个二分查找吧。就这样,我想由于前面给面试官的印象稍微好一点,所以这块就放我过关了。

二面:面试官开始抽查了一些知识,包括 MySQL 索引优化,索引结构,Redis 缓存雪崩、穿透等相关的问题,还问了一些并发相关的问题。

然后给了一个系统设计的场景:在分布式场景下,100 万的优惠码,怎样保证每个用户只能领取一个?领取了之后,再次点击还是之前领取的那个。

我的思路是使用存放在 Redis 中再结合分布式锁,然后给演示了执行过程,勉强说的过去,最后说有没有更好的实现方式,想了一会,然后认怂。

接着问了 JVM 类加载流程、GC 回收算法、GC 回收器。刚好这块没有看,只能回答对这块不熟。

最后面试结束,问了一下期望薪资,然后叫我等一下,准备去叫 HR。过了一会儿说,这周还要再面试一些人,然后会综合考虑,就送我出去了。

当时比较郁闷,不过现在想想很正常,一个有几年经验的工程师竟然对 JVM 这些常见的知识点都不熟悉,可怕。

结果当然也是挂掉了。没说的,楼主赶紧的背着书包回去,恶补 JVM 相关的知识点。

一家给银行做系统的小公司

一面:是一个号称架构师的人面的,一上来我就开聊 Spring Cloud 源码,刚好他们也在用这套框架,包括 Hystrix。我对这块很熟悉,他们只是使用默认的配置,对里面的原理就是一个黑盒。我一通讲还带画图,直接将他征服。然后就是问我期望薪资,带我见老板,入职日期我拖了一周,算是增加了一点信心,拿到一个保底 Offer 了。

面试 Week 3:一鼓作气,拿下 Offer

一家 A 轮融资的在线教育公司

一面:给你一台电脑,有三道题目,任选一道让你做,过了开始下一面。

二面:首先基本问了一些项目,然后你提到什么就问什么。比如楼主提到线程池,他就问线程池的参数有哪些,分别的作用是什么?然后问了一些基础的知识集合,并发之类。

二面还问了 Spring Cloud 框架源码,Eureka 增量拉取注册表机制。然后就是一些基础:CAS、CAS 有哪些问题以及怎么解决,Volatile、Synchronized、线程池、Redis、MySQL 索引,索引优化,索引失效,索引底层结构等。

令我印象深刻的是问了我数据库中整型除了 int,还有哪些整型(tinyInt、bigint)。面试官说好奇好多人都回答不出来,我当然也是没回答出来。

三面:是 CTO 面,问的很基础,比如 HTTPS 怎么防止被抓包?讲讲什么是BIO、NIO、AIO?(当场说没研究这块)讲讲 JVM 类加载流程(第二次跪在上面了)。

然后问了些生产环境的问题,问了生产环境 MySQL 怎么部署,我说单机部署,对分库分表没有深入研究,估计这几个问题的抽查,就被 CTO 打死了。最后问了下期望薪资,然后回去等消息。

国内最大的互联网招聘网站

一面:从基础到项目通通问了下,项目层面没有深究,对并发这块的基础知识问了,最后是问了分布式锁的实现原理。

楼主讲了基于 Redis 和基于 Zookeeper 的分布式锁实现原理以及框架的源码,另外深入讲了 Spring Cloud 源码。

然后就是问了 Dubbo 了解多少,让你设计一个 Dubbo,你会怎样设计,然后设计一个限流熔断框架,你会怎么设计。

再就是针对 Redis 问了下使用场景,怎么使用,缓存穿透、缓存击穿等问题。一面总体来说,还比较顺利,一面过了之后开始二面。

二面:问了下项目,没有太过于深究项目,问了项目开发过程中遇到哪些问题,怎么解决的?然后问了下哪些场景使用到多线程,是怎么使用的,知道线程池的原理吗,生产环境数据库怎么部署?Redis 怎么部署?

主从数据同步的原理了解吗?主从架构的延时和数据丢失怎么解决?有遇到系统 OOM 的问题吗,怎么解决?做过哪些 JVM 优化?为什么要这样配置?

面完后问了期望薪资,说这周会通知,楼主知道又进入备胎模式了,经过上次的经历,知道戏份不大了。

结果意想不到的是,最后居然人家发 Offer 了,而且年薪达到了 30 多万。

一家中小型的互联网金融公司

一面:技术官并没有问太多的问题,主要是我讲了 Spring Cloud 的源码,然后他们准备转向 Spring Cloud,最后问了下 Redis 缓存穿透、缓存雪崩,之后就是一些大而形式的问题。

二面:问了数据库锁有哪些,什么情况下造成数据库的死锁,怎么避免数据库死锁。然后就是哪些场景下使用了设计模式。

接着问了下期望薪资,给砍了一点下来,我觉得二面面试官可能觉得我对 MySQL 这块的锁不是很熟悉,但是也给 Offer了,年薪不到30 万的样子。

一家 D 轮融资的在线教育公司

一面:是结构化面试,从各个方面开始聊,聊集合、并发、网络、IO,Linux 命令。

然后开始聊 Spring Cloud 框架源码,最后聊的挺欢快的,当然有些问题没回答出来,但是气氛聊的可以,加上面试官的提示,最后也给出了答案,特别是 Linux 命令这块。

二面:主要是深入项目细节,最后听我讲完项目之后。问我什么是 CAP 理论。其实当时我已经掉入坑中,但是还很傻逼的回答了 CAP 理论和 BASE 理论。

然后问我你的项目符合 CAP 理论吗?项目中这么保证一致性?RabbitMQ 这块的交换器的三种模式是什么?

最后跪了。

好未来(美国上市的教育公司)

首先就是从简历第一条开始往后面聊,集合、并发、网络、IO 原理等,最后问了 Spring Cloud 的源码,将近聊了一个小时,然后说二面会二天内通知,我就知道凉了,最后果然没让通过。

某垂直领域电商公司

一面:问基础,ConcurrentHashMap 原理,CAS,Synchronized 底层原理,底层采用不同的实现方式(自旋锁等)的不同。

JVM 原理,Young 区为什么要有两块 Survival 区,只有一块行不行。然后问了索引结构,什么是 B+ 树,索引优化,什么是聚簇索引,怎么建立聚簇索引,全部是基础的问题,没有涉及任何框架源码和项目情况。

二面:内推放水,简单问了 BeanFactory 和 SpringApplicationContext 是什么关系,有什么不同。几个简单问题之后,然后就给 Offer 了。

必要商城

一面:是基础问题,类似于上面的基础问题一般,大同小异,没有很大差别。

二面:开始问项目,讲完项目之后,由于二面的面试官是老乡,而且面完之后我就知道没戏了,就请教了老乡,能给一些建议吗?

老乡说他二面就不会问基础的知识点了,因为已经过了一面,他作为二面主要考察的4点:

1是这个项目你是否真的做过?

2是你做的项目是否符合他团队目前的需求?

3是项目中的技术难点是否存在,以及解决方案是否合理,还有一些分布式的场景怎样解决?

4是考虑我能不能过他领导的下一关,最后也是收获蛮多,后来也没给 Offer。

赶集网

一面下午 5 点赶过去,跑了一天已经很疲倦了,然后开聊,先讲项目,项目中穿插着问一些知识点。

比如面试官问了 MySQL 索引,以及事务的隔离级别,可重复读是怎么实现的,MVCC 机制了解吗,等等。

当然更多的是场景设计,设计一个分库分表的场景,根据什么来设计。疲惫的我想直接回去了,后来面到 7 点之后,说老大在开会,下次通知来复试,然后就回去了,最后也没给 Offer。

......

综合下来,楼主最终选择了知名度最高的那家独角兽公司,而且它的年薪也给到了 30 多万,薪资是给的最高的。

投简历策略,先在小公司跑几家,面几家之后,就会有感觉了,知道大致的套路是啥了。

如果打定主意去互联网的话,非互联网公司不要投。跑来跑去的时间,不如把知识复习扎实点。

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();