TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

We compiled a library of realistic engineering take-home tests and ranked them

223 点作者 alexyang21超过 2 年前

31 条评论

alexyang21超过 2 年前
Studies [1] show that a work sample test is the best predictor of candidate performance on the job, which is why many software engineering teams use take-home tests as one step in their hiring process. But designing an effective test is difficult and time-consuming. For example, candidates are reluctant to complete tests that are too long or not engaging enough. But make them too short and teams won’t get the signal they need for a proper evaluation.<p>To encourage more thoughtful test design (and hopefully save future candidates from the worst offenders), my team compiled the <i>largest library of non-“whiteboard” take-home tests</i> that real engineering teams have used. You’ll find the challenges that Stripe and Microsoft gave to their full-stack candidates, front-end tests from Tailwind and Rivian, and back-end ones from Basecamp and Revolut. Whether you’re looking to evaluate an Android, DevOps, or Data Science candidate, a bootcamp grad, or senior engineer, we found a few options for each.<p>Having built 20+ tests ourselves, we also rated the design of each test. The criteria for a 5-star rating:<p>1. Tests for skills highly relevant to those required for the position<p>2. Includes a well-written description of the prompt and even motivation for using a take-home test<p>3. Sets clear expectations for candidates (e.g. time requirements, evaluation criteria, submission details)<p>4. Asks for a reasonable time commitment from candidates (&lt;4 hours)<p>A few notes: - We found most of these test prompts in public GitHub repos, usually owned by the hiring team but occasionally in the candidate-owned submission. We sifted through hundreds of tests and filtered out those overly focused on algorithms (aka LeetCode), leaving us with 142 tests in the library.<p>- The larger and more recognizable companies didn’t always have the best tests. Some of the most interesting prompts we found were from smaller teams (e.g. YC startups). This shouldn’t be surprising. Startups need to design candidate-friendly hiring experiences to compete for talent against more established players.<p>- There were common themes among the tests we found. For example, front-end candidates were often given a Figma design + content feed to implement, while back-end candidates had to implement an API given a set of requirements. Data scientists were usually given a data set to clean, analyze, and submit a Jupyter notebook with their findings.<p>- We’ll continue to update this library and add descriptions of each test so it’s easier to compare.<p>Have feedback, or another take-home test we should add? We’d love to hear from you!<p>[1] The Validity and Utility of Selection Methods in Personnel Psychology (<a href="https:&#x2F;&#x2F;www.researchgate.net&#x2F;publication&#x2F;232564809_The_Validity_and_Utility_of_Selection_Methods_in_Personnel_Psychology" rel="nofollow">https:&#x2F;&#x2F;www.researchgate.net&#x2F;publication&#x2F;232564809_The_Valid...</a>)
评论 #32598060 未加载
评论 #32600185 未加载
评论 #32598593 未加载
评论 #32598127 未加载
评论 #32599169 未加载
d23超过 2 年前
These are great in theory. In practice, I&#x27;ve regretted the handful of times I&#x27;ve done them. It seems like some companies use this as a way to &quot;waste&quot; less of their interviewers&#x27; time. One particular dysfunctional company that everyone here would recognized gave me the feedback: you&#x27;re one of the candidates out of nearly 200 that did this [7-10 hour take home test] and passed! Then they ghosted me for a month before asking me to come on for a full day onsite.
评论 #32599571 未加载
评论 #32599515 未加载
alfalfasprout超过 2 年前
I think a lot of people are getting hung up on the fact that these challenges take a long time. Yep, and that&#x27;s a problem...<p>But the goal of having a candidate work on a real problem is a good once. IMO a far better approach is to do a live exercise with them. Not a leetcode problem... take an existing codebase and add a feature to it, fix an issue with it, etc. Heck, you don&#x27;t need them to complete everything, but you just need to get signals on how they approach the task, how they pick up working in an unfamiliar codebase, attention to detail, communication, etc.<p>Anything to get rid of leetcode interviews that are a collosal waste of everyone&#x27;s time and lead to awful hires. Over the years there has been a democratization of study material for &quot;coding interviews&quot; which has led to a huge influx of wildly inexperienced&#x2F;unqualified candidates. It also means if you want to hop to another company, you have to waste months grinding leetcode problems completely irrelevant to anything you&#x27;ll ever do.
评论 #32599517 未加载
评论 #32599610 未加载
endisneigh超过 2 年前
I actually don’t mind take home tests, but I want the company to also burn resources as to disincentivize ghosting.<p>Problem with take homes is that you can spend hours and then they can spend seconds or minutes reviewing.<p>At least with traditional interviews the time spent is equal for both parties.
评论 #32598489 未加载
twawaaay超过 2 年前
As an interviewer, I believe take home tasks are unfair and also poor return on investment.<p>Take home tasks incentivise candidates to burn as much time as possible on the task. Consequently, they are a test of who is willing to put a week of work even when the instructions say it should not take more than 3 hours to complete.<p>I prefer pair programming with the candidate on the premise that if I ask you to spend 2 hours of your time it is only fair that I also spend this time with you. And also give you a chance to learn about me, your future boss.<p>Not to mention I can learn more about you working with you for half an hour than I would ever learn by studying the code you might or might not have written yourself.
评论 #32598839 未加载
评论 #32598461 未加载
评论 #32598634 未加载
评论 #32598276 未加载
评论 #32598575 未加载
评论 #32598969 未加载
评论 #32598534 未加载
评论 #32598775 未加载
评论 #32599201 未加载
评论 #32598659 未加载
评论 #32599005 未加载
评论 #32598196 未加载
评论 #32598596 未加载
评论 #32598234 未加载
评论 #32599075 未加载
评论 #32598766 未加载
评论 #32598354 未加载
评论 #32598317 未加载
评论 #32598953 未加载
评论 #32598903 未加载
评论 #32598579 未加载
not_the_fda超过 2 年前
Why would I do any of these? They are a huge time sink and I have plenty of job opportunities without jump through these hoops.
评论 #32599021 未加载
评论 #32598787 未加载
评论 #32598996 未加载
评论 #32598611 未加载
评论 #32598517 未加载
rsstack超过 2 年前
It&#x27;s my turn today to complain about website building instead of content:<p>When macOS developers write in CSS &quot;overflow: scroll;&quot; they get the same behavior as they do with &quot;overflow: auto;&quot;, but they don&#x27;t realize that viewers on Linux and Windows now see ugly default operating scrollbar at all times, especially ugly when the dropdowns aren&#x27;t supposed to have horizontal scrolling.<p>Test web software on two browser and two operating systems :)
评论 #32599421 未加载
mr_gibbins超过 2 年前
Picked one at random, the Zero5 assessment, technologies: SQL. The first question was a scenario where I would build a backend endpoint using an API&#x2F;Lambda and a web frontend. Nothing to do with SQL except for the &#x27;database&#x27; icon in the architecture diagram. Rated 5 stars.
评论 #32600660 未加载
pmonza超过 2 年前
It&#x27;s painful to imagine how many teams miss out on candidates because their take-home or technical interviews are not extracting the right signals. Having access to a library like this will save so much time on getting new ideas and iterating. At the very least, I hope it saves the effort of running into useless leetcode libraries.
评论 #32598271 未加载
评论 #32598182 未加载
llimllib超过 2 年前
All of ours[1] are given three stars but I would love to know why! I feel like they meet your criteria, but who knows.<p>Would love yours, or anybody else&#x27;s feedback on our problems. We do care about them, and wrote about why we use homework here: <a href="https:&#x2F;&#x2F;adhoc.team&#x2F;2018&#x2F;02&#x2F;26&#x2F;why-we-use-homework-to-recruit-engineers&#x2F;" rel="nofollow">https:&#x2F;&#x2F;adhoc.team&#x2F;2018&#x2F;02&#x2F;26&#x2F;why-we-use-homework-to-recruit...</a><p>[1]: <a href="https:&#x2F;&#x2F;homework.adhoc.team&#x2F;" rel="nofollow">https:&#x2F;&#x2F;homework.adhoc.team&#x2F;</a>
评论 #32600787 未加载
hugonordell超过 2 年前
Disclaimer: one of my take home assignments I designed is part of the list compiled by the author.<p>---<p>Every interview process will inherently be a flawed one. Having hired several hundred engineers in my career, I believe that it is essential to try to create an interview environment where candidates feel they are given the best possible chance at showing their potential.<p>There&#x27;s plenty of bias in engineering already that puts women, people of color and minorities at a disadvantage - and this shows through how most companies approach engineering hiring.<p>In one of my previous roles, we looked at who made it though to subsequent interview rounds and found that we favored candidates with very similar backgrounds to our own. More than we had thought, as it turns out, than we believed going into the analysis. Our solution to reducing this bias up front was to design take home assignments that tried to resemble the day to day job as much as possible, and with measurable criteria for what we wanted candidates to cover to determine their experience and skill.<p>It took a tremendous amount of work to get this process right, with a number of iterations to figure out the right balance for how much time a candidate should spend on an assignment and how much of day to day work our engineers should allocate to evaluating candidates.<p>Over the course of two years, we were able to achieve an almost equal split between women and men being hired into our engineering organization, less employee churn and a generally more vibrant workplace.<p>Take home assessments aren&#x27;t a silver bullet, and they don&#x27;t address every piece of the hiring puzzle. I do, however, believe that they are much better positioned to help interviewees perform at their best in an environment they feel comfortable in. This is especially true for people who today are less represented in software engineering roles.<p>At the end of the day, take home assignments are one part of a larger toolbox of tools companies must make use of to hire great people. Just like any other approach, take homes can be abused or misused, but I think they deserve more attention than most hiring managers give them.<p>Use them, or don&#x27;t. Just make sure you hold yourself accountable to your own bias and try to reduce it so you don&#x27;t miss out on great talent that don&#x27;t fit your predefined view of what a great candidate looks like.
lelandfe超过 2 年前
As there are no tests rated 1 star, I wonder if the scoring is too lax.<p>I&#x27;ve taken some of these – shocked that Algolia&#x27;s made it to a 3 star. Look at how much work this is: <a href="https:&#x2F;&#x2F;github.com&#x2F;algolia&#x2F;solutions-hiring-assignment" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;algolia&#x2F;solutions-hiring-assignment</a>
评论 #32598332 未加载
评论 #32598595 未加载
francisofascii超过 2 年前
I like the assignments where a starting project is provided, and you are given a few enhancements and bug fix tasks within the project. That is probably what your first few months will be like at the job anyway. You can match the coding standard of the existing project rather than agonizing about naming standards or other subjective decisions. I have an issue with the more open ended tasks where you create a project from scratch. I saw the directive &quot;make the interface as polished as possible&quot;. That is how a 3 hour project turns into a week of work.
评论 #32600175 未加载
thisiswrongggg超过 2 年前
Unless I&#x27;m desperate I&#x27;ll never do an unpaid take home test again in my life. For me it has been a waste of time and hugely demoralizing. Best&#x2F;worst story and the one that broke camel&#x27;s back: at one uber-copycat company I had my test failing on one reviewer. Then after a few months another reviewer interviewing me for another company told me that &quot;this test would be fine by me. Had I reviewed it when I was back at the uber-copycat company I&#x27;d pass it&quot;.<p>And my experience was more or less like that with all unpaid take home tests. So, bitter truth is I have more to my life than doing boring unpaid work with minimal chances of getting to an offer and TBH I doubt I&#x27;d enjoy working in a company that hires like that. So, my stance is give me as much whiteboard or pair programming or whatever _time_bounded_ test you want and let&#x27;s go from there.<p>PS: I looked one of the tests. It said &quot;follow SOLID&quot;. I&#x27;m not gonna say what I think of SOLID here but it&#x27;s good that they say what they adhere to beforehand. I mean if you&#x27;re going to have people pouring hours and days in your tests at least be transparent of what exactly you expect.
评论 #32600125 未加载
bogomipz超过 2 年前
The entry for this company Haraj states:<p>&gt;&quot;Just fyi, this submission make up to 50% from your overall hiring score. While your CV only make up to 5%. So do your best to create great submission!&quot;<p>&gt;&quot;UPDATE (2022-02-05):<p>Due to many great candidates have applied to this vacancy, we decided to close this challenge on Friday (2022-02-11). So we will wait for the last submission until Thursday (2022-02-10) at 23:59 WIB.&quot; [1]<p>This is like a cattle call audition with a hard deadline. Who would do this? Also there is absolutely no indication of how much time one should spend this. I&#x27;m guessing this is intentional. If you want to give me a deadline there better be pay involved. I hope people are smart enough to call BS on these companies. Hopefully a company making demands one&#x27;s time without compensation is a huge red flag for people.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;riandyrn&#x2F;owldetect" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;riandyrn&#x2F;owldetect</a>
评论 #32598960 未加载
rendall超过 2 年前
Once, when I started out, I did a take-home test and didn&#x27;t get the job. The feedback was literally &quot;In some of the files, you mixed tabs and spaces&quot; - which was not true. The penny dropped a few years later: there never was a job. I did some kid&#x27;s homework.
irf1超过 2 年前
Give candidates real work &amp; pay them for their time. <a href="https:&#x2F;&#x2F;blog.algora.io&#x2F;post&#x2F;2022-04-pay-when-hiring-part-2&#x2F;" rel="nofollow">https:&#x2F;&#x2F;blog.algora.io&#x2F;post&#x2F;2022-04-pay-when-hiring-part-2&#x2F;</a>
评论 #32598618 未加载
magicloop超过 2 年前
My attitude is that take-home tests should be given to candidates if they cannot share work they&#x27;ve <i>already</i> done.<p>This creates a win-win incentive because it would become standard in our industry to have a portfolio of GitHub contributions, a stack overflow profile, etc. At least those artefacts are helpful to a wider community as well as showing your abilities.<p>Couple this with an open ended technical conversation with the engineer, progressively drilling down on items they know about to see the depth of their skillset, you will understand the key skills they can present for the job opportunity.
评论 #32599156 未加载
teeceetime2超过 2 年前
Hardware Reverse Engineer here. Would love to see some more tests geared towards my field. (Either reverse or hardware engineering)
评论 #32598675 未加载
porknubbins超过 2 年前
Just a nitpick but when I see engineering without software in front of it I think EE or mech. This is a useful resource I almost skipped over. I realize certain industry segments are probably so steeped in the jargon that its obvious to people on the inside but its not to everyone.
porknubbins超过 2 年前
Just a nitpick but when I see engineering without software in front of it I think EE or mech. This is a useful resource I almost skipped over. I realize certain industry segments are probably so steeped in the jargon that its obvious to people on the inside.
0x20cowboy超过 2 年前
Software engineering has been turned into Star Search: <a href="https:&#x2F;&#x2F;m.youtube.com&#x2F;watch?v=FfRihaJxozo" rel="nofollow">https:&#x2F;&#x2F;m.youtube.com&#x2F;watch?v=FfRihaJxozo</a><p>When is Musk finishing that rocket to Mars?
VoodooJuJu超过 2 年前
Take-home tests are incredibly disrespectful. Not only is it an implication my work and experience are illegitimate, but it&#x27;s a request for me to do work for free. Not happening.<p>My frame is always &quot;I&#x27;m a professional meeting another professional to see if what I&#x27;m selling is fit for what they&#x27;re seeking to buy, and at a fair price.&quot; You can imagine my shock when the interviewer&#x27;s frame is something like &quot;Do this work for free to prove to me you&#x27;re worthy.&quot; Sorry to burst your bubble, but I have nothing to prove, my friend.<p>I like to put things like this in mob terms because it distills things down to their simple essence. Mobsters are all about essence and simplicity. No Bullshit™. This humbles the nerd. Here:<p>&gt;You like steak? I deliver steak. I could deliver you steak. At a good price too.<p><a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=ii5CiYxwuMo" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=ii5CiYxwuMo</a><p>That&#x27;s it. That&#x27;s the essence of the ideal interview. Two professionals having a conversation. No Bullshit™. Like <i>literally every other industry</i>. I&#x27;m a respectable steak delivery man and you are a respectable potential client. That&#x27;s the frame. None of this &quot;prove to me you&#x27;re worthy&quot; nonsense. When I deliver, you pay. If I don&#x27;t deliver, you don&#x27;t pay. Simple as.<p>&gt;Before I hire you as a plumber, I just need you to install a section of piping free of charge, because I don&#x27;t trust you or believe who you say you are.<p>Sounds ridiculous, doesn&#x27;t it? It is. You&#x27;ll be installing your own pipe with this attitude.<p>There&#x27;s already a great deal of asymmetry in the hiring process. You&#x27;re getting paid to interview me, but I&#x27;m not. Let&#x27;s not make it any more asymmetric than it already is.<p>I understand interviewing is difficult. A lot of this difficulty stems from the fact that many of us in this business are pretty nerdy, i.e. socially awkward, both interviewers and candidates alike. This makes it difficult to probe someone via conversation to see if they&#x27;d be a good fit. But difficulty with socializing is no excuse. If you&#x27;re a socially awkward hiring manager, you either need a different role or need to improve your social skills. If you&#x27;re a socially awkward candidate, same thing goes for you - improve your social skills.<p>If a hiring manager tries to saddle you with unpaid work, you tell him &quot;fuck you, pay me&quot;. Gabish? Have some self-respect people. The more candidates that set these managers straight, the more they&#x27;ll be forced to start conducting normal human interviews.
rehanc超过 2 年前
Hugely helpful! Thank you for the work you did compiling these.
speby超过 2 年前
I have a better idea. Don&#x27;t do take-home assignments as a candidate and don&#x27;t give them as part of your interview process as an employer. Problem solved.
Omnipresent超过 2 年前
This is a phenomenal resource. I wish it also included the DevOps category -- k8s, aws, terraforms of the world.
评论 #32611069 未加载
itronitron超过 2 年前
Did anyone actually read the article? Just kidding, there isn&#x27;t actually anything to read...
higherintel_io超过 2 年前
Thank you for this! Great work!
stakkur超过 2 年前
There’s no such thing as a ‘realistic engineering take-home test’. When will we admit tests are not only unrealistic, but an utterly useless predictor of…anything?
thinkmorebetter超过 2 年前
Very useful, thanks!
sdwolfz超过 2 年前
Now take that list, throw it in the rubbish bin and wash your hands thoroughly.<p>Take home challenges are simply an absurd waste of time and a huge disrespect towards your candidates personal time. You ask them to spend 4 or more hour of their free time on a useless, throwaway excersise that you &quot;review&quot; in 5 minutes and you conclude they&#x27;re good enough because they laid out code the way you like it... You never see the really important things that you should be screening for: how they explain their approach, their though process, how well they communicate, the compromises they had to make to fit within the timeframe, and why they&#x27;d made those compromises, how they react and adapt to changing requirements and feedback...<p>It&#x27;s just flawed on so many levels...<p>As a new Engineering Manager I&#x27;ve eliminated the take home challenge in my new company in favour of this process:<p>- You have open source code or closed code that you can show? Walk me through it. Our best engineers passed the interview this way.<p>- You don&#x27;t have code to show, 1 hour live coding challenge, focus on communication, search want you want online, ask us any questions, and explain what you&#x27;re doing.<p>We had about 40 such interviewes this year, one person refused the live challenge, 11 passed this stage, and we ended up with 7 hires accepting the offer.<p>If you lack inspiration, use this: <a href="https:&#x2F;&#x2F;github.com&#x2F;guardian&#x2F;coding-exercises" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;guardian&#x2F;coding-exercises</a>
评论 #32599008 未加载
评论 #32598705 未加载
评论 #32598558 未加载