美国CS软件求职精华汇总:简历、刷题、系统设计、面试、内推、谈工资找工就业
也有同学表示,地里好的资源太多,看不过来,能否给个整理好的list,集中最好、最优、最靠谱的信息,一个list把最essential的东西囊括进来,求职只需要按照这个list走一遍。
这跟地里的宗旨 - 高信噪比,很吻合。所以我打算制定这样一个DIY求职清单。清单里推荐的内容,以免费为主。书籍和MOOC课程,作者也要挣口粮,不是完全免费的,但是价格都很便宜,或者有免费章节。
制作这个清单,我参考了地里很多人的推荐。大家有什么建议、有什么资源,欢迎分享,欢迎写review,请回复在这个帖子下面。积分奖励。
10个要点,每层回复里写一个:
1. CS自学基础课程和书籍清单 - 如果你没有基础或者基础薄弱
2. 做项目简历提升
3. 简历写作
4. 刷题
5. 系统设计课程
6. 面试准备与练习
7. 海投简历+内推
8. Soft Skills提升
9. 来自桌子另一边的反馈以及杂谈
10. 选组选offer
找quant 绿宝书比红宝书更有效。
大公司:
【选组选offer】如何选到理想的公司或team?
Startup/小公司:
[抛砖引玉]聊聊如何挑选靠谱的小startup
RSU vs Options
RSU和Option有什么区别?如何评估?
如何evaluate startup/创业型小公司或者pre-ipo的offer?必须要考虑tax!戳这里去抖包袱版看置顶帖子
聊聊作为面试官眼里的Facebook面试玄学
10家公司里有8家愿意negotiate offer给涨工资,但是10个求职者里只有3个人讨价还价了!按照下面文里说的操作,你的offer有可能增长至少50%!!
[salary negotiation] 求职如何跟公司讨价还价
中国学生一直强调刷题、大数据、机器学习、全栈,但很多人忽略了软技能,不会salary negotiation就是一个例子,动动嘴收入可能提高50%甚至更高,你得刷多少道题才有这效果?来,上个物美价廉的学习清单:学习清单:如何提高soft skills - how to negotiate
花时间认真学一下,你会受益终身。
New grad只有一个offer也照样可以negotiation!!!
参考神贴《微软尬聊Package体会》
我比较懒,不是很想去interview了,然后也比较喜欢我司MS(老板,同事,culture, 组来说)所以就打算尬聊把package聊上去。我当时听美国intern说能无compete 尬聊涨薪的时候还觉得不可思议,但后来自己尝试了后也觉得不是个坏主意,地里感觉也没太多讲尬聊的帖子,所以分享一下我尬聊涨工资的过程 :).地里其他关于salary negotiation的精华文章:
谈offer的理念和技巧--分享给刚拿到offer的小伙伴们
跨年期间跳槽完结,分享一波包裹negotiation心得疫情期间 只有一个offer的毕业生如何尬聊谈判工资
Offer谈判教程 - 我是怎么多拿到400K股票的
分享自己negotiate offer的方法
要给数字 - 亲测最好用的两个跳槽薪资谈判tips!
如果你看了这些文章,对于自己上阵还是没把握,可以戳这里注册,试试 moonchaser的salary negotiation service,这家公司不替你去谈判,而是指导你走完流程,等于是有专业人士手把手教你。并且,是根据结果来收费。
以下是大家常用的投简历申请工作的途径:
- LinkedIn加人,尤其是校友(无论国内国内、高中大学还是研究生,街坊邻居也可以),总之到处找人帮忙,如果对方所在公司招人,请ta内推;也可以针对目标公司来找人、加人
- Career Fair,大多数学校有两次,一次是秋季招聘会,一般在9-10月,也就是开学后不久;另一次是春季招聘会,一般在2月前后。去学校摆摊的,一般都是有职位要招人,而且考虑new grad(应届生)。
- 一亩三分地有内推版,有很多公司的员工愿意帮你提供内推。
- 海投简历对绝大多数人来说,必不可少。大家常用的网站有 Indeed、Monster、Dice。
educative.io网站上有12道最经典面试题目免费练习
- Binary Search
- Sum of Two Values
- Reverse a singly linked list
- Intersection Point of Two Lists
- Find kth permutation
- Reverse words in a sentence
- Check if two binary trees are identical
- Stack using Queues
- Clone a Directed Graph
- Boggle
- Fibonacci numbers
- Sum of Three Values
80 programming interview questions with step-by-step visual explanations provide learners a faster way to prepare for coding interviews. Solutions are available in C++, Java, Python, Javascript详细情况戳这里》》》Coderust 2.0: Faster Coding Interview Preparation using Interactive Visualizations
80道题一共$50,每道题$0.625,价格很便宜。建议大家至少做一下这12道免费的,不练白不练 ^_^
仔细研究面经
一亩三分地面经版有大量地里同学们分享的各公司面试题目。按照公司标签把题目找出来,认真准备,你有很高的概率会遇到原题。Leetcode + 一亩三分地面经,基本上就完整了。
下面两篇文章,从面试官的角度来看到coding题目:
谈谈coding面试的种类与基本应对策略
谈谈面试官在面试coding题目时的考察终点与心理活动
面试中需要注意的细节 - 如何让你刷题的辛苦得到应有的回报
非技术问题(也很重要!)
看地里大家的讨论:面试的时候哪些话不能说,哪些问题不能问 和
当面试官问你有没有问题想要问……
问BQ(behavioral question)时,他们到底在问什么
请问behavior question应该怎么抓着重点 - 这个帖子的精华在回复里,尤其是被管理员置顶了的回帖。
很多人求职会遇到system design的问题,尤其是有工作经验的人跳槽,必考。
【2023/09更新】
根据地里过去一年的最新总结,Alex Xu的两本书目前是最好的学习资料。
System design interview1
System design interview2
此外,他还开办了一个网站,深入浅出讨论系统设计的方方面面,更新更及时,戳这里去bytebytego
==== Grokking the System Design by educative.io =====
Staycrazy点评的很到位
twosumii在ta的求职总结《说说FLAG的面试经验》里推荐了educative.io的课程:个人认为,要想在System Design上面达到像刷题那样的熟练程度,对于刚刚入行一两年甚至三四年的朋友来说,是不可能的,因为这些问题要想准确答出,已经远远超出了对junior engineer的要求,甚至已经是senior engineer的水准。
但是即使面试官并没有期望你达到senior engineer的水准,至少他还是想要通过这个问题来摸清你的工程经验,如果所答完全非所问,那么给面试官留下的印象将是非常糟糕的。你的方案可以不是最优的,甚至可能离最优有一段距离,但是你的方案一定不能是ridiculous的。起码在小的scale上要能有可行性,可以展现你的一些基本design sense。
系统设计属于入门比较难,不知道从哪儿下手,但是一旦入门了就套路满满了。 有个收费的教程不错(不是广告,有几章免费的)bumbing在《马克找工作第二次,万字长文慎入》里也做了推荐 - educative.io的这门课 + DDIA书籍,是地里很多人推荐的。
https://www.educative.io/collect ... 12/5673385510043648
我觉得这是我见过的比较好的教程之一。 每一步都是面试真实发生的,并且他会讨论不同的情况要怎么设计,系统设计关键是就讨论trade off。
Grokking the System Design这门课有30节,其中六节免费:关于系统设计,我用的是grokking the system interview当零散时间的反复温习,主攻design data intensive application[DDIA], 反复认真读了3遍,然后去youtubu自己看cmu 15721,高级数据库的课程,发现对数据库的很多设计原理对理解设计系统时的trade off非常有帮助。听说Element of Programming Interview也不错,我没有读过。然后还看了一些公司的tech blog,uber和pinterest的写的非常好。然后练习就一个人在家里的白板上写写画画,自言自语,真正面试的时候表达自己就通顺多了。
- Load Balancing
- Caching
- Sharding or Data Partitioning
- Long-Polling vs WebSockets vs Server-Sent Events (*New*)
- Designing a URL Shortening service like TinyURL
- Designing Instagram
详细情况戳这里》》》Grokking the System Design Interview
有一位谷歌招聘委员会成员(大鲲老师),也在一亩三分地开课讲系统设计。这门课举了面试题目作为例子,但是内容并非完全针对面试,而是大鲲老师在谷歌做系统设计心得的分享。课程信息:
www.1point3acres.com/system-design-courses
此外,地里还有一些很好的总结:
http://www.1point3acres.com/bbs/thread-208829-1-1.html
http://www.1point3acres.com/bbs/thread-210083-1-1.html
http://www.1point3acres.com/bbs/thread-184542-1-1.html
还有同学自己做的淘专辑:System Design Prep 可以订阅,以及 一亩三分地里所有带“系统设计”tag的帖子:https://www.1point3acres.com/bbs/tag-20-1.html
相信大家都知道leetcode,这两年题数暴增,眼看着杀到500、600、700题,将来搞不好要上千甚至几千题。这样多的题目,无论是应届生,还是在职跳槽的,大家很难全都刷过来。
这里有个:LeetCode常见题目类型总结
在这里提醒大家:与其“贪多嚼不烂“,不如“孰能生巧”。
引用地里一位同学“一家衬衣厂”的原话:
Warald知道有在职跳槽的,刷了100多题,也顺利拿到大offer。当然,具体需要刷多少道题,每个人情况不一样,基础、学习能力都要考虑进来。就我个人而言,我刷到两百多的时候就不太刷新题了,而是花很多时间总结之前做过的题,总结过程我觉得自己提升了很多,能感受到自己对这个类型的题目理解明显的加深了,或者说豁然开朗?比例上,我有300道题AC,但有600的accepted solution。(另外提一句,据我了解到了,许多过了google的人刷题数量是这个级别,三百道左右,可当参考)
下面介绍北美码农求职面试经典书籍,图片可点。
1 Cracking the Coding Interview,以前叫CC150,现在CC189
地里有一个热门帖子《***重磅炸弹*** CC150 for Dummy》就是针对这本书给出的解题思路整理
Programming Interview Exposed
更基础一些,但是讲解了如何应对面试
推荐1:《The Google Resume: How to Prepare for a Career and Land a Job at Apple, Microsoft, Google, or any Top Tech Company》
戳这里有免费电子书下载 这是本书,看起来自然需要时间。
推荐2:小K文章《如何写好求职简历的几个注意事项》。小K是一亩三分地管理员之一,工作10+年,在多家一线公司作过面试官和hiring manager。她在地里也开设数据科学课程。
推荐3:可以去Fiverr上找HR出身的人给你修改简历,它家收费也很便宜。
2. 做项目简历提升
很多同学想找项目来充实简历,想学一些前沿技术。但是提供这方面培训的机构很多,很多收费也贵,质量参差不齐。
多年来,地里很多同学从各种MOOC网络课程获益。
关于如何做project添加到简历里,很多同学推荐coursera和udemy的课程。
地里有两个帖子分别介绍了他们的课程:
刷完coursera上full stack web development 专项课程后的感想
求前辈推荐比较好的Udemy上project-based course
jigsaw_becky在她的帖子《转cs找工作经历+亚麻实习经历》里分享:
上过的公开课:cs61b,rice的python1 & 2,斯坦福Database公开课,Udacity上Gatech的introto os,freecodecamp上frontend部分,coursera上一个html,css, js课程,coursera上一个android课程。为了补cs基础和充实简历上的公开课,但是现在我觉得有点走弯路了。如果想充实简历,自己在udemy上找别人带着做Project那种课做出来的东西,应该比我跟的公开课的courseproject的做出来的要好。(我没有udemy课程的推荐,我是后来才知道udemy这么好的,也没怎么跟过udemy)
此外,educative.io有一些很好的技术课程:
https://www.educative.io/explore
下面这个帖子,信息量巨大,是地里很多同学长期的汇总:【长期加分贴】介绍你上过的公开课
1. CS自学基础课程和书籍清单 - 如果你没有基础或者基础薄弱
现在想找计算机软件工作的人很多,各个专业学生都有想转CS的。关于该如何动手、该学习哪些知识,网上有各种推荐、众说芸芸。
周星驰版的《鹿鼎记》里,陈近南指着高高的绝世武功书架,对不会武功的小宝说:我是看了三年,练了三十年,才有今天的境界。Warald不会像陈师傅那样,不会对着薄弱甚至零基础的你,潇洒指一下算法导论、career cup、leetCode,然后做高人状飘然而去,留下你硬啃天书~
Warald提供一个可行也相对容易实现的清单,希望你能从入门学起、循序渐进:
戳这里》》》阅读CS自学清单
✨ 您正在体验新版论坛UI

