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

[其他] 生物狗变形记第二弹 十五天搞定主要互联网公司offer

 
全局:

2018(1-3月)-BioInfo硕士+1-3年 | 内推|南加州地区 码农类General全职@

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

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

x
本帖最后由 nunuh89 于 2018-4-15 21:20 编辑

生物狗变形记第二弹 十五天搞定主要互联网公司offer

我是一只生物狗,当初我就是被那句 21世纪是生物的世纪 骗来了这个坑,后来经过努力回归了码农的行列。
然而不幸的是,最近一不小心被公司雷了。由于在此之前完全没有任何心理预期,没办法,只能立即开始准备面试,争取在短时间内找到工作。

Part 1如何在短时间准备面试?
leetcode如今已经进化到800道题了,15天刷完基本就是神仙。很明显,时间有限的情况下,追求刷完是不现实的,到最后我一共刷了不到200道题吧。然而刷题的功力到现在也没有回到巅峰的状态,实在是没有时间,不然我真的很希望能展现更好的我。正题,时间真的很紧,如何高效刷题成为关键。
刷题:我参考了TOP100算法题。我并没有写下大部分题,打字很花时间。取而代之的是,每一道题我都思考的非常仔细,如何推演出算法的过程是最重要的,这样子才能举一反三。甚至我忘记了这题怎么写的,我还是能推演出来。注意我们是理工科的,很多人都是在盲目刷题,刷完就忘记了。这很不行。对于其中我不会做的题目,我才会在leetcode上写一遍。
面经:面经是比较有参考价值的,他可能展现出公司面试的难易程度以及面试类型,从而进行针对练习。
项目:重点准备自己的项目。要熟悉自己的项目的流程,最challenging的部分,处理过的矛盾和主要的impact
系统设计:多看看贴子,熟悉主要的架构和会做envelop computing
额外:对于多线程,大家至少要过一遍。在真实工作环境中,不可能全部都是只用单线程编程的case。

Part 2什么是正确的面试方式
正确的面试方式比刷题其实更加重要。现在从面试流程开始一步步解析。
自我介绍最重要。为什么自我介绍我认为是最重要呢?其实作为面试官,大家心里都清楚,不就是一道题目嘛。做出来了没做出来能真正表现出这个人聪明还是傻吗?也表现不出你这个人能不能胜任这份工作。所以我觉得粉饰自己做过的项目会更加吸引人。onsite的时候,我们介绍自己的项目的时候,千万不要编,做过和没做过是有真正的区别的。而且尽量要对不同的面试官介绍不同的项目,或者是说明同一个项目里不同的细节。因为面试官们最后都会sync up。介绍一模一样的,最后sync up就很没有意思。

接下来就是算法题了。我们拿到题目。
第一件事要和面试官确认所有细节和问清楚edge case。切忌看见一样的题目就心花怒放,直接写题目。很多朋友都说,我遇到都是面经题,全部都做对了,为什么还是没有offer。试想一下,我们把面试官比作吃鸡选手,辛辛苦苦搜了一身神装,你直接开了一个外挂,你还觉得面试官会让你过吗?
第二件事是要和面试官go through你的思路。如果遇到了block,要积极和面试官要hint。这其实很重要,说明我们是guidable的candidate。以后工作好相处。而且面试官一旦有别的想法和思路,你如果知道那是work的,你或许有别的解法,也尽量follow面试官的idea。如果你明确能感知到面试官希望你用dfs,那你就用dfs吧。一旦和面试官确认过方法可行,我们就可以写代码了。
第三件事开始写代码。其实这个很重要,这个其实和算法面试是有区别的。如果只是逻辑推演能力,到第二项其实考察点已经结束了。第三项其实是用来考验一个程序员的内功。一个程序员逻辑推演能力固然重要,但是在industry的人就会知道写的出maintainable, testable和extendable的代码更加吸引人。两个人都能写出workable代码,但是一个人的method划分,variable名字和data structure选择的好,另外一个人代码全部揉成一坨,static method到处都是。你选谁?再啰嗦一下,其实写代码,切忌埋头苦干啥都不说,多跟面试官交流。就算东扯扯西扯扯也挺好的,我就曾和一个面试官聊到了coding philosophy,面试官也跟我聊的很开心。
.1point3acres
然后就是跑test了。这一点很重要,单独抓出来讲。写完代码后,可以说一句“let me help you go through the code with testcase.”。这是非常重要的,我们给面试官的感觉就是我们非常dedicated。我自己认为一遍AC其实一点价值都没有。不好意思,这里我比较不同意大多数面试机构的观点。大家都是码农,写代码没有错误这是不可能的事情。最好的方式是我通过跑这个test,我找到一些隐藏的bug。这才显得test是很有价值的。
. 1point3acres
最后就是问问题了。问问题很考技巧。问问题基本按照两个方向问,1.组里的工作内容和工作环境。2.通过问问题,找到自己和面试官相同的coding philosophy。目的是表现自己很easy going和确实和面试官很match。

Part 3系统设计
这里没讲怎么做系统设计,我下次找个机会再和大家讲讲吧。因为我个人觉得系统设计比算法要简单。

Part 4结果与感悟
有人说,上面全是演技。但是生活从来就是如此。其实换个思路,我们只是想把自己的优点在面试中表现出来罢了。
我花了十五天从开始准备到正式onsite。一共有7个onsite,除了一个公司还没有回应之外,其他都拿到offer了,感谢很多面试官们高抬贵手。其实这次被裁不是一件坏事。通过这次被裁,我真的有很多感悟,有了成长。我得到了很多人的帮助,mentor,房东,朋友,同事,同学,亲人。他们一知道我被雷了,立刻帮我联系身边的hr和他们的朋友或者是前同事进行内推。有人第一时间提供内推渠道,有人花了一天时间转发内推给hr,有人几次打电话跟进面试情况,我真的非常感动。这应该就是患难见真情。人在江湖走全靠朋友。

在这一年半里我在组里真的是学习了很多,做很多有意思的项目。自己写代码的功力也有很大的提升。也慢慢地从一个啥都不懂的new hire变成了组里重要的成员。非常庆幸能加入这个组并从中学到了很多东西。最后再次由衷地感谢在我生命中给予我帮助的所有人。

祝大家找工作顺利,希望我的这篇帖子能帮到你。
. Χ

..


补充内容 (2018-4-16 03:34):
湾区的小伙伴约起来~
. ----

补充内容 (2018-4-17 12:04):
https://drive.google.com/file/d/ ... vQ/view?usp=sharing

补充内容 (2018-4-19 02:10):
list 都在share 里面

评分

参与人数 15大米 +73 收起 理由
lakeshore + 3 给你点个赞!
cocoli0330 + 3 很有用的信息!
LesterFreamon + 5 很有用的信息!
Zia + 3 很有用的信息!
linlizh + 3 很有用的信息!

查看全部评分


上一篇:特别喜欢data science的海本大三小白,求各位前辈指一条明路!
下一篇:问个题,sort such that a[0]<a[1]>a[2]<a[3]...
推荐
lalayuan 2018-4-17 02:46:26 | 只看该作者
全局:
题主很强~感谢分享
回复

使用道具 举报

推荐
jiawei5131 2018-4-18 07:07:55 | 只看该作者
全局:
感谢LZ的分享 前几天ONSITE完了感觉自己做的也不好。LZ总结的很好。面试,最重要的是人和人的沟通,而不是冷冰冰的做题。
很多同学本末倒置了。不过有时候面试也看运气,如果面试的感觉很不好,那说明真的和公司没缘分,气场不合。不必强求
回复

使用道具 举报

无效楼层,该帖已经被删除
🔗
mk48 2018-4-17 03:09:05 | 只看该作者
全局:
可以跟LZ 要 TOP100算法题 的list嗎

评分

参与人数 1大米 +3 收起 理由
hhh146578 + 3 给你点个赞!

查看全部评分

回复

使用道具 举报

无效楼层,该帖已经被删除
无效楼层,该帖已经被删除
无效楼层,该帖已经被删除
🔗
刷题 2018-4-17 04:53:15 | 只看该作者
全局:
实力很强,雷掉这种是snap的损失
回复

使用道具 举报

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

本版积分规则

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