传说中的谷歌招聘委员会成员之一,从幕后走出来,教你学系统设计!


一亩三分地论坛

 找回密码
 获取更多干活,快来注册
Babeltime游戏工作室招工程师、美术和策划
把贵司招聘信息放这里
查看: 9645|回复: 74
打印 上一主题 下一主题
收起左侧

[找工就业] 说说FLAG的面试经验

  [复制链接] |试试Instant~ |关注本帖
跳转到指定楼层
垅头
twosumii 发表于 2017-8-22 13:14:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

2017(7-9月)-[17]CS硕士+1-3年 - 猎头|BayArea Other全职@Google在职跳槽

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干活,快来注册
x
至于面试准备部分,刷题刷了几个月,在职刷题挺累的,每天下班一溜烟回家开始刷,吃饭的时候就看系统设计视频。。最后的状态就是
拿题就能写。
就从任何一道题里面随机抽取3个单词出来。. more info on 1point3acres.com
我能把这道题从Brute Force到最优解全写出来。
这道题有几个follow up,每个考点是什么。我都知道。
每道题代码写完的形状,全在脑海里一清二楚。
这道题的频率,这道题的变形题,和所有related problem,和哪家喜欢考,全知道。简历找不同的人用各种办法改了一百万遍。
如果从1万份简历里挑出来1份,那肯定就是我的那一份。




然后面了FLAG。 基于一个 A, 各自表述原则,A = Apple

没有offer的:
F:套路最深,从behavior 到coding 到 design,全部都是套路,coding面经套路,说实话,理解这种招聘方式,但是实在不是喜欢,最后莫名其妙挂了,feedback全部positive,可能被面试官反套路了。

剩下的:
G:多少还是会稍微有个变化,不过考虑到我的刷题状态,呵呵。

L: 也是很多套路,coding,design也都是面经,唯独tech 交流和behavior,还是能有一些交流,总体体验挺好,当然很多时候取决于面试官看你爽不爽,正好遇到个不错的国人。

A:重点说一下,从面试内容来说,果子家是最好的(当然他们是各自team自己组织面试,方差很大),我面的team基本都是出很简单的coding,比如LC17, 写出来之后基本就是各种讨论,比如在真实生活中,我有这种这种情况,你要怎么处理,不只是从代码角度,也考察你思维,从产品角度来看。然后假如scale up了,多线程了,你怎么办。   或者是给一段web server的代码,从各种角度(implement, functional test, unit test, hack....)  讨论怎么改进。 或者给你一段代码,说是历史遗留的你不能改动,现在我要新功能,但是历史遗留的代码太多人用了你不能改,你怎么work around。 比如你正好用到hashmap, 那么我就就讨论下load factor, rehash之类的。  大部分都是没有标准答案的问题,而且讨论经常是技术方面和产品方面都要讨论,然后穿插问一些基础知识,总之挺考验面试官的水平,当然也考验面试者的水平。   

我觉得面试就应该是这样的嘛,不过这种面试非常难标准化,这也是大部分公司没办法采用的原因吧,也是A家喜欢招有经验的原因吧。
唯一比较恶心的是,地里其他帖子也有说,午餐的时候还在问问题,搞得你不能好好吃饭。


总的来说FLAG们面试体验都很不错。
-google 1point3acres面试内容各有千秋,我觉得apple最好。




然后说说怎么化解套路吧

coding:
就是我上面说的那些,从Brute Force到最优解全写出来, 完全bug free . 我觉得问LC 刷几遍才去面试这种问题是在没有意义,啥时候你觉得到了那种状态了,就差不多了,人题合一。背的多了,自然就理解了。我觉得我智商不咋地,理解东西比别人慢,所以只好硬刷。


系统设计:.鐣欏璁哄潧-涓€浜?涓夊垎鍦?/font>
属于入门比较难,不知道从哪儿下手,但是一旦入门了就套路满满了。 有个收费的教程不错(不是广告,有几章免费的) 鏉ユ簮涓€浜?涓夊垎鍦拌鍧?
https://www.educative.io/collect ... 12/5673385510043648.鏈枃鍘熷垱鑷?point3acres璁哄潧
我觉得这是我见过的比较好的教程之一。 每一步都是面试真实发生的,并且他会讨论不同的情况要怎么设计,系统设计关键是就讨论trade off。
我最近忙完了也打算把系统设计的套路总结一下录成小视频放出来,或者搞个硅谷猥琐男直播,不过拿完offer拖延症就犯了,不知道什么时候准备好。
大致归类就是
top k 问题 (大部分情况是分成数据搜集,数据处理,计算top k, 中间讨论 loosy counting, sticky sampling)其实type ahead auto suggestion也可以归类成top k
calendar问题 (怎么处理repeating event ? pre-calculate )
tinyUrl 问题 (基本功)
GeoHash/POI 问题 (知道geohash原理,quad tree怎么sharding)
NewsFeed 问题 (fan out on write vs fan out on read)
Google 三驾马车原理搞清楚,可以解决design dropbox
real time 聊天问题 (long poll vs socket)

github上还有很多有用的教程,不要偷懒,即使很多重复的,也都看,每看一遍都是加深印象。


行为面试:. From 1point 3acres bbs
首先你要有故事,没有故事的话。想想你都写了神马简单代码:
比如,你自己写了个hashtable class,很简单吧,什么,你这个都没写过? 那么,现在去写一个

面试的时候:. more info on 1point3acres.com

1. what's the most challenge job?
我曾经小组作业,搞了一个网站,当数据变多的时候我发现哎呀,速度变慢了 ,怎么办?. 涓€浜?涓夊垎-鍦帮紝鐙鍙戝竷
我分析分析,发现俺们网站每个request要获取好多信息,都要去数据库里面抓,好傻逼啊,当然因为当时大家都不懂嘛,所以数据库抓最简单。
那么我就想啊,我们有一些数据可以放在缓存里面的对不?有些xxx限制(比如老师要求),用不了memcached啥的,我只好自己写一个咯,为了写个缓存,我要考虑这个问题, ttl, con-current ... 其实就是把memcached的原理讲一遍。 最后,我这个缓存的方案,访问速度提升了200%,我好开心。

2. what happend when you have conflict?
我们网站好慢好慢,我的队友说我们应当重写SQL,一个query返回所有东西。
我说我们要个缓存,因为写长长的SQL太复杂。
僵持了!!X!  完全无法睡服对方有木有!!
.鐣欏璁哄潧-涓€浜?涓夊垎鍦?/font>
不行,退一步吧,我们都想把产品做好,所以我们各自都写了代码,然后测试不同情况,当有100k 数据的时候, QPS = 10的时候, 当 1M 数据的时候, QPS = 100的时候...
然后我发现,数据大的时候我的方法好
数据小的时候他的方法也不错,
最后考虑到我们实际上真实情况数据量为xxx,所以我的方法好。

总之就是优缺点总结,然后说没有标准答案,但是我们这个情况我的方法比较好。


3. what happend when you have conflict, and your teammate is correct?
上面的故事反过来说。


准备3个故事(以防被问多个问题的时候没有故事),然后剩下的,面试前看看公司的文化,比如L家喜欢 act as owner, 你就多说说,虽然我只负责这个功能,但是我看到其他人写的代码不合理的时候,我会跟他讨论然后修改,我觉得我们是个团队,对于产品应该要有ownership,而不是只改自己的东西。 . visit 1point3acres.com for more.
. 鍥磋鎴戜滑@1point 3 acres
比如A家喜欢product sense, 你就多说虽然我是搬砖的,但是我拿到PM 的需求的时候我会思考,这个真的是合理的吗?不合理的我会告诉PM。。。

比如F家喜欢move fast,working solution, 你就说我有一个想法,我从来不等,我愿意深夜里买醉,哦不对,我愿意深夜里实现它,毕竟没有彻夜痛哭,哦不对,没有彻夜coding的人不足以谈人生。我会先搞个working code,哪怕有hard code也没关系,我们可以之后不断进化。


你看,满满的套路。
以上是我作为面试者的想法,至少这些方法对我非常有用。以后加入以上公司也有机会参与面试了


至于我怎么拿到面试的,港真,都是猎头来联系我,所以我也不知道他们看上我什么了?


. more info on 1point3acres.com
如果板上有面试官,发现我写的很傻X,欢迎批评。
如果板上有面试官,发现面试者用以上套路,那么就放他们一马把,毕竟刷一亩三分地的都是好孩子。








. Waral 鍗氬鏈夋洿澶氭枃绔?. visit 1point3acres.com for more.
. 鍥磋鎴戜滑@1point 3 acres

评分

31 查看全部评分
推荐
 楼主| twosumii 发表于 2017-8-23 04:52:12 | 只看该作者
2011051305 发表于 2017-8-23 01:15
我想请问楼主跳槽以前是否是曾经刷过题的,还是完全第一次接触刷题? 如果以前曾经刷过题有过算法数据结构 ...

我当年面试的时候,问问java基础知识,会写two sum 的多种解法就够了,哎忽然觉得就是孔乙己,研究茴有几种解法。所以基本没刷过。
. From 1point 3acres bbs
本科不是计算机相关,不是理工科,所以没什么基础,研究生上了算法课,属于一知半解。

并没有刷满600,FLAG面经三四百题,基本cover了,关键在举一反三,可以帮助理解。

没有什么技巧,很多时候就是徒手写出多种解法,然后背下来。 每天默写,然后突然有一天就理解了。中间过程是很痛苦的,鬼知道我经历了什么。

我觉得以后我再刷题应该会比现在好很多,毕竟以前刷过。
. from: 1point3acres.com/bbs
虽然我工作了几年,用过的最复杂的算法就是BFS遍历树了,大部分时间是写IF .. ELSE...。但是我觉得还是受益于刷题的,平时自己工作发现代码写的漂亮了很多,再看某些人写的代码,简直惨不忍睹。. 鐣欏鐢宠璁哄潧-涓€浜╀笁鍒嗗湴


.1point3acres缃慄/font>


评分

1 查看全部评分
回复 支持 8 反对 0 使用道具 举报
推荐
 楼主| twosumii 发表于 2017-8-29 05:20:02 | 只看该作者
smilingsoul 发表于 2017-8-28 12:39
"我能把这道题从Brute Force到最优解全写出来。 这道题有几个follow up,每个考点是什么。我都知道。 每道 ...

不看讨论。

1. 自己想,
2. 然后看地理其他人发的面经(比如我面F,就把地理所有的F面经都看过一遍)

不要嫌浪费时间,我觉得这个过程最重要。
回复 支持 1 反对 1 使用道具 举报
推荐
 楼主| twosumii 发表于 2017-8-23 06:03:50 | 只看该作者
fentoyal 发表于 2017-8-23 05:29
lz霸气十足,请问lz最后去了哪家?lz 1-3年ms是拿的几级的offer?

1-3  =  3
都是senior
没想好去哪儿。
回复 支持 1 反对 0 使用道具 举报
推荐
bearicc 发表于 2017-8-23 00:58:49 | 只看该作者
twosumii 发表于 2017-8-23 00:56
1. 自己举一反三,比如 max subarray,  你做的时候想想min subarray . move zero到左边,到右边,.鐣欏璁哄潧-涓€浜?涓夊垎鍦?/font>
2. 地 ...

说的非常好!
回复 支持 0 反对 1 使用道具 举报
地下室
bearicc 发表于 2017-8-22 22:02:10 | 只看该作者
这道题有几个follow up,每个考点是什么。我都知道。

请问楼主, follow up 一般都在哪里找 ? LC一般也没提follow-up 啥的
回复 支持 反对 使用道具 举报
下水道
nebulaliang 发表于 2017-8-22 23:22:15 | 只看该作者
楼主最后去哪儿了?
回复 支持 反对 使用道具 举报
地基
 楼主| twosumii 发表于 2017-8-23 00:56:28 | 只看该作者
bearicc 发表于 2017-8-22 22:02
请问楼主, follow up 一般都在哪里找 ? LC一般也没提follow-up 啥的

1. 自己举一反三,比如 max subarray,  你做的时候想想min subarray . move zero到左边,到右边,
2. 地理面经看。
回复 支持 反对 使用道具 举报
9
XiaonanD 发表于 2017-8-23 01:04:58 | 只看该作者
楼主写的非常好!从followup到behavior都非常实用。mark起来最近面试好好学习!
回复 支持 反对 使用道具 举报
10
2011051305 发表于 2017-8-23 01:15:11 | 只看该作者
我想请问楼主跳槽以前是否是曾经刷过题的,还是完全第一次接触刷题? 如果以前曾经刷过题有过算法数据结构基础,但还是需要“刷题刷了几个月”, 是不是说刷题这个事情其实算是捡起来-丢掉-捡起来的过程, 之前就算刷过,就算做过,还是会忘?

我这么请教 是因为我发现有些hard的题目, 我即使当时(没看答案)磕磕绊绊的靠着IDE做出来了,或者(扫了一遍答案思路,没仔细看题解code)按照自己理解次写了code,一个月后很可能还是会没思路,只是说捡起来的速度会比第一次完全没见过要快不少。

但是楼主也提到自己最后的境界是“拿题就能写。 就从任何一道题里面随机抽取3个单词出来。”  觉得楼主是不是有好的办法? 求破~
回复 支持 反对 使用道具 举报
11
evanescence 发表于 2017-8-23 01:19:20 | 只看该作者
楼主太强了。。600个形状要怎么记QWQ
回复 支持 反对 使用道具 举报
14
bumbing 发表于 2017-8-23 05:15:25 | 只看该作者
厉害了我的哥  楼主简直刷题刷成仙了!
回复 支持 反对 使用道具 举报
15
今天不吃早餐 发表于 2017-8-23 05:26:41 | 只看该作者
赞一个! 紫薯紫薯
回复 支持 反对 使用道具 举报
16
fentoyal 发表于 2017-8-23 05:29:43 | 只看该作者
lz霸气十足,请问lz最后去了哪家?lz 1-3年ms是拿的几级的offer?
回复 支持 反对 使用道具 举报
17
2011051305 发表于 2017-8-23 05:44:10 | 只看该作者
twosumii 发表于 2017-8-23 04:52
我当年面试的时候,问问java基础知识,会写two sum 的多种解法就够了,哎忽然觉得就是孔乙己,研究茴有几 ...

好的!谢谢楼主!

PS 我有一种以前高考的时候老师说 你就背下来 读书百遍其义自见 的既视感。。。天啊好像回到痛苦的高三==
回复 支持 反对 使用道具 举报
19
fentoyal 发表于 2017-8-23 06:24:23 | 只看该作者
twosumii 发表于 2017-8-23 06:03
1-3  =  3
都是senior
没想好去哪儿。

GF 3级是entry level呀,senior是5. 你是3还是5?
回复 支持 反对 使用道具 举报
20
 楼主| twosumii 发表于 2017-8-23 07:26:20 | 只看该作者
fentoyal 发表于 2017-8-23 06:24
GF 3级是entry level呀,senior是5. 你是3还是5?

不是还有T4嘛。
回复 支持 反对 使用道具 举报
本版积分规则
关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 GMT+8, 2017-9-22 12:33
Powered by Discuz! X3 © 2001-2013 Comsenz Inc. Design By HUXTeam
快速回复 返回顶部 返回列表