嗨 我是Gayle Laakmann McDowell 《程序员面试金典》的作者
Hi, I’m Gayle Laakmann McDowell, author of Cracking the Coding Interview.
I want to talk to you today about how to do well in behavioral questions.
A lot of candidates when preparing for a technical interview just focus on the technical stuff and
they completely forget that what they’ve done the past actually does matter as well.
So let’s talk about preparation for these questions.
One of the first things I recommend you doing is just preparing a quick walkthrough of your resume
that you’d use whenever your interviewer asks you something like “tell me about yourself”
or “walk me through your background” something like that.
And then drop back to the beginning of your career and work through chronologically from there.
So you might say something like “Hi, I’m a software engineer at such and such company,
my background is in computer science, I did my bachelor’s and master’s at UPenn
然后做了x y z等工作
and then went to do x y&z.
You can go fairly quickly so it’s really not the time to spend a ton of detail.
In fact, when candidates try to tell everything they’ve done the past
it actually backfires and the interviewer stops paying attention.
But I do recommend a few things that you think about.
The first thing is think about quick ways that you can show that you’ve been successful.
可以是你建立的一个专题 一次晋升 一个奖品
So that can be a feature you built, a promotion, an award,
concrete things that you’ve done and try to slip those in there really quickly.
The second thing I recommend you do is just think about
what you would like me to ask you questions on and drive me that direction.
So if you say I spent the last four years at Company B,
been focusing a lot on rebuilding our caching infrastructure in-house.
It’s very natural for me then to ask you follow-up questions about that project.
So drive me in the direction you want me to go.
And the third thing is think about your hobbies.
任何技术相关的爱好 如参加编程马拉松 编程比赛
Certainly any technical hobby, going to a hackathon, coding competitions
like those on HackerRank, or doing projects on the side
even if you have no plans to ever launch that app,
building a, you know, taking a class on Coursera
learning scala on the side, anything technical should be mentioned.
But for non-technical hobbies, you know, it never hurts to mention them too,
but when you do it think about if there’s a way of framing them in a way that makes them relevant.
So for example somebody I know is super into running
which you know is not particularly relevant
for a job at pretty much any of the top tech companies.
But as it turns out he had signed up for a hundred mile ultramarathon
that is actually running a hundred miles.
He quit though at mile 60 so he never finished.
他之所以退出 是因为在跑了30英里时 伤到了脚踝
And he quit at 60 because he hurt his ankle at mile 30.
你听到这些 不止会想“真棒 这个人擅长跑步”
You hear that and you don’t just think “okay cool this guy’s into running,”
you think “wow this person must have have a tremendous work ethic
to train for running a hundred miles
and then actually run 60 miles.
He must be really willing to push past hard obstacles
because he kept running after hurting his ankle.”
Pushing past obstacles, working really hard,
those are absolutely relevant attributes
even if the specific implementation of running isn’t all that relevant.
So think about your hobbies in that perspective – how do they show teamwork,
drive to learn, willingness to take risks and anything like that,
how can you bring out those attributes.
Then pour through your past background and think about
a couple projects that you’re going to be particularly well prepared to talk about.
Pick these out based on what you were doing more so than the rest of your team.
So in other words it’s better to pick a boring project
where your part was interesting than the other way around,
然后再考虑一下 面试官可能会问的典型问题 技术相关的与技术不相关的
and then think about the typical technical and non-technical questions that they might ask.
Some of the technical questions I might ask are things like,
what were the biggest challenges, what was the architecture,
what were the technologies, how would, you know, what were the
implications of picking those things but then also the soft side.
What was the teamwork dynamic like, how did you show influence or leadership anything like that.
Make sure we’re talking about your projects
that you’re really focusing on your role and your contributions.
通常对于一个团队合作项目 人们会说“我们” “我们团队”
Oftentimes people in team projects, everything they say is “we,” “us,” “the team”
even strangely when they’re actually talk about things that they themselves did.
They use this global “we” thing.
So be aware of this and you really want to focus on your role.
And then also think in advance about what you would do differently
and that brings me to how want to wrap up here which is
that one of the mistakes a lot of candidates make
when they get asked questions about mistakes and failures and weaknesses and all this bad stuff
is they get so focused on trying to convey this really positive impression
that when they get asked about anything bad they want to hide it from me
and this completely backfires.
If somebody doesn’t talk openly about the stuff they’ve done,
you know, not so well when they get asked about that
I don’t think “he didn’t do anything badly,”
I think, “you’re either unwilling to admit to your failures
or you just aren’t aware of what they are.”
Either way it’s a big problem.
So the best thing you can do is be very honest
并且在被问到时 坦诚地说说你做过的错事 经受的失败等
and open about all the bad stuff mistakes failures etc. when you’re asked them
but also be proud and be willing to talk and specifics about
the cool things the hard things and the challenging things you’ve done.
So again I really really encourage you to remember that even these technical interviews
技术面试不只与技术有关 也和你自身 你的学历背景有关
are not all about technical stuff, they’re also about yourself and your background
so be prepared for those questions.
嗨 我是Gayle Laakmann McDowell 《程序员面试金典》的作者