三年半经验,三面鹅厂,被虐的体无完肤....

文中的我,不是 chenssy ,而是作者本人。很多我都想进大厂,也都知道进大厂很难很难,而且面试周期也长(笔试、初试、复试、终试)。今天给大家带来作者的三面鹅厂的经历,希望对大家有所帮助,有所借鉴!!

经过半年的沉淀,加上对MySQL,redis和分布式这块的补齐,终于重拾面试信心,再次出征。

鹅厂

面试职位:go后端开发工程师,接受从Java转语言

都知道鹅厂是cpp的主战场,而以cpp为背景的工程师大都对os,network这块要求特别高,不像是Java这种偏重业务层的语言.

之前面试Java的公司侧重还是在数据结构、网络、框架、数据库和分布式。所以OS这块吃的亏比较大

一面:基础技术面

电话面试,随便问了些技术问题,最后还问了个LeetCode里面medium级别的算法题,偏简单。大概整理回忆了一下:

redis有没有用过,常用的数据结构以及在业务中使用的场景。

redis的hash怎么实现的?

rehash过程讲一下和JavaHashMap的rehash有什么区别?

redis cluster有没有了解过,怎么做到高可用的?

说说redis的持久化机制,为啥不能用redis做专门的持久化数据库存储?

了不了解tcp/udp,说下两者的定义,tcp为什么要三次握手和四次挥手?

tcp怎么保证有序传输的,讲下tcp的快速重传和拥塞机制

知不知道time_wait状态,这个状态出现在什么地方,有什么用?

udp是不可靠的传输,如果你来设计一个基于udp差不多可靠的算法,怎么设计?

http与https有啥区别?说下https解决了什么问题,怎么解决的?说下https的握手过程。

看你项目里面用了etcd,讲解下etcd干什么用的,怎么保证高可用和一致性?

既然你提到了raft算法,讲下raft算法的基本流程?raft算法里面如果出现脑裂怎么处理?

有没有了解过paxos和zookeeper的zab算法,他们之前有啥区别?

你们后端用什么数据库做持久化的?有没有用到分库分表,怎么做的?

索引的常见实现方式有哪些,有哪些区别?

MySQL的存储引擎有哪些,有哪些区别?

InnoDB使用的是什么方式实现索引,怎么实现的?说下聚簇索引和非聚簇索引的区别?

有没有了解过协程?说下协程和线程的区别?

算法题一个,剑指offer第51题,数组中的重复数字?

从上面的情况来看,面试大厂redis/MySQL都是比较重要的,大概说下我自己的回答情况,redis这块没啥问题,具体rehash有印象是渐进式的,但是具体原理可能答的有点出入。

tcp的 time_wait 这块答的不是很好,之前没有了解过quic机制的实现,所以问可靠性udp的时候,基本上脑子里就照着tcp的实现在说。

https这块没啥说的,之前项目里面有用到类似的东西,研究的比较清楚了。

raft算法这个因为刚好在刷6.824(才刷到lab2。。。),答的也凑合,不过paxos和zab算法确实不熟悉,直接说不会。

MySQL这块很熟了,包括索引,锁,事务机制以及mvcc等等,没啥说的,都已经补齐了。

协程和线程,主要说了go程和Java线程的区别以及go程的调度模型。面试官提示没有提到线程的有内核态的切换,go程只在用户态调度。

最后一个算法题,首先说使用HashMap来做,说空间复杂度能不能降到O(1),后面想了大概5min才想出来原地置换的思路。

总得来说,答的还行,一面就这么过了。

二面:项目技术面

二面从基础技术考察转移到了项目,主要问了我下面一些问题:

针对自己最熟悉的项目,画出项目的架构图,项目主要的数据表结构。

说说项目中使用到的技术点,项目的总峰值qps,时延。

有没有分析过时延出现的耗时分别出现在什么地方,项目有啥改进的地方没有?

如果请求出现问题没有响应,如何定位问题,说下思路?

tcp 粘包问题怎么处理?

然后还问了下缓存更新的模式,以及会出现的问题和应对思路?

除了公司项目之外,业余时间有没有研究过知名项目或做出过贡献?

这一面答的也比较顺利,因为都是围绕项目,自己很熟悉,基本都没有啥问题,除了面试官说项目经验稍弱之外,其余还不错。

三面:综合技术面

这面面的是阵脚大乱,面试官采用刨根问底的方式提问,终究是面试经验不够,导致面试的节奏有点乱。举个例子:

其中有个题:go程和线程有什么区别?

:起一个go程大概只需要4kb的内存,起一个Java线程需要1.5MB的内存;go程的调度在用户态非常轻量,Java线程的切换成本比较高。

接着问为啥成本比较高?因为Java线程的调度需要在用户态和内核态切换所以成本高?为啥在用户态和内核态之间切换调度成本比较高?我简单说了下内核态和用户态的定义。

接着问,还是没有明白为啥成本高?心里瞬间崩溃,没完没了了呀,OS这块依旧是痛呀,支支吾吾半天放弃了。

后面所有的提问都是这种模式,结果回答的节奏全无,感觉被套路了。大多度都能回答个一二甚至是一二三,但是再往后或者再深入的OS层面就GG了。

后面问了下项目过程中遇到的最大的挑战,以及怎么解决的?

还问了一个问题定位的问题,服务器CPU 100%怎么定位?

可能是由于平时定位业务问题的思维定势,加之处于蒙蔽状态,随口就是:

先查看监控面板看有无突发流量异常

接着查看业务日志是否有异常,针对CPU100%那个时间段,取一个典型业务流程的日志查看

最后才提到使用top命令来监控看是哪个进程占用到100%

果然阵脚大乱,张口就来,捂脸。。。 

对这个问题,本来正确的思路应该是先用top定位出问题的进程,再用top定位到出问题的线程,再打印线程堆栈查看运行情况

这个流程换平时肯定能答出来,但是,但是没有但是。还是得好好总结。

最后问了一个系统设计题目(朋友圈的设计),白板上面画出系统的架构图,主要的表结构和讲解主要的业务流程,如果用户变多流量变大,架构将怎么扩展,怎样应对?

这个答的也有点乱,直接上来自顾自的用了一个通用的架构,感觉毫无亮点。

后面反思应该先定位业务的特点,这个业务明显是读多写少。然后和面试官沟通一期刚开始的方案的用户量,性能要求,单机目标qps是什么等等?

在明确系统的特点和约束之后再来设计,而不是一开始就是用典型互联网的那种通用架构自顾自己搞自己的方案。

面试结果:3天后收到短信,被拒

总结:

tcp/udp,http和https还有网络这块(各种网络模型,已经select,poll和epoll)一定要非常熟悉「大厂对基础的要求还是非常高的,所以基础很重要」。

一定要有拿的出手的项目经验,而且要能够讲清楚,讲清楚项目中取舍,设计模型和数据表「说明项目经验很重要」。

分布式要非常熟悉「进大厂必备的技能啊」。

常见问题定位一定要有思路「思路决定一切」。

操作系统,还是操作系统,重要的事情说三遍「底层的重要性」。

系统设计,思路,思路,思路,一定要思路清晰,一定要总结下系统设计的流程「说明一定要有自己的独特的见解与想法」。

一点心得,平时blog和专栏看的再多,如果没有自己的思考不过是过眼云烟,根本不会成为自己的东西,就像内核态和用户态,平常也看过,但是没细想,突然要自己说,还真说不出来,这就很尴尬了。勿以浮沙筑高台,基础这种东西还是需要时间去慢慢打牢,多去思考和总结「知识源于自已的思考与总结」。

作者:codegoose

https://segmentfault.com/a/1190000017864721

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,542评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,596评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,021评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,682评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,792评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,985评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,107评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,845评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,299评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,612评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,747评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,441评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,072评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,828评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,069评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,545评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,658评论 2 350

推荐阅读更多精彩内容