Three years ago there was an article titled “I interviewed at five top companies in Silicon Valley in five days, and luckily got five job offers” that went viral on Medium. While the author’s success story made nailing down a job offer appear to be a piece of cake, the reality for an average Joe like me was harsh: when I went out to interview at four of the famous companies in the Silicon Valley, a.k.a. the FLAG (Facebook, LinkedIn, Amazon and Google), I failed all of them. Receiving rejection emails one after another is not a pleasant experience. But looking back, I think the lessons I learned during these failures were equally valuable and may provide some insights for people especially those who are planning a mid-career transition as I was four years ago.

三年前,有一篇文章标题为“我在五天内采访了硅谷的五家顶级公司,幸运的是得到了五份工作机会” ,该文章在Medium上广为流传。 尽管作者的成功故事使工作机会难以置信,但像我这样的普通乔的现实却是严峻的:当我出外采访硅谷的四家著名公司(又名FLAG)时 (Facebook,LinkedIn,亚马逊和Google),我都失败了。 接连收到拒绝电子邮件不是一种愉快的经历。 但是回想起来,我认为我在这些失败中所汲取的教训同样有价值,并且可以为人们提供一些见识,尤其是那些像我四年前一样正计划进入职业中期过渡的人们。

走出舒适区 (Getting Out of Comfort Zone)

Like many software engineers in the Silicon Valley, shortly after I received my Ph.D. degree in computer engineering I joined one of the biggest companies in my field developing enterprise software for the semiconductor industry. I worked hard and climbed my career ladder to a mid-level engineering position in the company after a few years. At the time, I built up a deep understanding of the technical stack, had a good work-life balance and had no immediate urge to switch job.

就像我在获得博士学位后不久,硅谷的许多软件工程师一样。 我拥有计算机工程学士学位,并加入了该领域最大的公司之一,为半导体行业开发企业软件。 几年后,我努力工作,并将自己的职业阶梯提升到公司的中级工程职位。 当时,我对技术体系有了深入的了解,在工作与生活之间取得了良好的平衡,并且没有立即转换工作的冲动。

Then one day, a junior engineer in the team left for some social network company in the Valley and a few days later another colleague we frequently met at lunch also jumped ship. It was during the booming days of the Internet “shared economy” and the tech newspapers were full of successful IPOs and unicorns (pre-IPO company valued over one billion) stories.

一天,团队中的一名初级工程师前往硅谷的一家社交网络公司,几天后,我们经常在午餐时间见面的另一位同事也跳船了。 那是在互联网“共享经济”蓬勃发展的日子里,科技报纸充斥着成功的IPO和独角兽(估值超过10亿美元的IPO前公司)的故事。

Curiosity (or peer pressure) drove me to search for some job requirements in these hot internet companies. What startled me was that I found I lack many of the desired technical skills, some of which I haven’t even heard of.

好奇心(或同伴压力)驱使我寻找这些热门互联网公司的一些工作要求。 令我感到震惊的是,我发现我缺乏许多理想的技术技能,其中一些我甚至都没有听说过。

I felt something was not right: I am a software engineer but the software industry outside of my domain seems to be a foreign place. There were only a handful of companies in the EDA software industry and if I lost my current job one day I would end up with very limited choices given my skillset. On the positive side, I was pretty good at data structure and algorithms and these are the basic requirements to secure an interview at many software companies. So I thought to myself, it can’t be too bad because after all coding is what I do everyday.

我觉得有些不对劲:我是一名软件工程师,但是我所擅长的领域之外的软件行业似乎很陌生。 EDA软件行业中只有少数几家公司,如果有一天我失去目前的工作,鉴于我的技能,我最终只能做出非常有限的选择。 从积极的方面来说,我非常擅长数据结构和算法,这些是确保许多软件公司面试的基本要求。 所以我对自己想,这不是太糟糕,因为毕竟编码是我每天要做的。

滑铁卢战役 (Battle(s) of Waterloo)

After talking to recruiters from several companies, I secured four technical interviews at the four stellar companies at the time, namely Facebook, LinkedIn, Amazon and Google, known as the FLAG. The outcome couldn’t be worse: I literally failed ALL of them.

在与几家公司的招聘人员交谈之后,我在当时的四家一流公司(即Facebook,LinkedIn,亚马逊和Google)进行了四次技术面试,这些公司被称为FLAG 。 结果再好不过了:我在所有方面都失败了。

The fiasco stories were very similar. The interviewer gave me a set of problems to solve within 20~30 minutes. None of the problems is like the one I solve during my day-to-day work. I tried to come up with a solution on the spot. However, it either took too long to finalize the algorithm that I didn’t have enough time to finish the coding, or the algorithm I came up with did not have the best runtime or memory complexity. After the first interview, I was actually feeling a little bit optimistic because I thought I managed to solve the problem albeit with some missing pieces. But this optimism faded away soon after I received the rejection emails from recruiters one after another .

惨败的故事非常相似。 面试官给了我一系列问题,要在20到30分钟内解决。 这些问题都没有我在日常工作中解决的问题。 我试图当场提出解决方案。 但是,要么花很长时间才能完成我没有足够时间来完成编码的算法,要么我想出的算法没有最佳的运行时或内存复杂性。 第一次面试后,我实际上感到有点乐观,因为我认为尽管有一些遗漏,但我设法解决了这个问题。 但是当我接连收到招聘者的拒绝邮件后,这种乐观情绪消失了。

得到教训 (Lessons Learned)

After a round of unsuccessful interviews, I decided to stop to look back and summarize the lessons I learned from these failures.

经过一轮不成功的采访之后,我决定停下来回顾并总结从这些失败中学到的教训。

#1: Technical interview is not (only) about technical experience from work. What you know at work does not guarantee you can perform well in an interview even if the job requirement is very similar to your background. Preparation is always necessary. On the other hand, some considered good practice at work may not apply to coding interviews. For example, at work we may prefer a heuristic algorithm with better readability to an optimal but complicated algorithm for some non-timing-critical segments of the code. This practice, however, is not wanted in a coding interview. The interviewers would expect you to come up with the most runtime/memory efficient algorithm, if possible.

#1:技术面试并非(仅)关于工作中的技术经验。 即使工作要求与您的背景非常相似,您所知道的也不能保证您在面试中表现良好。 准备总是必要的。 另一方面,一些公认的工作良好实践可能不适用于编码面试。 例如,在工作中,对于某些非时序关键的代码段,我们可能更喜欢具有更好可读性的启发式算法,而不是最优但复杂的算法。 但是,在编码采访中不需要这种做法。 面试官希望您尽可能提出运行时间/内存效率最高的算法。

#2: Interviewers do not assume you know technology XYZ just because you had been working on it for a long time. This is especially true for mid-level engineers. The interviewers sometimes may have even less experience than you do. Do not assume that they know what you know. Always speak out and tell the interviewers your thoughts to some problems even if something seems quite obvious from your perspective.

#2:面试官不认为您知道XYZ技术就是因为您已经从事了很长时间。 对于中级工程师而言尤其如此。 面试官有时的经验可能比您少。 不要以为他们知道您所知道的。 始终说出来,并告诉面试官您对一些问题的想法,即使从您的角度看似乎很明显。

#3: Do not over complicate your solution. An interview is an interview. Most of the coding interviews require you to complete within 30 minutes or less. Do not treat them as real-world problems you solve at work. If you found you need to apply some very complicated data structure or algorithm, rethink about your solution.

#3:不要过度复杂化您的解决方案。 面试是面试。 大多数编码面试要求您在30分钟或更短的时间内完成。 不要将它们视为您在工作中解决的现实问题。 如果发现需要应用一些非常复杂的数据结构或算法,请重新考虑您的解决方案。

#4: Coding interview is very different from coding at work. Coding even under a tight deadline at your work is very different from coding in a 30- minute interview session. No matter how hard it is, the former gives you the opportunity to concentrate and carry on your thoughts in a deep state; the latter is very dynamic and distracting and requires you to work within a fragmented time period.

#4:编码面试与工作编码大不相同。 甚至在紧迫的工作期限内进行编码也不同于在30分钟的采访中进行编码。 无论前者有多艰辛,前者都使您有机会集中精力并深入思考。 后者非常动态且分散注意力,需要您在零散的时间内工作。

#5: If you find yourself know almost everything at work, be alert. This final lesson is the most alarming but often overlooked one for mid-level software engineers. The technology world is moving fast. A software engineer’s job is not like a surgeon. If you feel you can handle most problems with ease at work, it does not mean you become the master in the domain; most of time, it means it’s time to get out of the comfort zone and expand your horizon.

#5:如果发现自己几乎了解工作中的所有内容,请保持警惕。 对于中级软件工程师而言,这最后一课是最令人震惊的,但常常被忽略。 技术世界发展Swift。 软件工程师的工作不像外科医生。 如果您认为自己可以轻松地处理大多数问题,并不表示您已成为该领域的专家。 大多数时候,这意味着是时候离开舒适区域并扩大视野了。

后视 (Hindsights)

Due to the recent recession in the technology job market, I see many of my friends with abundant work experience are starting to look for new jobs in the Valley. I feel obligatory to share some of my hindsights regarding interview and career transition. Nonetheless, these are only my personal insights and may differ from person to person so I hesitate to call them advices.

由于最近技术工作市场的衰退,我看到许多有丰富工作经验的朋友开始在硅谷寻找新工作。 我有义务分享我关于面试和职业过渡的一些见解。 尽管如此,这些只是我的个人见解,可能因人而异,因此我不愿意将其称为建议。

#1: Practice your coding within a time window shorter than a real interview. Technical interview is a very intellectually demanding yet highly ad-hoc process. We are often put under very high pressure to solve problems that we may be able to handle during our normal routine. It is arguable the current coding interview is the best process to judge a candidate’s capability but it’s also unavoidable in most software companies. I found the best way to tackle coding interview is to encounter it many times in a real scenario. Timebox your coding practice with even more stringent time than a real interview gives you higher (artificial) pressure and it may help you get extra slack during a real interview under the real pressure. You may also try practicing interview with real people at some website such as interviewing.io

#1:在比真实面试短的时间范围内练习编码。 技术面试是一个智力要求很高但非常特殊的过程。 我们通常承受很大的压力来解决我们在正常例行程序中可能能够解决的问题。 可以说,当前的编码面试是判断候选人能力的最佳过程,但这在大多数软件公司中也是不可避免的。 我发现解决编码面试的最佳方法是在实际场景中多次遇到。 与真正的面试相比,用更严格的时间来安排编码实践的时间会给您带来更高的(人为)压力,并且可能会帮助您在真正的面试中承受更大的压力。 您也可以尝试在某些网站上与真实的人进行面试,例如: viewings.io

#2: Wear the interviewers’ hat. When possible, try to be an interviewer at your current company. It not only helps the hiring at your company but also helps yourself to understand what an interviewer is looking for and avoid those mistakes that you identified from your interviewees. You may even ask questions that you failed to answer at other places and see how your interviewee is approaching them (given that you’ve already found out the solution yourself).

#2:戴上面试官的帽子。 如果可能,尝试成为您当前公司的面试官。 它不仅可以帮助您的公司招聘员工,还可以帮助您了解面试官在寻找什么,并避免您从面试官中发现的那些错误。 您甚至可能会问其他地方未能回答的问题,并查看受访者如何与他们联系(假设您已经自己找到了解决方案)。

#3: Rehearse your story and prepare for a good question. Too often we may focus much attention on preparing for the technical interviews but less time on marketing oneself. After many rounds of interviews, I realized a well-prepared personal statement can help you succeed even in a technical interview for two reasons: (1) It helps you build up your confidence when you can smoothly talk about your projects and technical experience before moving to the coding round (2) it helps to give interviewer a positive bias when you can clearly and logically describe your work experience or ask a few smart questions. After all, there is a large portion of subjective judgement even in a technical interview.

#3:演练您的故事并准备一个好问题。 我们经常会把很多注意力集中在为技术面试做准备上,而将很少的时间花在营销自己上。 经过多轮采访,我意识到准备充分的个人陈述即使在技术面试中也能帮助您成功,原因有两个:(1)当您在搬家之前能够顺利地谈论您的项目和技术经验时,它可以帮助您树立信心对于编码回合(2),当您可以清晰,逻辑地描述您的工作经验或提出一些巧妙的问题时,它有助于使面试官具有积极的偏见。 毕竟,即使在技术面试中,也有很大一部分主观判断。

#4: Read technology blogs from other companies and/or develop a small project outside of work. When working in a big company, there are often many well built tools and foundations. Although this creates a lot of convenience and boosts individual productivity, we often become too complacent using these tools without understanding the technical stacks behind them. This becomes troublesome when we start interviewing outside of the company. To overcome or mitigate such pitfall, I found it helpful to regularly read technology blogs from other companies or even the competitors. If time permitting, starting a toy project from scratch will quickly make yourself aware of the necessary new skills to learn.

#4:阅读其他公司的技术博客和/或在工作之外开发一个小项目。 在大公司工作时,通常会有许多精心构建的工具和基础。 尽管这会带来很多便利,并提高了个人生产率,但是我们经常在使用这些工具时过于自满,而不了解其背后的技术堆栈。 当我们开始在公司外部面试时,这变得很麻烦。 为了克服或减轻这种陷阱,我发现定期阅读其他公司甚至竞争对手的技术博客很有帮助。 如果时间允许,从头开始玩具项目将使您很快意识到要学习的必要新技能。

#6: Interview every two years. I took this advice from an insightful podcast on career strategy given by James Whittaker. This advice by no means suggests one to switch jobs every two years; instead it helps you realize the value of the skillsets you gain at your current job and your real value to your current employer. At times, it can even help you to increase your compensation or career level at your current employer.

#6:每两年面试一次。 我从詹姆斯·惠特克 ( James Whittaker)关于职业战略的有见地的播客中采纳了这一建议。 这一建议绝非建议每两年换一次工作。 相反,它可以帮助您实现在当前工作中获得的技能集的价值以及对当前雇主的实际价值。 有时,它甚至可以帮助您提高当前雇主的薪酬或职业水平。

#7: Re-invest your career capital to guide your next career search. This insight comes from a book So Good They Can’t Ignore You that I read recently. In the book, the author argues that career searching based on one’s passion is very deceiving; instead, you should think about your career capital, i.e. skills that people will pay you for them, and invest your career capital to help you move to your dream job. In my case, I gained a lot of experience in semiconductor design and automation, so I realized that my new career should be able to leverage these skills as much as possible. After some attempts, I therefore decided to turn my career towards the area of deep learning framework and accelerators where the performance requirement of ML/AI is nicely fit with compiler technology and hardware-software codesign.

#7:重新投资您的职业资本,以指导您的下一个职业搜寻。 这个见解来自我最近读的一本书《好人,他们不能忽略你》 。 在书中,作者认为,基于一个人的激情进行的职业搜索非常具有欺骗性。 相反,您应该考虑自己的职业资本,即人们会为您付钱的技能,并投资您的职业资本来帮助您迈向理想的工作。 就我而言,我在半导体设计和自动化方面积累了很多经验,因此我意识到我的新职业应该能够尽可能地利用这些技能。 经过一些尝试,因此我决定将我的职业转向深度学习框架和加速器领域,在该领域中ML / AI的性能要求非常适合编译器技术和硬件软件代码签名。

有志者,事竟成 (Where there is a will there is a way)

Getting out of one’s comfort zone is never easy. Looking back, I was once very frustrated after failing all the FLAG interviews. My self-esteem reached an all-time low and it even impacted my performance and judgement at work.

走出舒适区绝非易事。 回顾过去,所有FLAG面试都没有通过,我曾经感到非常沮丧。 我的自尊心跌至历史最低点,甚至影响了我的工作表现和判断力。

However, once out of the comfort zone, the career prospects become much clearer to me. I feel I learned a lot more during the time I was busy preparing for interviews and working a full-time job than I was comfortably handling my daily routine work; on the other hand, I also learned better time management and became more efficient at work.

但是,一旦离开舒适区,我的职业前景就变得更加清晰。 我感到自己在忙于准备面试和全职工作期间学到了很多东西,而不是轻松地处理日常工作。 另一方面,我还学会了更好的时间管理,并提高了工作效率。

Keeping pace at work and preparing for interviews is already tough enough. So be proud of yourself even if you failed once or twice or even more. Keep learning and being open minded, your career life can be longer and very exciting.

保持工作节奏并准备面试已经足够艰难。 因此,即使一次或两次甚至更多次失败,也要为自己感到骄傲。 继续学习并保持开放的态度,您的职业生涯可能会更长且非常令人兴奋。

升级编码 (Level Up Coding)

Thanks for being a part of our community! Subscribe to our YouTube channel or join the Skilled.dev coding interview course.

感谢您加入我们的社区! 订阅我们的YouTube频道或参加Skilled.dev编码面试课程

翻译自: https://levelup.gitconnected.com/how-i-failed-the-flag-interviews-7c81cc6a82e0


http://www.taodudu.cc/news/show-6766511.html

相关文章:

  • 斯坦福大学神经网络_斯坦福大学欺骗专家和网络安全首席执行官解释了为什么人们迷上网络骗局
  • 老是抱怨责怪他人_责怪实施,而不是技术
  • 智能默认值:关于库和框架
  • 琐碎打包工具_让我们停止琐碎的设计工作
  • [渝粤教育] 中国科学技术大学 基础英语写作 参考 资料
  • 计算机a类会议论文难度,计算机类 | 中低难度国际会议信息6条
  • E. Arithmetic Operations 根号分治
  • 使用二分法(Bisection Method)求平方根。
  • 用代码生成流程图,Markdown的使用方法
  • 算法求解“百钱买百鸡”问题
  • 虚拟货币经济体的技术问题和非技术问题
  • 百马百货问题/百钱百鸡
  • 想进大厂拿命换钱?你最好已经做好了这4个心理准备!
  • Goldeneye靶机实操
  • 黑马Pink老师JavaScript新教程上线啦~
  • <LeetCode天梯>Day043 Fizz Buzz(按部就班) | 初级算法 | Python
  • 洗脚城的管理模式:代理模式
  • 维基是什么?
  • Codeforces游玩攻略
  • 到香港迪斯尼感受魔力 非去不可(深圳)推荐三大必玩设施
  • c++ 图的重构识别
  • 想报学大学生计算机学习班哪有,兴城学习计算机,兴城学计算机报班,兴城学计算机自学好还是报班好 - IT教育频道...
  • HCIE自学的话能考过吗?
  • 自学mui--【读心术】
  • 【C51自学笔记】中断系统
  • loadrunner自学以及问题解答1
  • SAP ABAP基础知识自学笔记二
  • 自学_DOM五
  • 自学前端第25天-JSON笔记
  • Node.js零基础自学(持续更新中)

我如何不通过国旗采访相关推荐

  1. 站在巨人的肩膀上,Adrian与dlib中face_recongnition模块的贡献者Adam的采访部分翻译

    这篇博客是Adrain对Adam Geitgey的采访部分翻译 Adrian:pyimagesearch博客作者,博士,写了很多关于OpenCV,人脸识别,机器学习,深度学习,计算机视觉等的高质量博客 ...

  2. 电子白板 矢量 编码_当涉及白板编码采访时,请记住准备

    电子白板 矢量 编码 by Andy Tiffany 通过安迪·蒂芙尼(Andy Tiffany) 当涉及白板编码采访时,请记住准备 (When it comes to whiteboard codi ...

  3. 谈谈职业规划——CSDN对我的采访

    职业规划就像软件工程 电信.银行等行业一直是许多人非常向往的工作单位,清差厚禄,旱涝保收,陈皓却不以此为然.所以当记者采访他的时候,他连用了两个"最"字来形容他离开银行的成就感. ...

  4. 别再@微信官方 了,我给你一面小国旗!

    你有没有在朋友圈听说 @微信官方能获得一面小国旗? 其实 你艾特再多次 微信官方也不会理你的 还是我来给你一面小国旗吧! 国旗头像获取方式 扫码回复:"国旗" 快来转发朋友圈,让大 ...

  5. QCon讲师对对碰——洪小军采访梁宇鹏:就是爱Golang

    编者按:QCon北京2015将于4月23日~25日在北京国际会议中心召开.在大会开始之前,InfoQ推出了讲师对对碰栏目,邀请一些技术专家相互采访,碰撞出思维的火花.在QCon上,美图架构平台部门负责 ...

  6. 广东蓝桥杯c语言编译器_小软访谈之榜样充电站 千里之行,始于足下——“蓝桥杯”获奖者采访...

    小软访谈之榜样充电站 千里之行,始于足下--"蓝桥杯"获奖者采访 大学生活是丰富的.是自由的,但要如何去规划.管理时间,是每名大学生所需要思考的重要问题.小软今天采访到的就是两位充 ...

  7. 炉石整活拔线方法_炉石传说:采访仰天莫笑——黄金总决赛再度捧杯后的变化与成长...

    在前不久结束的黄金总决赛酒馆战棋组的比赛中,象征着冠军的金炉石和金钥匙由首届黄金公开赛棋王仰天莫笑捧起. 这位在上海站首度夺冠的选手又一次在上海证明了自己,而在之前的采访中他提到自己几乎不会整活,甚至 ...

  8. ​采访了14位技术公司的创始人,他们如何看待2020年的AI行业?

    来源:KDnuggets 编译:木槿.张大笔茹.楚阳 科幻元年2020年马上就要来了.对于技术行业来说,这一年会有哪些值得期待的变化? KDnuggets采访了14位科技前沿的技术公司创始人,并汇总了 ...

  9. 北纬39°54上的采访

    周末的雨很大,很难得在北京能遇到这样一场大雨却差点耽误了我们的计划,顾不得细细品味这雨中的美景,只好在狂奔的路上体验的大雨带来的粗犷,正所谓好事多磨,幸运地是我们及时赶到了51CTO位于西三环的办公室 ...

最新文章

  1. 网络推广网站浅析如何做好关键词布局优化?
  2. LeetCode 885. 螺旋矩阵 III
  3. 解决VS中无法使用scanf的问题
  4. Windows系统克隆***与防范
  5. Timer源码之TaskQueue
  6. 一篇真正教会你开发移动端页面的文章(二)
  7. JSON正确的下载网址及编译
  8. 深入浅出Go Runtime
  9. 阿里图标库怎么导入到项目中
  10. 2016版excel_想要下班直接打卡,这些Excel技巧可以帮到你
  11. Knockout开发中文API系列1
  12. CMYK, RGB颜色值对照表
  13. vuecli添加和移除插件_魔兽世界怀旧服,CEPGP EPGP插件完全汉化版 9月最新更新...
  14. 优秀架构师是如何学习开源项目的?
  15. 迁移网易博客到csdn
  16. licecap免费+轻量+使用简单的录屏制作gif工具
  17. (十九)通俗易懂理解——无人驾驶概述
  18. SEO静态页面生成系统
  19. Android开发自定义View之仿米家APP双色灯控制UI:做一个智能家居产品的简单智能灯UI !(附带Demo)
  20. 车载以太网第二弹-实锤|SOME/IP概述及TC8 SOME/IP 测试实践

热门文章

  1. python编程:10种分类模型评估的方法及Python实现
  2. mysql 安装教程(图解)
  3. C++:实现量化Path generation路径生成测试实例
  4. 2021年煤矿瓦斯检查考试资料及煤矿瓦斯检查作业考试题库
  5. IDEA社区版热部署插件JRebel and XRebel
  6. 印度智能机市场 手机大佬们抢夺的下一站
  7. [计算机网络]——知识点总结
  8. 对EV-Globe5.0资源体系的简单理解
  9. 解决Pycharm安装库出现Installing Packages Failed错误
  10. MH370海底追踪:哪些技术手段可用?