程序开发,面试恐惧症
by Reuben Reyes
由鲁本·雷耶斯(Reuben Reyes)
如何克服恐惧并停止讨厌的工作面试 (How to conquer your fear and stop hating job interviews)
Two things: First, stop saying you’re not good enough.
两件事:第一,别再说你不够好。
Second, start practicing, and the ace developer within you will flow out.
其次,开始练习,您内在的ace开发人员将流失。
In this post I share my rollercoaster of experiences with interviewing, why I haven’t given up on landing a developer job, and what I’ve learned along the way.
在这篇文章中,我分享了我面试的过山车,为什么我没有放弃寻找开发人员的工作以及我在此过程中学到的知识。
面试糟透了 (Interviewing sucks)
You might be like me. You spend your days daydreaming about writing great code and showing off your amazing work. The last thing you want to do is have to fight through the interview process. You make yourself vulnerable by putting your skills out there for criticism. You open yourself up to rejection.
你可能像我一样。 您整日幻想着编写出色的代码并炫耀您的出色工作。 您要做的最后一件事是必须在面试过程中奋斗。 通过将自己的技能用于批评,会使自己变得脆弱。 您愿意拒绝。
Don’t get discouraged now. The truth is that interviewing is an essential part of every developer’s skill set. Not only does it expose your skills: it gives you the opportunity to share your unique approach to technical problems, it lends you the chance to speak with other developers and pick their brains, and most importantly, interviewing makes you a better coder.
现在不要气disc。 事实是,面试是每个开发人员技能的重要组成部分。 它不仅可以展示您的技能,而且还为您提供分享独特的技术问题解决方法的机会,还使您有机会与其他开发人员进行交流并发挥他们的才智,而且最重要的是,面试使您成为更好的编码人员。
Why? You show off your strengths and weaknesses. You introspect. If you do well, you get a job! If you don’t, you learn what you need to work on.The truth is that interviewing is always a win-win for you.
为什么? 你炫耀自己的优点和缺点。 你内省。 如果做得好,就可以找到工作! 如果没有,您将学到需要做的事情。事实是,面试始终对您来说是双赢。
What sucks is that unless you get the job, it almost never feels like it.
令人遗憾的是,除非找到这份工作,否则几乎不会有这样的感觉。
我最初的挣扎 (My initial struggle)
Before starting my foray into programming, I was a Mechanical Engineering student in university. I dreaded job interviews and networking. Yet still I went to job fairs, handing my résumé over and getting business cards back. I knew it was a necessary evil.
在开始涉足编程领域之前,我是大学的机械工程系学生。 我害怕求职面试和人际关系。 但是我还是去招聘会,交了我的简历,拿回了名片。 我知道这是必要的罪恶。
Sometimes I’d get a call. Every time, about two minutes after giving my practiced elevator pitch to the nice person on the phone, I’d freeze.
有时我会打个电话。 每次在电话上将练习的电梯音调给好人之后大约两分钟,我都会冻结。
As a mechanical engineer, I was not particularly passionate about what I was doing. It showed whenever I’d speak with a recruiter. I spoke well enough to get calls. After that, maybe due to inertia from not enjoying my field, I would not do anything else to prepare.
作为机械工程师,我对自己的工作并没有特别的热情。 每当我与招聘人员交谈时,它就会显示出来。 我讲得很好,可以接电话。 在那之后,也许由于不喜欢我的领域而产生的惯性,我不会做任何其他准备。
Nothing came out of any of those calls except for building anxiety about the next one.
除了对下一通电话感到焦虑外,所有这些电话都什么都没有发出。
About a year and a half ago, I decided to take take the plunge into web development. I deemed myself good enough to start looking for internships in July of . I chose web development out of my love for it. I was more than driven to land a job in this industry… yet for a while, the same results followed as before.
大约一年半前,我决定投入到Web开发中。 我认为自己足够优秀,可以在7月开始寻找实习机会。出于对它的热爱,我选择了Web开发。 我不仅仅要在这个行业找到一份工作,而且有一段时间,结果还是和以前一样。
I’d study relentlessly. I’d read the Django docs cover to cover. My GitHub contribution map was greener than Richard Hendricks trying to sell Pied Piper as a music player.Something had to change, and that something was my mindset.
我会不懈地学习。 我读过Django文档封面。 我的GitHub贡献地图比Richard Hendricks试图出售Pied Piper作为音乐播放器的绿色环保。某些事情必须改变,那是我的心态。
路线图:让面试陷入困境 (A roadmap: Making interviews your jam)
As I said above, interviews are always a win-win for you, even though it might not seem that way at first. The very first step to conquering the fear of interviewing is to change how you think about interviewing.
正如我上面所说,面试对您而言始终是双赢的,尽管起初似乎并非如此。 克服对面试恐惧的第一步就是改变您对面试的看法。
The most important thing to keep in mind is thatyou have nothing to lose, and you have everything to gain!
要记住的最重要的事情是,您没有什么可以失去的,而您却拥有一切可以收获的东西!
清除空气 (Clearing the air)
There is no magic method to getting good at interviews, or to getting rid of the anxiety that comes with them. Interviews land jobs, and a job is what you want — it’s very easy to tunnel-vision on the end result.Here’s my greatest advice: Don’t.
没有什么好方法可以精通面试或摆脱随之而来的焦虑。 采访土地工作,而这正是您想要的工作-轻松查看最终结果很容易。这是我最大的建议:不要。
Instead, focus on yourself. Why do you want to be a developer? If you’ve already got a job, why do you want to make a change? What are you good at? What do you want to achieve?Howare you going to do that? Answer these questions for yourself, no one else… and be honest. Consider writing it down and keeping a log of this internal monologue.
相反,专注于自己。 您为什么要成为开发人员? 如果您已经找到工作,为什么要进行更改? 你擅长什么? 您想实现什么? 你将如何做呢? 自己回答这些问题,别无其他……诚实。 考虑将其写下来并保留此内部独白的日志。
Revealing the answers to these questions will give you confidence in what you want to pursue, clarity in your strengths, and a path forward on how to improve. In setting your goals clearly and for yourself alone, you gain insights on your strengths and awareness of the gaps in your knowledge.
揭示这些问题的答案将使您对自己要追求的目标充满信心,清楚自己的长处,并找到改进方法。 通过清晰明确地为自己设定目标,您可以洞察自己的长处并意识到自己的知识差距。
The more aware you are of your own self, the better you can communicate your goals to others. That means interviewers. It also helps you connect with fellow developers who might be going down the same road as you!
您对自己的了解越多,就可以更好地将目标传达给他人。 那就是面试官。 它还可以帮助您与可能与您同路的其他开发人员联系!
设定期望 (Setting expectations)
Interviewing is not about getting a job. Interviewing is about sharing your skills. Interviewing is about improving your skills. Let that sink in.It’s not about getting the job. It’s about improving.
面试不是要找到工作。 面试是关于分享您的技能。 面试是关于提高技能的。 让那沉入吧。这不是要找到工作。这是关于改善。
Think about your other hobbies. For me, it’s Olympic weightlifting. In weightlifting, there are two lifts: The snatch, and the clean and jerk. I am not particularly good at the snatch, but I know others are, so I often ask my fellow athletes about their technique.
考虑一下您的其他爱好。 对我来说,这是奥林匹克举重 。 在举重中,有两种举重:抓举和挺举。 我在抓举方面不是特别擅长,但我知道其他人也是如此,所以我经常向我的运动员询问他们的技术。
We could end up talking for hours, sending videos back and forth and discussing the mechanics of the lift.“How do you keep a solid position when the bar leaves the floor?”“What do you think about when you’re about to catch it?”
我们可能最终要聊几个小时,来回发送视频并讨论电梯的机理。“当酒吧离开地板时,您如何保持稳固的位置?”“当您要抓住它时,您会怎么想?”
My goal with these questions is to better my technique so that I can lift more weight. To do that, of course I want to ask honest questions and receive honest answers in kind. More often than not, I leave the conversation with knowledge that I didn’t have before, and I apply it to my training.
我对这些问题的目标是改善自己的技术,以便提高体重。 为此,我当然想问一些诚实的问题,并得到实物的诚实答案。 通常,我会离开对话,获得以前从未有过的知识,并将其应用于训练中。
I’m sure you see where this analogy is going. My goal in these conversations is to exchange knowledge. Often both parties in the conversation end up better off.
我确定您知道这种类比的发展方向。 我在这些对话中的目标是交流知识。 通常,对话中的双方都过得更好。
This applies to the development world as well. When you interview, you are exchanging knowledge about the company for knowledge about yourself.Everybody ends up smarter and with a better idea of how to improve. Whether or not you get the job is just a side effect!
这也适用于开发领域。面试时,您是在交换有关公司的知识,以交换有关自己的知识。每个人最终都会变得更聪明,并且对如何改进有了更好的想法。 你是否得到这份工作只是一个副作用!
Hopefully this takes some of the pressure off. Above all,isn’t becoming a better developer your main goal, as opposed to landing a sweet gig at Facebook?
希望这可以减轻一些压力。 首先,不是要成为一个更好的开发人员是您的主要目标,而不是在Facebook上大赚一笔?
投入工作 (Putting in the work)
Here it is: The hard part. I hope none of you are standing up, because I’m a terrible motivational speaker. You are going to want to be sitting down for this mediocre speech about*~THE GRIND~*.
它是:困难的部分。 我希望你们没有一个站起来,因为我是一个令人鼓舞的励志演讲者。 您将要坐下来参加有关*〜THE GRIND〜*的普通演讲。
第一步:只需编写代码! (Step one: Just code!)
Find a friend or peer, hop on a Skype call, and start a pair programming session! Pick some problems you both would like to work on and guide each other along the way.
找到朋友或同伴,跳上Skype通话,然后开始配对编程会话! 选择你们都想解决的一些问题,并在此过程中互相指导。
If you’re doing this online, I recommend using JSFiddle’s “Collaborate” feature (free!) or CodeSandbox’s “Live” (not free! ?), so that you’ve got eyes on the same code.
如果您在线进行此操作,建议您使用JSFiddle的“协作”功能 (免费!)或CodeSandbox的“实时”功能 (非免费!?),这样您就可以着眼于相同的代码。
In doing this, you’ll get used to talking through your thought process. You learn how to best communicate a problem solving approach to others in a team. If you or your peer start to struggle, you’ll learn how to help each other work through difficult spots.Coding with others absolutely makes you a better, more confident coder.It’ll get you in the groove of sharing your work.
在此过程中,您将习惯于通过思考过程进行交谈。 您将学习如何与团队中的其他成员最好地交流解决问题的方法。 如果您或您的同伴开始挣扎,您将学习如何在困难的地方互相帮助。与他人进行编码绝对可以使您成为一个更好,更自信的编码器。这将使您陷入共享工作的困境。
第二步:在项目上进行协作 (Step two: Collaborate on projects)
The second step is much like the first, only you’re uniting yourself with other like-minded people on a common goal. The goal is tomake this damn website work somehow.
第二步与第一步非常相似,只是您要与其他志同道合的人团结在一起,以实现共同的目标。 目的是使该死的网站以某种方式工作。
I emphasized in step one that pair programming is great for helping you build confidence and expertise in talking through your steps. Building a project with others, however, is a new ball game: You’ll learn to make decisions about your code. You’ll figure out your style compared to others and what sets you apart. You’ll learn to work through team conflicts. You’ll learn how to code in a team.
我在第一步中强调,结对编程非常适合于帮助您在步调中建立信心和专业知识。 但是,与其他人一起构建项目是一个新的游戏:您将学习做出有关代码的决策。 与其他样式相比,您会发现自己的风格以及与众不同的地方。 您将学习如何应对团队冲突。 您将学习如何在团队中进行编码。
As an aside, this is a great opportunity to get into open source software! Contributing to open source exposes you to new technologies. It gives you practice in reading, debugging, and improving others’ code, as well as everything I’ve said in this section. At the time of writing, it’sHacktoberfest , which means if you contribute to open source on GitHub you get a sick shirt!
顺便说一句,这是进入开源软件的绝佳机会! 致力于开源将使您接触新技术。 它为您提供了阅读,调试和改进他人代码的练习,以及本节中我所说的所有内容。 在撰写本文时,这是Hacktoberfest ,这意味着如果您在GitHub上为开源做出贡献,就会生病了!
Aside from open source, I recommend checking out Chingu. It is a community which matches you up with others to collaborate on a production-scale project!
除了开源之外,我建议您查看Chingu。 这是一个使您与其他人匹配以在生产规模项目上进行协作的社区!
第三步:(练习)面试时间,宝贝! (Step three: It’s (practice) interview time, baby!)
Face your fear. Become mighty. Conquer the interview.
面对你的恐惧。 变得强大。 征服面试。
If you have peers that you’d like to start practicing with, that’s great! I recommend that you pair up and quiz each other with questions from LeetCode, interview modules from freeCodeCamp, or other resources that you prefer.
如果您有想与之练习的同龄人,那就太好了! 我建议你配对和测验对方与问题本文给出了 ,面试模块从freeCodeCamp ,或其他资源,你喜欢。
If you’d like to collaborate online, I highly,highlyrecommend Pramp. Pramp is a service that pairs you with strangers. Both of you take turns as the interviewer and the interviewee. You’ll receive feedback from your peer and will find out exactly what you need to do to improve!
如果您想在线合作,我强烈推荐Pramp。 Pramp是一项将您与陌生人配对的服务。 你们俩轮流担任访调员和被访者。 您会收到同行的反馈,并会确切地找出您需要做哪些改进!
Practice interviews are the real key to getting through real ones.You need to be quick on your feet, be able to answer questions about yourself, and be able to work under pressure. In a practice session with no real stakes, that’s exactly what you will end up focusing on!
实践性访谈是获得真实面试的真正关键。您需要快速站起来,能够回答有关自己的问题,并能够在压力下工作。 在没有实际赌注的练习环节中,这正是您最终要关注的重点!
It will be uncomfortable at first. Think about it this way: In the previous steps, you just spent a ton of time learning how to communicate and solve technical problems. You also learned a ton about yourself. Those skills are crucial to succeeding in interviews.Because you’ve practiced them so much, the only step left for you is to apply those skills to actual interviews.
起初会很不舒服。 这样考虑:在前面的步骤中,您仅花费了很多时间来学习如何交流和解决技术问题。 您还学到了很多关于自己的知识。 这些技能对于成功进行面试至关重要。因为您已经练习了很多,所以剩下的唯一步骤就是将这些技能应用到实际采访中。
第四步:再做一次 (Step four: Do it again)
Practice interviewing again and again, and continue to grow in the process. Now it’s time to send out your résumé and start taking real interviews. The only difference this time is the stakes, right?
练习一次又一次的采访,并在此过程中继续发展。 现在是时候发送您的简历并开始接受真实的采访了。 这次唯一的区别是赌注,对不对?
Not at all. You’re not risking anything. The worst case scenario in a real interview is not getting the job.This doesn’t set you back anything because you’re not losing anything in the first place. Instead, think about what you have to gain:
一点也不。 你什么都不冒险。在真实面试中最坏的情况是没有找到工作。这不会让您退缩任何东西,因为您一开始就不会失去任何东西。 相反,请考虑您要获得的收益:
You find outwhyemployers might have turned you down, and you get to improve on those points
您会发现为什么雇主可能会拒绝您,您会在这些方面有所改进
You’re scanning the market for what employers want, and you can tailor your studies accordingly.您正在扫描市场以寻找雇主的需求,并且可以相应地调整您的学习。 If everything goes well, you end up with a new job! Sweet!如果一切顺利,您将获得一份新工作! 甜!
Interviewing is a win-win every time when you put the focus on yourself. Getting the job will follow.
每当您专注于自己时,面试都是双赢的。 将得到这份工作。
离别建议 (Parting advice)
I hope this post helps shed some light on why interviewing is as scary as it is. And I hope to have motivated you on how to push through them. Please remember thatinterviewing is just as important a skill as actually coding.For developers, knowing how to communicate what you’ve done is crucial to the work you do every day. Whether it be pushing a great new feature to an app or explaining how you solved a problem on Stack Overflow.
我希望这篇文章有助于阐明为什么面试如此可怕。 我希望能激励您如何实现这些目标。 请记住,面试与实际编码一样重要。对于开发人员而言,知道如何传达您所做的工作对于您每天的工作至关重要。 无论是将强大的新功能推向应用程序,还是解释您如何解决Stack Overflow上的问题。
Much of the code we write is for other people, not just ourselves. Learn to share your skills, and your success will come soon after!
我们编写的许多代码都是针对其他人的,而不仅仅是针对我们自己的。 学习分享您的技能,您的成功将很快出现!
I also published this post on my blog,Try Coding, It’s Fun!
我还在我的博客“尝试编码,它很有趣!”上发表了这篇文章。
翻译自: /news/how-to-conquer-your-fear-and-stop-hating-job-interviews-dd8ae3d66069/
程序开发,面试恐惧症