找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3134|回复: 3
收起左侧

The Design Interview From the Interviewer's Perspective

[复制链接]

4

主题

1

精华

38

积分

新米人

Rank: 1

积分
38
发表于 1-11-2016 10:16 AM | 显示全部楼层 |阅读模式

亲!马上注册或者登录会查看更多内容!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Interviews are amedium which allow companies to assess a candidate's skills and to determine ifthe candidate is a good fit for the company. This is why many softwarecompanies believe that interviewing for coding skills alone is not the best way to assess a candidates skill because it does not give enoughinformation about the candidate. Designing systems is a key
element that definessoftware development, and can be a very important skill
to assess wheninterviewing a candidate.

This is where the design interview comes in. The design interview's purpose
is to understand howcapable a candidate is at building a large scale
system. There existsa fundamental problem with conducting this interview.
Interviewers aretrained to look for right and wrong answers. While in
regular interviewsthis is bad, as seen in this example Interviews Are Not
Exams, in design interviews it’s unacceptable.The purpose of a design
interview is tounderstand how someone thinks, and there is not one set way
of thinking. Becauseof this variety, there will be many acceptable answers
Here are some pointson how to correctly judge a candidate in a design
interview;

Define Expectations

Clarifying the pointof the interview will give a better result in analyzing
the candidate. Manycandidates have little to no experience with design
interviews, soexpecting an understanding of how to act in a design
interview can createa negative atmosphere even for a good candidate.
Explaining the goalof the interview, advising that there will not be an
exact solution, andstressing the importance of clarifying requirements if
the candidates divesright into solving the problem can help provide an
appropriate basefrom which an interviewer can fairly judge a candidate.

Choose QuestionsWithout Answers

One of the commonmistakes with design interviews is to ask questions
expecting a singleanswer. Questions with only one answer can judge if a
candidate can solvea puzzle, not that they can design. The point of a
design interview is to assess the candidate’s ability to create a system.
If the candidateprovides a working solution, is able to adapt to
requirements, anddefends their choices with valid points, their performance
is good indicationof what they can do once hired. There are many paths to
the same result, andexpecting something to be solved a specific way can
make a great futureemployee come off in a negative light.

Remain in Control ofthe Interview

It is easy for acandidate to go down a rabbit hole, but it is the
interviewer’s job to stop them and stay in controlof the interview. This
is especially truein design interviews. A good way for the interviewer to
maintain control isto ask the candidate to talk through a high level design
, have them draw itout on a whiteboard, and then explain a more detailed
design of each component based on the interviewer’s prompting. Once they
design the toplevel, then the interview can progress with more specific
points. Thisrequires the interviewer to know the question rather well, and
stay ahead of thecandidate, while understanding their thought process and
subjectunderstanding.

Dealing with DesignFlaws

One of the mostimportant things to do in a design interview is to challenge
the candidate’s design. Whether the design is right orwrong, the act of
explaining anddefending a design is an important skill for developers.
Developers have tojustify their designs every day, and explain why it is
the best approach. Pointing out that a weakness in the candidate’s design,
and seeing how theyreact and change their design is important because of
its real lifeimplications. Removing points for a bad design is reasonable,
but if the candidateis able to fix the issue quickly and correctly then
they should be ableto redeem partial credit.

Ability to Grow>= Ability to Know

When a candidateuses lots of buzzwords (REST, Kafka, Database Partitioning,
etc), challengetheir knowledge of the subject and dive into some specifics
before moving on.This will allow the candidate to demonstrate how much
they know, and givea better indication of their expertise. The ability to
learn and grow also gives a good indication of how well they’ll perform in
a job. Aninterviewer should do this by giving hints to help unblock the
candidate. If a candidate gets hired, they’ll need to learn at a fast pace,
so learning andadapting in an interview should be considered a good thing.
Too many hints willindicate a weaker candidate, but some hints and
learning in an interview is important, because they won’t know everything
when they are hired.

Add Requirements

In engineeringdesign, requirements are changing constantly. Requirements
that were importantat first become irrelevant, when the product starts to
come to lifefeedback influences requirements, and even after release the
changing ecosystemmay enforce or remove design constraints.. It is
important to see howa candidate adapts to a changing environment. When a
candidate creates areasonable first design, the interviewer should change
the requirements.Asking the candidate to consider a lot of users or add a
new feature willhelp understand how the candidate adapts. It is also
important to note how “hacky” their solution becomes. Good candidates will
re-design in such away that it appears as though the modified design was
the original intent,whereas bad candidates will keep hacking through the
product, and it willlook messy in the end.





评分

参与人数 1金钱 +6 收起 理由
Sophia + 6 好帖!大米满满送上!

查看全部评分

发表于 1-11-2016 08:31 PM | 显示全部楼层
Thanks for your great post~~~
我们始终相信IT会持续改造甚至创新传统行业,我们始终全面看好咱们的CS专业!
回复 支持 反对

使用道具 举报

0

主题

0

精华

21

积分

新米人

Rank: 1

积分
21
发表于 7-27-2016 07:23 PM | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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