查看: 16721| 回复: 43
跳转到指定楼层
上一主题 下一主题
收起左侧

[找工就业] Mid Level码工跳槽的一点经验分享

   
全局:

2021(4-6月)-CS硕士+3-5年 | 内推| 码农类General全职@

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

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
本帖最后由 白菜3383 于 2021-7-16 12:58 编辑
. ----
最近这几个月紧锣密鼓面了几家公司,度过了一段犹如高考一样的日子,以至于经常做梦面试,被问到不会然后惊醒... 还好最后终于如愿拿到了一些比较满意的offer,得益于地里的各种经验贴(准备、面经、谈package等),也想来分享一些经验和感悟吧。楼主只有三年工作经验,所以这个帖子更多的是针对mid level左右的candidate...
. 1point3acres

【Timeline】
二月底开始刷题,四月底投简历 + 开始看design,五月一整个月电面,六月一整个月onsite,最近才签了offer。


【面试结果】
Snap - 电面拒-baidu 1point3acres
Roblox - onsite拒-baidu 1point3acres
Databricks - onsite拒. 1point 3acres
Compass - Senior
Instacart - L5
Facebook - E4
Google - L4
Linkedin - Senior
Robinhood - L2
. .и

【刷题】
不管是转专业,还是科班出身,刷题估计是大部分人最头疼的部分,好像和平时的工作没有半点关联,还劳神费心,刷到直薅头发。

然而真的半点关系没有吗? 楼主这次面试下来的体验就是,刷题其实并不是要考察你到底会不会某种算法 - 手撸红黑树、Quad tree什么的。而是考察candidate的解决问题和沟通能力。很多时候面试官并不期待你会最优解,包括FB、Google的面试,也并非最优解不可。 楼主有很多次都是从Brute force说起,然后一点点优化,到最后得出一个“比较”efficient的解法。可能Brute force + memoize就是我一开始能想到的最优解了,然后面试官也OK,那就开始写。 写的过程中就会意识到很多可以优化的地方,或者重复计算的地方,反正就是某些规律。有了这些规律,之后就方便找更优解了,也由此给面试官留下一个很好的印象 - 有清晰的解决问题的思路。

另外一个重要的点就是沟通,一定要在有了一个比较清晰的思路之后再开始说,切忌反反复复、随意推翻自己之前说的,不然面试官很难follow你的思路。 可以把最核心的一些data structure列出来,比如我在写题的时候,如果需要用到诸如map,set,stack,queue等结构的时候,都会在讲思路的时候就把他们列出来,并且起很descriptive的名字。 这样几个核心structure写下来,再随便添几个if else,一段很明确的pseudo code也就出来了,等你实际写的时候,这个就是一个非常明确的步骤,你只需要把他们翻译出来就行了。
写完后有的面试官会要求手动跑test case,那同样,把最关键的一两个data structure列出来,每跑一步的时候更新一下他们的值,就能更直观的看出你的算法是如何修改这些关键值的,如果有问题也更容易debug。


【System Design】. Waral dи,
第二大重点就是design。 地里强调了无数遍的DDIA,确实有用,后悔自己没有早点看,对自己的工作也很有用。这本书值得精读,但是如果时间有限的话,推荐精读第2章的data model部分和第5、6、7、9章,略读10,11章。-baidu 1point3acres
有了这些基础知识,再结合一些design的例题,差不多就能应付比较初级的design了。 例题可以去System design primer(github)上找,也可以看youtube。 需要注意的是,primer里总会讲到什么CDN、load balancer等各种fancy的部件,甚至还有前端怎么设计等等,然而楼主面了8场design,没有一个是让我设计这么high level, 从前端到后端到DB的大系统的。 更多的是给定一个非常实际的应用问题,然后设计后端的service以及data model. 比如有一道经典题目 - 如何query全站过去五分钟内最popular的posts. 如果是一小时、一整天呢? 要考虑如何存数据才能更快的索引,如何query DB才能不overload,是online service还是offline等等。 根本不会问你前端怎么搞,CDN怎么能让系统变快。 另外好多人提到估算数据量或者QPS,我觉得估算出是GB还是TB还是PB级别的数据量就够了,不需要算的很准确。 更不需要根据你设计的表来算每个field是多少byte。

当然,design没有边界,花10小时准备和花1000小时准备那肯定是不一样的。我说的也都是针对mid level的,不适用于更高级别的哈,senior啥的肯定要求就非常不一样了...

. Waral dи,. check 1point3acres for more.
【BQ】
网上有太多例题了,按照麻厂LP,大概选两三个project能体现自己各种leadership就行。 在答的时候切忌长篇大论讲project细节,面试官根本不关心你DB是怎么设计的,他们就只想听各种点,你能很快的把这些点说出来就足够了。 这一步我觉得花两个晚上准备就OK,我是参照这个帖子里的问题做准备的: https://www.1point3acres.com/bbs/thread-551630-1-1.html-baidu 1point3acres


【Project Deep Dive】
这个还是很重要的,有些公司很喜欢问你以前的project的细节,所以起码找一个你认为有tech难点的project,认认真真的想一下各种细节,细到一个完全没有接触过这个project的人在听完你讲述之后能够搞懂你为什么做各种选择和decision、为什么用某种技术,以及各个design细节等等。 按照能讲30分钟的时长做准备,才不会被问到卡壳。
-baidu 1point3acres

【Compensation】拿到offer就可以开始讨价还价了,一定和HR客客气气的。 我知道很多HR很难沟通,还有点爱答不理的,这个时候如果你表现出来很生气,甚至和HR搞僵了,其实对自己没有任何好处。。

Competing offer很重要,最好不要只拿到一个offer就心满意足把剩下的面试都推掉。Mid level compete和不compete,年薪可能轻松差七八万甚至还多!Compete我参照了这个帖子:https://www.1point3acres.com/bbs/thread-718586-1-1.html     这个帖子说第一步,相互试探initial number的时候不要给对方透露任何数字,但是我后来发现如果一开始什么信息都不透露,对方很可能拿一个极低的包来试探你。。这就有点浪费时间和心情了。 所以我感觉如果你有几个offer,可以第一部第二部合并起来:选一个不那么低的,一开始就告诉HR,同时说还有其他offer正在finalize数字,会keep you posted。 这样起码对方上来就能给你一个能看的数。  

但是最好不要上来就把最大包告诉对方,要给自己留一手... 不然对方选择性忽略最大,给你match个次大的,你说难受不难受。 反正salary negotiation就是和对方磨嘴皮子的过程,这个过程也很劳神费心,但是想一想动动嘴几万块到手,也还是值得的!

理想情况当然是几个offer同时出结果,然后互相compete,所以自己在安排面试的时候也应该把各种时间线合理安排一下。如果各个公司时间时间差的有点多,那也别慌,就说自己需要多点时间考虑就行,也可以让HR帮忙安排再和组里聊聊什么的,这样妥妥一个星期就拖出去了。



最后祝大家都找到心仪的工作!


. 1point3acres


补充内容 (2021-07-17 04:14 +8:00):
顺便补充一下面试体验:
Snap, Databricks, Compass, Instacart, Linkedin的HR都超级好,有问必答也都非常耐心也很有激情。
. Waral dи,
Robinhood的HR团队刚刚扩充,不太熟悉业务,还有点联系不上,比较难受。
.1point3acres
Facebook的HR一开始鸽了我两次,后来意识到这个人在欧洲,他以为我投的是欧洲的岗位... 转成US的就好多了。

最差劲的就是Google的HR,来回换了两三个HR体验都不是很好,放鸽子、team match给match了两个team就不进行下去了,以及讲价的时候不耐烦、卖情怀。给了个超级low的包,纵使其他家比他家多几十万股票,也不match。
.--
最后楼主还想替Tiktok家HR鸣个不平,地里给人的感觉是字节家HR人人喊打,但是我聊了一下感觉他们非常nice,很耐心也很细致,问到一些敏感话题 比如是否需要和国内开会等等,也都如实回答。我最后因为一些个人原因没面完他家,但是面的时候没有感觉到任何red flag...

评分

参与人数 79大米 +167 收起 理由
ryc1x + 1 给你点个赞!
zxjin + 1 给你点个赞!
13abc + 1 很有用的信息!谢谢分享
gabrielleL + 3 很有用的信息!
Fo_Rsevr + 2 给你点个赞!

查看全部评分


上一篇:苹果的面试机制是不是需要改进?
下一篇:请问大家有做过这个caliper assessmen吗?

本帖被以下淘专辑推荐:

全局:
恭喜楼主!另外说一下我感觉比较神奇的一点,就是我前几个月也面了一圈,我的sd全都是high level的然后一点一点细分再优化的。
比如做一个什么功能,假设是一个startup,然后一开始怎么做,lb,server,db之类的。然后再scale这样。
. 1point 3 acres跟你说的完全不一样哈哈,不过可能跟我个人经历也有关,之前一直是startup的经历

评分

参与人数 3大米 +4 收起 理由
白菜3383 + 2 给你点个赞!
zsz1990ustc + 1 赞一个
UBCCS + 1 赞一个

查看全部评分

回复

使用道具 举报

全局:
恭喜恭喜 感谢分享
回复

使用道具 举报

推荐
 楼主| 白菜3383 2021-7-21 04:20:50 | 只看该作者
全局:
linda101 发表于 2021-7-19 23:30
恭喜恭喜楼主 想问楼主找工作内推还是在LinkedIn申请?

大部分内推,小部分去公司网站上网申,从没在linkedin上申请过。。。  我感觉在公司网站上申请甚至比内推还要靠谱... 内推求人半天,可能一拖拖一个多星期才推出去,网申很多第一天投,第二天、甚至是当天HR就reach out了

评分

参与人数 1大米 +1 收起 理由
zsz1990ustc + 1 赞一个

查看全部评分

回复

使用道具 举报

🔗
 楼主| 白菜3383 2021-7-17 10:28:57 | 只看该作者
全局:
顺便再求一波大米...
回复

使用道具 举报

🔗
lei29 2021-7-17 10:57:02 来自APP | 只看该作者
全局:
很细致了感谢楼主🙏

评分

参与人数 1大米 +2 收起 理由
白菜3383 + 2 赞一个!

查看全部评分

回复

使用道具 举报

全局:
最后去了哪家?
回复

使用道具 举报

🔗
小蓝之歌 2021-7-17 12:40:26 | 只看该作者
全局:
给大米了!
同在面Compass和Instacart。蹲一个lz最后去了哪。
Instacart recruiter效率超级高。前一晚投简历,第二天一早就联系了。。别的公司还在recruiter和店面阶段,他家都已经onsite完了。。
回复

使用道具 举报

🔗
风雪归人 2021-7-17 14:22:08 | 只看该作者
全局:
已加米,同想知道楼主最后去了哪
回复

使用道具 举报

🔗
rocky.zhu 2021-7-17 14:27:47 | 只看该作者
全局:
不够级别,没法给你加米,就是想表达一个赞!

评分

参与人数 1大米 +2 收起 理由
白菜3383 + 2 欢迎来到论坛!

查看全部评分

回复

使用道具 举报

🔗
donnice 2021-7-17 14:36:08 | 只看该作者
全局:
我也是觉得字节HR很不错,全程很nice,面试官也很professional
回复

使用道具 举报

🔗
jason1016 2021-7-17 16:37:24 | 只看该作者
全局:
给定一个非常实际的应用问题,然后设计后端的service以及data model
. ----
楼主能继续展开一下吗?还有哪些在面试中碰到的问题?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表