下岗了,现在怎么办?

2020-09-21 00:50:14

作为H1B上的移民,当你下岗时,你有整整60天的时间找到一份新工作。这是一个非常短的时间窗口来探索和找到任何工作,更不用说一份与你的技能和兴趣相匹配的工作了。今年早些时候优步宣布裁员时,我发现自己和其他许多人都处于这种情况。以下是我在最终成功求职过程中做得很好的一些事情的回忆。

如果你没有做过准备,编码面试是很难破解的,所以我很幸运,从裁员传言爆发前的大约两个月开始,我每周花在leetcode上的时间大约是3-4个小时。我很幸运。

裁员的传言在实际裁员发生前大约一个月就传开了,这让我有更多的准备时间来准备和发送电子邮件给招聘人员和朋友。

每当经济不景气的时候,我认为敏锐地意识到公司正在发生的事情并立即开始准备求职面试是至关重要的。

当你被解雇时,最难做的一件事就是写信给你的朋友和家人寻求帮助。但是,如果有什么时候可以吞下你的骄傲,那就是现在。我联系了我认识的每个人,把我的情况直截了当地告诉了他们,并要求他们推荐到他们公司的特定职位,或者告诉他们可能正在招聘的朋友。我非常感谢我从我的网络中得到的帮助,以及我收到的友好信息。所以很多朋友写信来确认我是否安然无恙,并在整个面试过程中一直关注着我,他们都对我表示了极大的感激。

当你在一家公司找到相关职位时,你很容易只在求职页面上申请,而不是花时间寻找联系和联系他们,但根据我的经验,这是非常值得的。当我被一名员工推荐时,招聘者的回复时间大约是1-2天,而在求职页面上的申请是成功或失败的。一杯大杯。回复需要40天,而一些较小的公司要快得多(3-4天)。

在公司方面,广撒一张网,因为你绝对需要在截止日期前找到一份工作。这些步骤是显而易见的:

通过电子邮件/短信联系公司,如果其他方法都失败了,也可以在求职页面上申请。

我想,在裁员消息传出的当天,我联系了最初的10家左右的公司。这很管用,因为在你联系招聘经理或面试官之前,至少有一周的时间,所以你有充足的时间做好准备。

要联系哪些公司?在我的案例中,是通常的嫌疑人(FAANG),然后是一些特定领域的公司,如自动驾驶汽车公司。我申请的两个最常见的角色是:

机器学习工程师-这是一个需要ML+软件工程技能的混合角色,工作角色通常涉及一些特定的领域,如推荐系统,或者在自动驾驶车辆的情况下,如感知或对象检测。我通常会寻找一些关于计算机视觉、自然语言处理和深度学习的内容。

机器学习基础架构工程师-这个角色更多的是在软件系统方面,负责培训和服务生产工作负载的ML模型的基础架构。

ML特定角色的面试通常涉及几种不同类型的面试,每一种都需要特定的准备。我在下面列出我见过的最常见的几个:

进行一般面试的公司(谷歌/Facebook)没有这一步,但大多数其他公司都有。我个人喜欢这样,因为这意味着你面试的是特定团队中的特定职位,而且从一开始就有很高的参与度。这些电话大多是关于了解我,并确保我有相关的工作经验,但也有一些是速射技术问题。后一种情况很少见,我是在经理不确定我是这份工作的合适人选时遇到的。根据我的经验,介绍是这次面试中最重要的部分(告诉我关于你自己的情况),为你申请的每一种类型的角色准备好介绍是有帮助的。这个想法是为了调整你的故事,突出你的工作经验中与工作角色相关的方面。下一个最重要的问题是你下一份工作想做什么?同样,做好回答这个问题的准备是非常有帮助的,理想的情况是,在某种程度上,这样你的答案和角色提供的内容之间有合理的重叠。能够回答这个问题也能让求职过程变得清晰。例如,对我来说,一个一贯的主题是(A)在公司扮演一个有影响力的/关键的角色,(B)继续与ML的最新成员合作。

与花时间在leetcode上的更切实的准备步骤相比,写和排练你的故事通常看起来并不重要,但我相信这是至关重要的,因为它定下了基调,让你相信你过去已经做到了这一点,而且做得很好,面试官没有理由怀疑你的能力。

这些是标准的leetcode风格的编码面试,使用coderpad或类似的服务完成。这些问题的模板在所有公司中都是一致的,并且涉及1到2个编码问题(或1个后续问题),您需要实施和测试这些问题。以下是一些对我的准备有帮助的小贴士:

使用leetcode获得高级订阅-能够按公司过滤并访问整个题库是件好事,这是很好的因果报应。这项服务是有价值的,创作者应该得到补偿。

尽可能多地模拟面试环境--例如,我会留出3个小时的时间用于leetcode,把自己关在房间里,做4个问题,每个问题45分钟。如果你不能在45分钟内解决一个问题,你仍然可以继续下一个问题。没有延期或正在考虑解决方案。可以把它想成是转到下一个面试官那里。在3个小时的课程结束后,根据需要返回问题,以查看解决方案或更好地理解它们。当您的解决方案通过了关于leetcode的所有测试并被接受时,问题就完成了。

大声说出来-这是件大事。同样,假设你正在参加一次实际的面试,大声说出你在这些练习过程中使用的过程。大声说出来会有很大帮助,因为你不得不把你当前的思路用语言表达出来,而且当解决方案不合理时,这一点往往是显而易见的。

如何选择问题?-我筛选出有硬标记的问题,然后随机选择。没有针对公司或问题类型的筛选器。在4-5周的时间里,我从使用所有的媒介到混合使用各种媒介,再到所有的硬汉。

要做多少个问题?-在我准备工作的前2-3周,我在周末的某一天做了4个问题,一旦我有更多的时间发布裁员消息,每3天左右就会有4个问题。总体而言,我的统计数据看起来是这样的:

这些问题有点像是速射问题,面试官会问你关于ML基础知识的问题。我现在回想起来的一些问题,给事情增添了一些味道:

-一些无监督的学习方法是什么?-什么是欠适应/过度适应?-什么是批量归一化?它背后的动机是什么?-什么是辍学?-你使用了什么优化器?通常还有一些后续问题,比如,为什么动量有意义?-你熟悉哪些物体检测技术/论文?(特定于计算机视觉)-什么是决策树?-逻辑回归如何工作?-如何训练线性回归模型?-哪些是您熟悉的损失函数?-为什么交叉熵损失是有意义的?-什么是残差网络?

这些通常是后续问题,面试官会试图更深入地挖掘这些概念,通常会挑出最初答案的某一部分。

为了面试的这部分,我读了很多书,然后用纸和笔写了一些东西。如果我已经或多或少地熟悉了某个主题,比如对象检测,那么我的过程是:

如果我根本不记得某个主题,比如多臂强盗,那么我会先做第(3)步,几天后再做第(1)步和第(2)步,最后根据需要重复第(3)步。

从您想要这样做的主题列表开始会很有帮助。随着你记住更多的话题或扩大你面试的公司名单,这个名单还会扩大。作为参考,我看过的主题列表在这里,我手写的笔记样本在这里,供推荐系统参考。

这是我最喜欢的采访,与作为ML实践者每天使用的技能非常吻合。这些面试通常是开放式的,应聘者需要设计一个以ML为核心的产品。例如,类似以下内容:

-让我们建立一个根据质量对照片库中的照片进行排序的模型。-你将如何建立一个从无人机图像中识别行人的模型?-让我们建立一个可以为用户的图片库进行人脸检测的模型。-你如何建立一个能自动从视频中挑选出缩略图的模型?-建立某种推荐系统。

问题的确切性质和涉及的技术,如计算机视觉、NLP或推荐系统,取决于你面试的公司和团队。人们通常倾向于就他们日常工作的系统提出问题。

与任何系统设计问题一样,先勾勒出主要组件,然后再深入细节是很有用的。类似这样的事情(感谢我的妻子帮我做这件事):

问题表述--你是如何表述问题的?您正在考虑的模型的输入/输出是什么?

数据-您如何收集培训此模型所需的数据?用户操作、专家注释...。

模型训练-关于模型训练的详细说明。什么样的模型、损失函数、评估指标等等。

模型服务-模型将如何部署?是不是设备上有什么东西?我们需要支持多少QPS?或者模型预测是成批离线计算的?是否涉及版本控制?这里讨论了大规模系统设计的问题。

系统评估-需要收集哪些指标?随着时间的推移,我们如何使模型保持最新?

准备这些面试的最好方法是与朋友/同事/配偶进行模拟练习面试。

这是招聘经理初始电话屏幕的更复杂或扩展版本。这通常是你被期望谈论你过去的经历是如何塑造你的思维过程并使你成为一个更好的人(希望如此)的地方。面试的确切形式是可变的,但每家公司通常都有一份他们寻找的核心价值观或能力的列表,比如沟通。他们对每种能力都有几个不同的问题。例如,告诉我有一次你必须说服你的团队成员相信你所做的设计选择。我通过以下方式为这些采访做准备:

列出成功案例--列出你过去认为处理得很好的成功项目和情况。全力以赴--尽量做到5-10种情况。

故事写作--对于每一条,写下你想要的故事讲述方式。这一点很关键,因为如果你在面试中第一次谈论这件事,你很可能不会公正地对待这一情况。你必须记住,面试官对你的情况一无所知,因此花时间设置情境是很重要的。然后,你应该清楚地阐明挑战是什么,你是如何应对的,以及你的收获。如果你在记忆犹新的时候写下成功的项目,这个过程就会变得更容易。无论是为了下一份工作,还是为了加薪,你总是需要回顾一下你的成功故事。因此,在一个成功的项目结束时花几个小时写一份回顾报告是一个巨大的动力倍增器,您会经常回来参考这份文档的。

映射到能力-在你面试一家公司之前,看一看他们寻找的价值观/能力,并将它们每一个都映射到步骤(1)中的某个故事。这将是一个多对多的地图,因此您将有备份,并且您可以在采访期间选择一个故事,以优化故事的影响和多样性。

在面试过程中,一定要花点时间考虑如何修改你的故事,使其回答面试官提出的问题。不要急于讲故事。先整理一下你的想法。当你讲述你的故事时,通过提及他们目前正在测试的技能的代理条款,让面试官很容易地做笔记。

最后,我私下做了一些笔记,讲述了我是如何在被解雇的情况下结束工作的,这里记录了一些关于避免未来类似陷阱的想法:

总是要问:我在这个团队中将要做的工作对产品/业务是否至关重要?请注意,对于较大的公司,您应该尝试了解团队支持的产品或业务是否足够大。招聘经理应该能够清楚而简洁地阐述团队的使命。应该有与公司优先事项相关的过去项目和未来里程碑的明确示例。对于正在进行的/未来的项目,如果此团队停止现有项目,涉众将如何采用?

如果你正在加入一个研究团队,公司应该有足够的利润和足够的现金来支持长期的研究活动,否则,正在进行的研究必须对公司的使命至关重要。

当你决定开始面试工作时,总是要与多家公司交谈-管理和准备多个面试肯定是痛苦的,但你需要能够放弃不太理想的报价,而且只有当有多个报价或有希望的流程正在筹备中时,你才能做到这一点。