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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Hiring Is Broken – My interview experience in the tech industry

376 点作者 sahat大约 9 年前

138 条评论

sagichmal大约 9 年前
Hiring isn&#x27;t broken, dude. You just don&#x27;t interview well, and you seem antagonistic even to the idea that your cachet and skills, insofar as they exist, aren&#x27;t useful to the market. That&#x27;s a problem -- for you.<p>Interviews exist because employers need a way to quantify and qualify your ability. Typical computer science problems are a (flawed, but concrete) way of doing that. No reasonable interviewer expects you to recollect breadth-first search flawlessly, on demand, onto a whiteboard. But they do expect you to be able to reason from a problem statement to something approximating a solution. That&#x27;s fundamentally what programmers <i>do</i>. You should have the chops to think in this way, and you should be eager to try. Emoting &quot;what the fuck?!&quot; and claiming you can&#x27;t, or won&#x27;t, because you&#x27;re not a recent graduate is an excuse and a cop-out.<p>A few popular open-source projects don&#x27;t necessarily speak to your talent as a programmer. A 960 day GitHub streak is trivia, not a signal of anything useful. (If anything, it marks you as a target for burnout!) A few Hackathon wins and a couple hundred GH stars are the artifacts of a successful hobbyist, not a proxy for professional ability, or a gateway to employment.
评论 #11580103 未加载
评论 #11580029 未加载
评论 #11586724 未加载
评论 #11586263 未加载
评论 #11580484 未加载
评论 #11585316 未加载
评论 #11580088 未加载
评论 #11580105 未加载
评论 #11580019 未加载
评论 #11580090 未加载
评论 #11585941 未加载
评论 #11581970 未加载
评论 #11585919 未加载
评论 #11588203 未加载
评论 #11580237 未加载
评论 #11584472 未加载
评论 #11580198 未加载
vdnkh大约 9 年前
It took me a year to find a new job. I got rejected from on-sites 8 or 9 times, a few other rejections before that. I&#x27;ve been through everything the OP has and more. I was once forgotten in an interview room while my interviewer played foosball and then went home. I&#x27;ve managed to pass all rounds with &quot;positive feedback&quot; only to get rejected three days later. I&#x27;ve swam through rivers of aerated bullshit to find a new job and it sucked - but I never once believed that I was a bad engineer. Hate the game all you want (and I really do hate it), but you have no choice other than to play it or have an extremely strong network.<p>I didn&#x27;t even want to go to the interview which landed me my new job. In my previous phone screen they were looking to hire a single person.The perfect fit. Probably not me - what the hell do I know about video players? And it&#x27;s one of those interviews where they&#x27;ll boot you to the curb if you do poorly in the first half. Whatever, I&#x27;ll go anyway. And as luck would have it, I didn&#x27;t get booted. I did damn well. And in my final phone screen with the CTO, I got asked how to find the Nth last spot from the end of a linked list.<p>I really wasn&#x27;t good at interviewing for a long time. And from the outset, I didn&#x27;t know everything I needed to get the job I wanted. It was consistent studying and a buy-in to the bullshit that interviewing is that landed me a new job.
评论 #11582668 未加载
评论 #11582505 未加载
评论 #11582696 未加载
评论 #11604900 未加载
markbnj大约 9 年前
There&#x27;s selectivity, and there&#x27;s courtesy and respect. Companies are entitled to be as selective as they like, and if those are the kinds of tests that yield the people they want to hire then good for them. On the other hand courtesy and respect would demand that you&#x27;re clear with the candidate about your expectations and requirements, that you don&#x27;t waste their time, that you respect the investment of time by communicating after the interview to let them know how they did, and perhaps even that you let them know up front what areas you expect to cover. Otherwise, as was noted in an earlier comment, it really is just a lottery to see if you happen to be fresh on whatever thing they happen to ask you.<p>There is another side to this which leads me to ask why companies feel they have to be so defensive? My wife is a registered nurse on a cardiac critical care ward. If she doesn&#x27;t know what she&#x27;s doing actual people can actually die, something that is a rare outcome for even the worst software developer. Nevertheless, she has a BS, and work experience, and when she interviews they don&#x27;t require her to stand up at a whiteboard and prove she&#x27;s a nurse all over again. They respect her experience, and the questions are more about process, work habits, personality, etc. In the software development world we appear to have zero respect for experience, and I wonder why that is? Have employers been burned so often? Or is this more of a geek cred gauntlet thing?
评论 #11582106 未加载
评论 #11582086 未加载
评论 #11583500 未加载
tptacek大约 9 年前
I&#x27;m torn.<p>On the one hand: the interview processes this post describes are hilariously broken. Stand up at a whiteboard and implement breadth-first search from memory! You know, like no programmer at their desk staring at their editor ever does. I think &quot;that&#x27;s the one where you use a queue, right?&quot; is a fully valid and <i>complete</i> answer to that dumb question.<p>I also think you&#x27;re within your rights to demand that your interviewer implement Kruskal&#x27;s minimum cost spanning tree from memory at the same whiteboard <i>before</i> you have to do BFS. That&#x27;s an extremely simple and important graph theory algorithm that nobody memorizes either.<p>These interviews are nerd status rituals. Really good candidates know this and game them. If you know anyone like this, ask them for stories. I&#x27;ve heard some great ones. But obviously, this isn&#x27;t a good way to select software developers.<p><i>On the other hand...</i><p>The idea that &quot;front-end developers&quot; shouldn&#x27;t need to be able to implement a BFS (at all) bothers me a lot. If you&#x27;re a software developer, you should grok basic conceptual computer science. You should be able to work with a graph. If you&#x27;re doing web work, you&#x27;re working with graphs all day whether you grok that or not!<p>I&#x27;ve been doing front-end work for the past month, and I&#x27;ve had to do more low-level profiling and performance work here than in the previous 4 years of low-level systems work.
评论 #11582957 未加载
评论 #11582635 未加载
评论 #11583021 未加载
评论 #11588296 未加载
49531大约 9 年前
Technical interviews became 10x easier when I realized that most companies aren&#x27;t necessarily looking for the right answer as much as they are trying to look into your mind.<p>As a self taught programmer things like binary search trees and linked lists are a foreign concepts (especially as a self taught frontend developer). When I am asked to solve a problem in a way I&#x27;ve never encountered before, people are pretty open to explaining how the problem works.<p>I don&#x27;t get frustrated if a problem seems arbitrary or obscure because that&#x27;s typically not the point. The point is, if you&#x27;re going to join my team, how do you approach a difficult problem; do you get upset? do you clam up? I don&#x27;t want someone like that on my team. I&#x27;d say most people would prefer a teammate who is resourceful rather than one who only wants to solve problems they&#x27;re comfortable solving.
评论 #11580686 未加载
评论 #11580470 未加载
评论 #11581000 未加载
评论 #11582807 未加载
bryanlarsen大约 9 年前
The OP is describing the new grad tech hiring process. It looks like an exam because it&#x27;s for hiring people straight out of school.<p>For experienced people, it&#x27;s not what you know, it&#x27;s who you know. You tell your connected friend that you&#x27;re looking for a job, he tells you who&#x27;s hiring and gives you a recommendation.<p>You still have an interview, but it&#x27;s no longer adversarial, it&#x27;s a formality, it&#x27;s friendly, it&#x27;s just a screen to make sure you&#x27;re not faking it. One of the people on the other side of the table has seen your work before, so is on your side. So when you get those stupid questions, it&#x27;s a joke that you all laugh at. You handwave at it, and it&#x27;s enough.<p>There are obviously problems with the above process -- it leads to hiring friends rather than the &quot;best&quot; candidate, but I&#x27;m surprised that we&#x27;ve moved so far away from it that the obviously well-connected OP is having so much trouble.
评论 #11580654 未加载
评论 #11582115 未加载
评论 #11582576 未加载
评论 #11585158 未加载
评论 #11583761 未加载
halis大约 9 年前
I interviewed with Netflix for a front-end JavaScript position a few years ago. I had two technical phone screens. One with the engineering manager and another with a senior engineer on their team.<p>Those went smoothly so I was asked to fly out to Los Gatos, CA.<p>On-site I was supposed to talk first with the senior engineer I had already interviewed with over the phone. He was out sick so they changed at the last minute.<p>In walks a guy in a fedora with full tattoo sleeves. He glances at my resume and laughs saying he hasn&#x27;t looked at it at all and really knows nothing about me.<p>He proceeds to ask me detailed questions about Node.js. I told him that I was very clear with them on the phone, that I&#x27;ve played around with Node, but I hadn&#x27;t used it to any serious degree (at that point in my career).<p>He continued with the Node.js questions for a while, some of which I knew because they were the same as the browser (console) some of which I wasn&#x27;t familiar with at the time (EventEmitter).<p>He then asked me some simple JavaScript, Backbone, CSS questions all of which were easy. He then asked me a C# question and I knew that too.<p>We shook hands and after he left, the engineering manager came back in and I was basically escorted out. He said I was good but that I wasn&#x27;t what they were looking for.<p>I&#x27;ve had some retarded interview experiences but that one took the cake.
评论 #11583227 未加载
paddy_m大约 9 年前
I hired Sahat as an intern three years ago while he was an undergrad. It was one of the best hiring decisions I have ever made. He was productive immediately and our (small) team felt the loss when he went back to school. This guy is good and gets stuff done, ask people who have worked with him.<p>I wish Sahat had reached out to more of his network before responding to random recruiters. Tech interviews as Sahat experienced them are broken, but tech hiring is slightly less broken especially when you leverage your network.
评论 #11580550 未加载
unoti大约 9 年前
Google and similar companies aren&#x27;t for everyone. They&#x27;re looking for people on top of their game and willing to go the extra mile.<p>&gt; To be fair, I already knew about Google’s idiotic interview process that is optimized for hiring book-smart academic candidates who know their algorithms and data structures cold, so my expectations were rather low to begin with. I also did not get much sleep that day, so my problem solving skills weren’t at its peak.<p>The author is already annoyed, antagonistic, and planning for failure. He knew what he was up against, but didn&#x27;t adequately prepare to succeed by studying. And didn&#x27;t sleep the night before.<p>And none of the reasons for not succeeding are the author&#x27;s fault, in his mind.<p>You can claim that the screening process is dumb, and in some ways you&#x27;re right. But at the same time, this process does select to some extent at least against the people who make excuses instead of bringing their A-game when it counts.<p>If you want a job at a place like this, you can do it: commit yourself to a plan of action for success that involves real work and preparation. Wanting to change the industry practice of the top tier firms is interesting and all. But if you want to get in, work and preparation will reap more rewards than complaining.
评论 #11580457 未加载
评论 #11580542 未加载
评论 #11583105 未加载
maxsilver大约 9 年前
What frustrates me about this is not even these questions, specifically, but which companies seem to use them.<p>If Google wants to ask crazy algorithm questions, that&#x27;s at least sort-of reasonable. There&#x27;s at least a hypothetical chance your work will involve that knowledge.<p>But I&#x27;ve interviewed at companies who&#x27;s entire tech stack is a simple CRUD web app, or a simple RESTful mobile app, who&#x27;s so-called &quot;big data&quot; is less than a few gigabytes in total, and they <i>still</i> want to throw algorithms and brain teasers at me. These same companies then post some inane blog post about the &quot;developer shortage&quot; and how &quot;we can&#x27;t find talented people&quot;.<p>If these companies could actually find the candidate they&#x27;re testing for -- this hypothetical hyper-intelligent developer who had a IBM-Watson-like memory of every CS algorithm and it&#x27;s application in every language, that person would get completely bored working there and quit in 3 months or so. <i>These companies could never retain the type of person their own hiring process exclusively selects for</i><p>---<p>Hiring doesn&#x27;t need to get fixed, companies need to get honest about what they are and what they actually want. To restate this in 1-10 scale : Many companies delude themselves into believing they are a 9 or 10, and are trying exclusively to hire 10&#x27;s (and hypothetical 11&#x27;s that don&#x27;t exist).<p>When in reality, most companies are in the 4 to 6 range, they only need people in the 4 to 6 range, but are rejecting 7 and 8s type candidates, because they aren&#x27;t a 10.<p>This process itself isn&#x27;t broken, so much as the businesses holding the power in the process are delusional about...everything (what they are, what they need, who could provide that, etc).
评论 #11586349 未加载
评论 #11584168 未加载
评论 #11583319 未加载
tachion大约 9 年前
After reading author&#x27;s post I&#x27;ve a feeling that its not the programming skills that the author has issues with, but instead the attitude, stress durability, expectations to the world around him. True, hiring can be broken, it often is, but as with everything, the persistence usually allows us to find the proper company with proper hiring process. He&#x27;s getting frustrated pretty quickly, complains when is asked to perform math-heavy coding, complains when is asked to do proper front end coding, so on and so forth - this type of people are not very pleasant to work with and very often their feelings, unability to adapt to difficult situations and attitude is very visible, putting off the recruiters. That is, of course, my personal feeling after reading that piece and I might be completely wrong.
评论 #11581508 未加载
评论 #11581479 未加载
评论 #11582222 未加载
评论 #11582302 未加载
评论 #11581750 未加载
评论 #11581226 未加载
评论 #11582283 未加载
评论 #11582434 未加载
评论 #11581255 未加载
评论 #11584208 未加载
评论 #11581511 未加载
dryajov大约 9 年前
Honestly, I believe the industry is cannibalizing it self, and this sort of practices is pushing out more and more creative and capable people. When I have to make a choice of whether to practice my algorithms or work on my open source project, is when things are going to start blowing up. This industry is built by people with passion and dedication, some of the most powerful and defining projects were built by individuals who sacrificed their spare time to build something useful, now they will sacrifice that time to practice... Algos? C&#x27;mon!!! I think our industry has passed the initial honey moon period, when crazy and beautiful solutions crystalized in garages and basements all across the county and the world, and we&#x27;re headed for a bumpy landing were big corps control open source and the crazies that made them possible are pushed out. This is not sustainable on the long run, and pretty soon were going to be regulated to oblivion. Bye bye innovation.
评论 #11587033 未加载
评论 #11582458 未加载
grosbisou大约 9 年前
Ah I interviewed with some of these companies a few months ago and had the same experience. Unlike you though I didn’t find this frustating but rather hilarious.<p>For example, Lifion interviewers who wanted me to write fibonacci couldn’t tell me what the sequence definition was, they ‘taught’ me that C++ classes default visibility was protected or that REST was a protocol, they didn’t like when I said they should use a relational database if mongodb lack of multi documents atomicity was such a problem. That was so mind blowing that I started writing down on my phone all the stuff they said.<p>I might write an article about all that too actually.
评论 #11580628 未加载
Xcelerate大约 9 年前
When I was an undergrad, my team won the Facebook Hackathon at our university in 2011, so they gave each of us job interviews. None of us got an offer, but the irony is that one of my other team members went on to work at Instagram, which was then acquired by Facebook less than a year later. I&#x27;m pretty sure that was about the most expensive way FB could have hired him.<p>During my interview, the interviewer asked me where I was getting my CS degree from, and I replied that I wasn&#x27;t getting a CS degree — my major was chemical engineering. He was silent for a few seconds, so I&#x27;m pretty sure that wasn&#x27;t the answer he was expecting.<p>What I remember about the interview process is that I was asked to implement some kind of odd search&#x2F;sort algorithm. I remember thinking &quot;why would I have this memorized off the top of my head when I could easily Google the best algorithm suited for the task?&quot;<p>In high school, I don&#x27;t think there was ever a chemistry or math exam that I didn&#x27;t get a perfect score on, but I would also take much longer to finish than the other students. I frequently ran over the allotted class time and worked well into the lunch period (luckily, I had nice teachers who allowed me to do this). In college, I remember perplexing the physics professor, because I got 70s-80s on the quizzes throughout the semester, then I got a 113 on the final exam. I told him the only difference was that I was given 20 minutes for the quizzes, whereas I had 3 hours to complete the final exam. The extra time made all the difference.<p>So I wonder if a lot of companies are missing out when they look for 1) people who have a lot of simplistic CS algorithms memorized and 2) people who can work quickly on the spot. I may not be able to write a FizzBubbleRedBlackSort algorithm on a whiteboard in ten minutes, but give me a week and I&#x27;ll have you a parallelized implementation of quantum monte carlo that runs on a hundred thousand cores.
评论 #11583417 未加载
mikelevins大约 9 年前
Yeah, it&#x27;s broken.<p>Google studied their own interview process, according to Lazlo Bock, examining tens of thousands of hiring decisions. The study concluded that their process was no better than random chance at finding good candidates. They continue with that process nevertheless.<p>I have a rich network of Silicon Valley connections, built over 29 years of working for Valley companies. What I hear time and again is that many highly-qualified and productive people have a terrible time finding work.<p>Simultaneously, Silicon Valley companies testify before congress and complain to the press that there is a serious shortage of technical hires.<p>If companies can&#x27;t find enough good candidates, and good candidates can&#x27;t find enough offers, and one of the most prosperous companies in technology, with the most famously rigorous hiring process in the industry says that their own process is bullshit, then yeah, I&#x27;d say that hiring is broken.<p>Of course, if you happen to be prospering, then it doesn&#x27;t look broken to you. You&#x27;re prospering, after all.<p>And of course, if some joker comes along and says that the process that hired you is broken and gives results no better than random chance, of course you aren&#x27;t likely to agree. After all, if it was luck that gave you your prosperity, then luck could just as easily take it away again.<p>The story we like to tell is that the technical interview screens out bad candidates. It&#x27;s just a story, though. Google&#x27;s research says it doesn&#x27;t.<p>Is that such a big surprise, though? How many times in my three decades in software has a product launch depended on someone being able to solve a brain teaser in front of a critical stranger? Zero. How many times has a company&#x27;s success depended on someone writing the right code on a whiteboard? Zero. How many times has the bottom line depended on someone coming up with the right algorithm or data structure off the top of their head in a conversation? Zero.<p>Technical interviews, if they measure anything at all, measure things that don&#x27;t have much to do with technical jobs. So it shouldn&#x27;t be a big surprise that they don&#x27;t do better than chance at predicting someone&#x27;s performance.<p>If technical interviews don&#x27;t work, why do we still use them? Why does Google still use a hiring process that its own research says is bullshit?<p>Maybe it&#x27;s because we don&#x27;t have anything better.<p>I think it&#x27;s because on some level we realize that we don&#x27;t actually know how to distinguish good candidates from bad ones, but we don&#x27;t want to admit it to ourselves. We want to think that we can pick the right candidate, because it can be so costly if we don&#x27;t.<p>So we ritualize the process. We rely on a bullshit hazing ritual. We wave a dead chicken over it and tell ourselves that we are screening out bad candidates and hiring only the best.<p>Only we&#x27;re not. If we were, then maybe companies would still have a hard time finding enough candidates, or maybe good candidates would still have a hard time finding jobs, but not both at the same time. And the company with the most &#x27;rigorous&#x27; hiring process in the industry wouldn&#x27;t be concluding that their own process is nonsense.<p>Yeah. It&#x27;s broken.
评论 #11588906 未加载
traviswingo大约 9 年前
I interviewed at 17 companies before finding one that fit me. It&#x27;s more of a persistence game than anything, and I began to realize that a lot of companies were just testing the waters, only willing to hire someone if they really blew them away (obviously this is hard to do under interview circumstances).<p>Once I found a company that actually _needed_ me, the experience became a positive one - they went out of my way to make me feel comfortable.<p>I wish there were a way for candidates to pre-screen companies, rather than the other way around. It&#x27;s a waste of time on both parties if the company isn&#x27;t actually in need of a new hire, but just dabbling in the option pool.
评论 #11582425 未加载
bpchaps大约 9 年前
One possible reason is that the brony thing on his github might be a legit turnoff for employers. It&#x27;s silly, but it&#x27;s possible. The two people I talk to more than anyone else in this world are bronies (to the extent of going to conventions and whatnot) and have similar issues. Hell, I still don&#x27;t understand it and find myself irrationally judging them for it, and that&#x27;s even after daily exposure to it.
评论 #11581638 未加载
评论 #11581900 未加载
评论 #11583276 未加载
spitfire大约 9 年前
Tokenadult isn&#x27;t around to chime in here, so I&#x27;ll take his place today. Hunter and Schmit did a meta-study of 70 years of research on hiring criteria. [1]<p>There are three attributes you need to select for to identify performing employees in intellectual fields.<p><pre><code> - General mental ability (Are they generally smart) - Work sample test. NOT HAZING! As close as possible to the actual work they&#x27;d be doing. - Integrity (The first two won&#x27;t matter if the candidate is a sociopath). </code></pre> This alone will get you &gt; 65% hit rate. [1] <a href="http:&#x2F;&#x2F;mavweb.mnsu.edu&#x2F;howard&#x2F;Schmidt%20and%20Hunter%201998%20Validity%20and%20Utility%20Psychological%20Bulletin.pdf" rel="nofollow">http:&#x2F;&#x2F;mavweb.mnsu.edu&#x2F;howard&#x2F;Schmidt%20and%20Hunter%201998%...</a><p>Hell one of these companies should hire me to do data driven recruiting.
stegosaurus大约 9 年前
Is it even just hiring?<p>Every employer I&#x27;ve worked for has made the experience farcical. If not at the start, then over time. You interview for one job, and eventually end up doing something else.<p>A full time career that doesn&#x27;t pay enough to buy a home. And they say software developers are overpaid.<p>I think the end-game for me is to just go camping with a laptop or something. I&#x27;ll code for fun, rather than trying to meet this &#x27;market demand&#x27; which provides people with studio apartments, temporarily, in exchange for ~all of their productive hours.
评论 #11580406 未加载
评论 #11580305 未加载
评论 #11586802 未加载
daurnimator大约 9 年前
The purposes of these interviews is not (usually) to see if you know the answer. It&#x27;s to see how you problem solve.<p>If you knew the correct answer to e.g. the BFS algorithm, you&#x27;ll get thrown another question that they hope you <i>don&#x27;t</i> know.<p>When interviewing, the thing I want to see most is how someone works through a problem: can they solve from first principles? do they go via trial and error? do they ask for a computer to google things up&#x2F;a book?<p>Picking raw CS problems is an easy option, as its something that you <i>should</i> be able to solve, and it means I don&#x27;t have to require you to know Angular&#x2F;React&#x2F;Flavour of the month (new tools are easy to teach the right candidate).<p>You&#x27;re <i>not</i> going to immediately know the answer to everything that comes up in your job; so evaluating how you solve the unfamiliar is very important.
评论 #11580144 未加载
评论 #11583481 未加载
m4tthumphrey大约 9 年前
Fancy moving to the UK? :)<p>Seriously there&#x27;s a job with your name on it if you&#x27;re interested.<p>When I interview candidates I sit with them for half an hour or so to get to know them. Then I give them purposely broken, poorly written piece of code which I tell them to pull apart. This proves incredibly effective as even if they miss some of the more obvious errors I can at least point them in that area and then see if they can see the problem on their own. There are about 100 different things to talk about so it really gives me an idea of the level they are at, and also the type of programmer they are; passionate, lazy, smart, meticulous, inexperienced, confident etc. Then if I feel they are worth a second interview, I get them back to sit with me and my team for the day to see how they fit in with the team. Then all being well I offer the job.
评论 #11585907 未加载
评论 #11582048 未加载
ts330大约 9 年前
Considering that it&#x27;s our fellow programmers doing the interviewing, I&#x27;d say we&#x27;re failing ourselves here. I&#x27;d wager that in almost all cases, those doing interviews have had zero training on effectively recruiting anyone (let alone other developers). An effective interview requires preparation - and I bet the majority of developers do this right between saying &quot;<i>fuck</i>, have they arrived already?&quot; and starting the interview. Is it any wonder it falls back to the standard approach of &quot;Google does it, it must be good&quot; or a dick swinging contest trying to prove how amazing your team is, because &quot;fuck yeah, we all write search algos every fucking day - it&#x27;s why our product is amazing.&quot;
评论 #11580508 未加载
wildermuthn大约 9 年前
Front-end lead here, building large desktop apps for my company&#x27;s internal use.<p>I&#x27;ve never had a web-app that failed due to performance. I can&#x27;t recall any that ever have, except Facebooks&#x27; attempt to use HTML on mobile.<p>UI performance has little to do with algorithms, and only occasionally requires opening the profiler to hit 60fps with some tweaks to bone-headed nested loops. Or maybe reconsider your use of Angular!<p>Front-end apps fail because long-lived mutable state is a powerful engine of complexity, and algorithms do not solve complexity. I am constantly telling my team (CS back-enders prepare yourself!) to <i>ignore</i> performance concerns. O-whatever has zero-impact on delivering simple, extensible, bug-free web apps that please its users.<p>But admittedly, crafting good software isn&#x27;t as objectively clear as implementing a mathematical function that makes your server code perform. The proliferation of front-end frameworks and compile-to-js languages indicates that writing FE software that <i>works</i> remains a far greater challenge than writing FE software that hums.<p>To that point, maintaining a popular github repo for a library or app that demonstrates your ability to write, maintain, and extend FE software is still the best sign that you know what you&#x27;re doing, and that you <i>like</i> what you&#x27;re doing. Conversely, knowing a lot of algorithms as a FE candidate tells me nothing about whether your first PR will be your last.<p>On a happy note, Netflix didn&#x27;t ask me a single question regarding algorithms! Their interview&#x27;s focus on OOP made sense, even if it didn&#x27;t fit with my own focus on ClojureScript and FP.
leothekim大约 9 年前
I think it&#x27;s important when interviewing candidates that he&#x2F;she can demonstrate fundamental CS knowledge. In any software project, you may be working out very complicated features, and CS knowledge is often the common language for conveying complex and subtle ideas.<p>That said, it&#x27;s perverse that there&#x27;s a cottage industry around software engineering interview training on both sides of the table for the crazy questions that are being asked. No one wants this, but sadly, once you&#x27;re in the door at these places that do these sorts of interviews, the motivation to affect change approaches zero.<p>There are some companies that have tried to make this a fairer assessment though, e.g. Foursquare <a href="http:&#x2F;&#x2F;engineering.foursquare.com&#x2F;2016&#x2F;04&#x2F;04&#x2F;improving-our-e..." rel="nofollow">http:&#x2F;&#x2F;engineering.foursquare.com&#x2F;2016&#x2F;04&#x2F;04&#x2F;improving-our-e...</a>. Putting this sort of effort into an interview process is time-consuming, but if the software industry is going to make its interview practices assess candidates more fairly, it&#x27;s going to take effort.
评论 #11582076 未加载
riyadparvez大约 9 年前
The problem with interviews I am having (I am about to graduate and have not got a job yet) is that the whole hiring process is too one-dimensional. Some companies only care about algorithmic coding competition skills that you can only achieve via competing in some sites like TopCoder, CodeChef and some other companies only care about how many years of experiences you have - does not matter what you have learned from experiences, it is just how many years that count.<p>Coding contest skills are very unfair to senior developers because they are out of school long time and do not have the time or motivation to engage in coding competition. And this also creates different incentive models. I have seen people who flunked very elementary CS courses (OS, networking etc.) to spend more time coding competition to get hired in big companies. This is really weird because they have to learn these things to become a real developer and they are gonna learn these things in company&#x27;s time which they should know already. That being said, I personally think, problems like maze solving and inverting binary tree are fair questions. These are not exotic DP problems, these are just simple problems.<p>OTOH, the whole years of experience thing is unfair for new developers who do not have the experience but smart enough to learn and outperform many developers with experience who just memorized APIs over years of experience. There must be a healthy compromise between these two types of hiring.
评论 #11587467 未加载
taneq大约 9 年前
The examples that always come up of &quot;stupid interview questions&quot; in this kind of rant: Implement a breadth first search, or reverse a binary tree, or write FizzBuzz. Are these really such difficult things to whip up, off the top of your head? Is it really that unreasonable to want to hire someone who <i>can</i> do so?<p>Yes, if you need such a thing and it&#x27;s not immediately obvious how to do it, off to StackOverflow you go to find some example code, but these are basic &quot;do you understand fundamental data structure &#x2F; control flow&quot; type questions. It&#x27;s not like they&#x27;re asking you to implement a theorem prover or something.
评论 #11580028 未加载
评论 #11579904 未加载
评论 #11580016 未加载
评论 #11579906 未加载
dmitrygr大约 9 年前
The author claiming he&#x27;ll never need to do a BFS, and thus does not need to know it is kind of funny to read. You should never be proud of your ignorance.<p>Oh, you think you&#x27;re a front-end dev and will never need to do anything else? What happened to striving for growth (personal and professional)? Why not <i>learn</i> how to write a BFS instead of writing a rant about your pride in not knowing it? Are you really just proud of doing your one thing, doing it well, and have no interest in ever branching out? If so, it is not surprise nobody will hire you (who needs a single-use tool?). If not, then also no surprise as you&#x27;ve shown a complete lack of desire to learn (who needs an inflexible employee?).<p>I am further sorry to tell you that your github history is irrelevant. I&#x27;ve seen _<i>my</i>_ code on github under 10 names. None of them mine. I&#x27;d never trust anyone&#x27;s github profile - no reason to believe they wrote the code, they did it themselves, and how many attemtps of guess-and-check they needed (or not). You know what I do trust? Your ability to prove your &quot;skills&quot;, in person, under realistic pressure, on demand, and on a schedule. You know, by solving a problem perhaps a bit out of your comfort zone. Maybe a simple maze?
评论 #11584748 未加载
zeemonkee3大约 9 年前
Why don&#x27;t companies who ask these kinds of CS questions in interviews just put in the job ad something along the lines of &quot;if you pass the initial filter we&#x27;ll invite you for an interview. We&#x27;ll grill you on some data structures &amp; algorithms &amp; give you some whiteboard challenges&quot;.<p>Which is absolutely OK. If that&#x27;s what you&#x27;re going to do - regardless whether it&#x27;s sensible or not - then potential candidates can either ignore your ad, and save everyone&#x27;s time, or apply to you knowing what to expect. If a large enough number of desirable companies do this a candidate might decide to brush up on CS 101 and interview practice.<p>That&#x27;s honest and courteous, instead of ambushing candidates in the interview stage - when they&#x27;ve taken a precious vacation day and taken the time flying out to see you. And it saves you time - any candidate you get should know what to expect.
评论 #11582821 未加载
k__大约 9 年前
Don&#x27;t get hired then. Just freelance and be done with it.<p>I as a developer can&#x27;t understand why anyone skilled wants to be employed.<p>I was employed for about 7 years and now I&#x27;m a freelancer. I don&#x27;t have to discuss with my customers that I want to work from home, I just do it. I get more money than before, I spend less for health insurance and taxes, I start working when I want and not when some manager wants me in the office. And job security seems a bit odd considering that everyone is searching for devs and the demand seems to increase every year.<p>And the best thing is, I don&#x27;t need to do dumb interviews anymore. When I freelance people just ask me for solutions and give me money for them. When I look for employment for doing exact the same stuff I do as a freelancer, suddenly they want to know the weirdest stuff and ask me to do dumb tests.
评论 #11589526 未加载
aavz大约 9 年前
I&#x27;m sorry, but breadth-first-search is a simple and fundamental algorithm and straightforward to write if you understand the concept and have decent coding skills. You&#x27;re just visiting a level of the tree at a time: stick each level in a list, iterate over it, and append the next level&#x27;s nodes to the next list. There&#x27;s no trick to it.<p>Not being able to do write a basic BFS algorithm suggests a) you didn&#x27;t do any interview prep and b) whatever you&#x27;ve been working on hasn&#x27;t involved any non-trivial algorithms.<p>It doesn&#x27;t mean you&#x27;re a bad programmer but if you can&#x27;t answer a basic BFS algorithms question I wouldn&#x27;t trust you to touch code with any non-trivial algorithms in it.
评论 #11583684 未加载
评论 #11582905 未加载
liquidise大约 9 年前
I recently wrote a post on designing better tech interview questions. [1] But one thing i never see interviewees do is outright ask, &quot;Wait, what does this question <i>actually</i> tell you about me?&quot; I find myself asking it in nearly every interview i go to.<p>If you ask and your interviewer gets glassy-eyed or gives you the laughably generic &quot;it shows how well you think algorithmically&quot; you know that you are being interviewed by someone who has little clue what they are doing. It is a great way, from your side of the table, to understand if your time is being wasted right out of the gate.<p>1: <a href="http:&#x2F;&#x2F;blog.benroux.me&#x2F;4-steps-to-making-your-interview-suck-less&#x2F;" rel="nofollow">http:&#x2F;&#x2F;blog.benroux.me&#x2F;4-steps-to-making-your-interview-suck...</a>
评论 #11582276 未加载
评论 #11582001 未加载
评论 #11581894 未加载
评论 #11582367 未加载
评论 #11581915 未加载
quantum_nerd大约 9 年前
While I do agree with the OP that the tech hiring process &quot;might&quot; be broken, I noticed a pattern in his interviews: it seems to me like a self-fulfilling prophecy. From the get go, he already considered the interviewers as enemies and went in with a mindset that they are out to get him. That wouldn&#x27;t probably help calm those nervous nerves, neither would it show your prospective coworkers that you are someone they would enjoy working with(which is a fundamental part of the interview, I believe).<p>I have actually noticed that most tech companies(at least they ones I&#x27;ve had to deal with, namely Facebook, Google, Amazon, and Microsoft) are doing all they can to take the guess work out of interviews with training sessions, resources, etc...<p>All the OP needs is to change his attitude from cynical to optimistic and I promise, things will change for him.<p>Also, BFS (and DFS) are as basic as you can get with algorithms. Either of them is not longer than 10 lines of codes; just remember that BFS uses a Queue and DFS a Stack...
limaoscarjuliet大约 9 年前
I am a VP at a medium size company and I do plenty of interviews. I usually talk about what people are interested in and then ask one question:<p>&quot;You are in front of PC&#x2F;Mac&#x2F;Mobile screen, type www.cnn.com into browser, and press enter. A fraction of a second images show up on the screen... How? What happened? Tell me all you can from key press interrupts to underwater fiber cables&quot;.<p>This question never failed me. It always shows how deep does one go in their computer science adventures.
评论 #11586040 未加载
评论 #11582714 未加载
评论 #11582690 未加载
评论 #11582588 未加载
justsaysmthng大约 9 年前
What worries me a lot is the proliferation of these puzzle solving interview sites which waste candidate&#x27;s time and prove almost nothing except that the candidate can solve high school olympiad problems.<p>Many companies require this as a first step, before even talking to the candidate.<p>Apart from the problems being totally unlike what your future work will be like, the time constraint proves .. what ? That a candidate can &quot;think fast&quot; ?<p>What about code quality, architecture, design patterns, build systems, concurrency, etc ?<p>Here&#x27;s what I&#x27;ve decided to do when they reply with a coding interview task:<p>I charge my clients 50 EUR an hour. If you want me to spend 3 hours on a coding interview as proof that I can code, then I&#x27;ll expect you to pay me 150 EUR as proof that you can pay.<p>I think this is fair. Otherwise, I&#x27;m going to knock on someone else&#x27;s door, were I can talk programming with an actual person, share &quot;war stories&quot; and get excited about building something cool together.
kinai大约 9 年前
&quot;I could feel my frustration rise as I am struggling to come up with a solution on a whiteboard....yep, I am definitely not going to pass this interview. I ran out of time before coming up with a working solution.&quot;<p>Instead of standing there with nothing its better to be straight up and just say &quot;No idea mate&quot; and then name reasons why that is but how you&#x27;d solve it in a normal situation. It is a lot about human psychology, showing them that they want&#x2F;need you, not vice versa.<p>Sometimes all it takes is balls and a good amount of &quot;I don&#x27;t give a fuck&quot; attitude.<p>I wouldn&#x27;t let anyone treat me like Sahat got treated.
评论 #11580260 未加载
评论 #11580379 未加载
mixmastamyk大约 9 年前
&gt; From this moment on, I would rather be unemployed and homeless rather than do another tech interview. Enough is enough.<p>God, happened to me this year, highlights:<p><pre><code> - &quot;Do you like to wear a tie to work?&quot; (perhaps because I&#x27;m 40-ish) - &quot;Tell us about your worst boss.&quot; (from three guys with frowns and folded arms) - &quot;Do&#x2F;talk through this sorting problem on the whiteboard&#x2F;webpage...&quot; (With people watching, clock ticking over $100k in suitcase, gun to head) </code></pre> I gave up as well, am now writing a book on software, unsure it will sell.
Bahamut大约 9 年前
Yep, the interview process is pretty broken. It took me 5 Google phone screens before I got invited to an on-site (although one of those phone screens had the technical phone interview waived due to the team&#x27;s familiarity with my skills, but I still got rejected amusingly) - the only reason I made it was because I failed &amp; learned from each of the previous phone screens enough to pass.<p>This is an absolutely awful way to interview. However, the author should learn some patience &amp; attack the problem. You deal with the cards you&#x27;re given - it took me 2 1&#x2F;2 years of applying to jobs before I lucked into get a job in the tech industry after grad school, and lots of wtfs in many interviews after I entered tech. Learning how to take it on the chin and keep going is an important skill for success - he could learn something from sales in that respect.
评论 #11582206 未加载
cottonseed大约 9 年前
As someone hiring right now, I feel your pain and, while I hope I compare favorably to the interviews your describe, I wish I was better.<p>My one piece of advice: read Nick Corcodilos&#x27;s Reinventing the Interview:<p><a href="http:&#x2F;&#x2F;www.amazon.com&#x2F;Ask-Headhunter-Reinventing-Interview-Win&#x2F;dp&#x2F;0452278015" rel="nofollow">http:&#x2F;&#x2F;www.amazon.com&#x2F;Ask-Headhunter-Reinventing-Interview-W...</a><p>The basic idea is demonstrate you can provide value to the company, and you have the skills to do the job. If you&#x27;re stuck with a disinterested interviewer asking irrelevant questions, make it about the job you&#x27;ll do and your ability to succeed in the job. He has concrete suggestions. I say, if they&#x27;re not open to that and it is clearly not working, tell them you it is not going to work out and stop the interview rather than enduring another miserable experience.
collyw大约 9 年前
Its ironic that I would have done better in these hackerrank type challenges straight out of university, even though the code I write now is way better.
评论 #11581202 未加载
Apocryphon大约 9 年前
This story serves as an interesting counterpoint to Haseeb Qureshi&#x27;s interview experience (<a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=11552780" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=11552780</a>). I think some discussion about how he and Sahat&#x27;s experiences contrast would be useful.<p>I almost want to joke that it&#x27;s Sahat should have done a bootcamp, since that seems to have been Haseeb&#x27;s advantage; he learned everything about CS very recently and freshly, in an environment where he would be absorbing material that&#x27;s tech interview fodder. Coupled with Haseeb&#x27;s intelligence and quickness in absorbing said material, he must have impressed his interviewers. Whereas, an experienced developer like Sahat is worse off- ironically, by not being new to the field, he lacked the advantage of seeing like a fast learner. It&#x27;s almost like ageism but specific to how long one has been programming.<p>And on the subject of hacker bootcamps- I&#x27;ve heard a lot of them not only teach programming, but how to optimize one&#x27;s interviewing skills. If bootcamp graduates are doing well because of that, does that mean there should be bootcamps for experienced devs who want to switch jobs, just so they can ace interview questions? And is that really what this industry has come to? Memorizing algorithms and strategies for passing data structure logic puzzles in cram schools just to get a job?
truetuna大约 9 年前
I&#x27;ve had my fair share of bad interviews too. Just recently I was interviewing for a full stack position with a company that tried to get me to recite &quot;what happens when I type google.com into my browser&quot;. I asked them where they had gotten idea from and showed them this: <a href="https:&#x2F;&#x2F;github.com&#x2F;alex&#x2F;what-happens-when" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;alex&#x2F;what-happens-when</a>. They decided ask me another question soon after.<p>Sometimes the questions aren&#x27;t even related to data structures or algorithms. I&#x27;m OK with those because at least you can somewhat prepare for them. I&#x27;ve once had an interviewer ask me obscure questions about Netscape 6 (this was 2016 btw).<p>&gt; I much prefer “homework” projects, even if they involve me working “for free”, because I feel like they ask for actual programming skills rather than the “guess the algorithm” lottery of phone screens and whiteboard coding.<p>Me too but when you&#x27;re interviewing with 3+ companies at the same time while working at your current job, it gets difficult. There was one time where I had spend my Saturday afternoon maybe 6-8 hours completing their &quot;homework&quot; project. I got a call back from them a few days later for a follow up interview and they flat out didn&#x27;t even bother to ask about the project I had completed for them. What was the point?<p>Tech interviews suck.
评论 #11580319 未加载
blubb-fish大约 9 年前
Why bother applying at those <i></i>super<i></i> fancy companies. There are loads of medium-sized shops with a friendly work atmosphere and reasonable hiring practices.<p>Vimeo, Facebook, Google, ... they hire elitists and those design the interviews. And honestly I doubt their work is at the end of the day more efficient then that of most other &quot;regular&quot; companies.
评论 #11585610 未加载
评论 #11583570 未加载
aetherson大约 9 年前
I feel like it&#x27;s a little weird that one of the author&#x27;s big examples of a difficult algorithmic question is breadth-first search. While I agree it&#x27;s not something that&#x27;s very likely to come up much in real work (especially for a front-end dev!), it&#x27;s also... not actually hard? You check the current node for your truth condition, you add its children to a queue, you pop the queue and do the same thing for that node. If the queue is empty, you return false.
评论 #11581995 未加载
评论 #11581604 未加载
评论 #11582026 未加载
vijucat大约 9 年前
Experiment : hire 10% of candidates without conducting any interviews. Use Machine Learning to quantify internal or external candidates&#x27; code quality. Use that model to score candidates&#x27; GitHub. Hire them.<p>Well, OK, throw in a sociability &#x2F; not-a-psycho score using LinkedIn or twitter or whatever.<p>I&#x27;d outsource this to gild.com who seem to know what they&#x27;re doing.<p>Methinks management will be surprised at how well these 10% do despite not passing the usual &quot;What happens when I flip all the color bits in a red-black tree&quot; or whatever shibboleth is being used these days. Admit it : most work, even at Google, doesn&#x27;t involve knowing how self-balancing trees work. On the other hand, getting things done matters everywhere.
评论 #11582297 未加载
fecak大约 9 年前
The good news is there are plenty of shops that don&#x27;t ask these types of questions in interviews. Most of the companies you mention have a technical reputation as being elite, and as you say they can hire or interview as they please.<p>Everybody can&#x27;t work for Google, and there may be some that <i>could</i> work for Google if they were better at interviewing the way Google does (and these other companies do).<p>The author harbors some hostility towards the recruiters that have landed him these interviews. I&#x27;m a recruiter, and I too harbor some hostility towards recruiters when they behave badly.<p>The recruiters in all of these situations seem to have done the author a service, and there are no explanations of the recruiters behaving badly (other than the going silent&#x2F;no feedback scenario).<p>Telling recruiters to &quot;F<i></i>* OFF&quot; is just blaming the messenger. They didn&#x27;t design the interviews, they didn&#x27;t conduct the technical interviews being complained about, and they didn&#x27;t make the decision not to hire. They simply facilitated the process and relayed the message.<p>Blame recruiters when they behave badly. Lying about salary ranges, &#x27;bait and switch&#x27; jobs, etc. Don&#x27;t blame them when they do their jobs, just because you didn&#x27;t like the outcome.
overcast大约 9 年前
So there&#x27;s really no hope for the self taught without formal algorithm training. I can start from an idea, build an entire site from the ground up, including hardware, OS, programming environments, mysql&#x2F;oracle&#x2F;rethinkdb&#x2F;mongodb&#x2F;arangodb + all their query languages, backend nodejs&#x2F;php&#x2F;python code, all custom frontend css&#x2F;stylus&#x2F;vuejs&#x2F;js&#x2F;responsive, domain &#x2F; dns &#x2F; hosts, email servers, deployment and administer the entire stack. But I guarantee I&#x27;d fail every single one of these tests.<p>I guess I&#x27;ll go back to building my own projects, because none of this sounds enjoyable.
评论 #11581282 未加载
louden大约 9 年前
I have been on the other side of the table and I&#x27;m sure I came off as indifferent. The problem is, I have been thrown into the interview as an interviewer multiple times with about 1 hour notice when I have many other things to focus on.<p>It is definitely a broken process in many companies.
user_rob大约 9 年前
I sympathise. I have not agreed to tech problems in interviews for years. In my experience I get more job offers for more $ if I refuse to do them rather than answering problems either rightly or wrongly. Either makes no difference. I have even turned offers down because of the stupidity of the interviewers. Stop doing silly interview questions professionals should be above that.
评论 #11581565 未加载
JDiculous大约 9 年前
Yes, hiring is ridiculous at big tech companies that everybody wants to work for. Asking a ton of CS questions is justified if the job is actually CS heavy, but most front end jobs aren&#x27;t. The dentist analogy is spot on.<p>My recommendation is to apply to smaller, lesser known companies. Much much less bullshit and time wasting. There are enough jobs out there that you don&#x27;t have to deal with this bullshit.<p>Time spent on learning extraneous knowledge solely for the purpose of passing interviews for jobs that don&#x27;t actually utilize such knowledge is a massive waste of society&#x27;s resources.
pjlegato大约 9 年前
&quot;Programming trivia&quot; style interviews are the bane of our profession. They serve primarily to allow the people doing the interview to feel clever and superior when they discover that the candidate can&#x27;t implement a red-black tree from memory on a whiteboard. They tell you little about whether the person is a good candidate.<p>There is a school of thought, baffling to me, that suggests that knowledge is mere rote memorization of facts, so the best way to test people in anything is to check their memorization of the relevant material. This interviewing style derives from that school of thought.<p>This is, of course, utter bullshit, especially given that the details of the topics chosen are almost entirely irrelevant to the actual job of a software engineer. A working programmer who re-implements a red-black tree from scratch is almost always doing it wrong. Someone has already built that and debugged it and optimized it, and you should be using that implementation, not redoing it from scratch yourself. The &quot;programming trivia&quot; interview style is like interviewing an architect by handing them some iron ore and asking them to smelt high grade steel out of it. That&#x27;s not what architects do. They buy premade steel smelted by experts, then use it to build other things.<p>The solution? Real-world programming as an interview. Either give them a toy problem, or pay them to do some minor bit of actual work on your system for a day or two, if that is feasible. Then get out of their way. Give them a laptop and the Internet, leave them alone for a few hours, and see what they can do.<p>Afterwards, do a code review. Then discuss their programming and engineering philosophy.<p>Why don&#x27;t people do this? It takes a lot longer, and requires the interviewer to think more. It&#x27;s much less cognitive load for the interviewer to memorize some obscure data structures and ask candidates to recite their construction.
raverbashing大约 9 年前
And of course we then will have to hear the sad stories of companies saying &quot;they can&#x27;t find talent&quot;<p>And that&#x27;s not even going into the salary&#x2F;H1B issue, the problem is much deeper than that.<p>- I was an advocate at first, but take home exercises are pretty much useless. Because they at best won&#x27;t fail you. And of course you could have written a new sorting algorithm that works on O(n) but what you&#x27;ll get back is a complaint about coding style<p>- Having a github might be nice but as the article says it seems to be also in the category &quot;won&#x27;t fail you&quot;. It seems to barely matter<p>- And of course companies like Google ignore everything and make a test out of your interview, fail&#x2F;pass grade, period.<p>People are probably missing an empathy component or working outside of the &quot;SV tech clique&quot; where if you don&#x27;t code for 12h per day and doesn&#x27;t know all libraries and algorithms by heart you&#x27;re not even considered
m52go大约 9 年前
WOW. I thought I was in a weak spot by being self-taught and scattered.<p>So just who the hell is passing these inquisitions? What&#x27;s really necessary?
评论 #11580174 未加载
评论 #11581470 未加载
yownie大约 9 年前
I&#x27;m currently considering jobs directions too and finally have a name for what I&#x27;m experiencing. &quot;career interview fatigue&quot;, it&#x27;s probably similar to whatever performing elephants in circuses experience right before they snap.<p>I think it comes from a decade of experience of being asked to jump through increasingly ridiculous hoop sizes over time, and complicity cooperating with this nonsense system in an otherwise analytical logical calling.
percept大约 9 年前
In jobs or sales or relationships (which is ultimately what this is: interpersonal relationship dynamics), the best outcomes are effortless. If there&#x27;s too much friction, it&#x27;s probably not going to work out. The best job&#x2F;deal&#x2F;friend&#x2F;partner will simply fall into your lap, and you&#x27;ll wonder how it can be so simple.<p>The challenge is finding these. Careful filtering can help, but it seems to be largely a numbers game.<p>This becomes increasingly difficult, as more companies are infected with these faddish processes every day.<p>And there&#x27;s a cost, of time and money and contentment. To help reduce this, consider spending increasingly less time on opportunities you deem unlikely to work out, based on past experience.<p>I often prequalify jobs--sometimes companies respond, sometimes not, but that also provides me with useful information.
robbiemitchell大约 9 年前
Most people are commenting about the technical nature of the interviewers, but the communication between company and applicant is often broken as well. It&#x27;s the difference between not getting an offer and then (a) hating the company or (b) supporting it and recommending it to other potential applicants. Companies underestimate these effects.<p>Once you bring someone in for an interview, you owe them a phone call, with email as a backup.
评论 #11581493 未加载
was_boring大约 9 年前
It&#x27;s unclear what sort of prep work the author put into each interview, but interviewing is nothing more than a sales pitch and a &quot;game&quot; to be played.<p>I&#x27;m 100% self taught, having never set foot in a CS classroom, and this is what I do for every interview process: 1. Find everything you can about company and their interview style; 2. skim over Algorithms in a Nutshell; 3. Take an hour to refresh Big O notation; 4. Read up on &quot;best practices&quot; for the technologies the company uses.<p>Finally, after the interview always follow up -- say something nice and memorable, be humble and express interest in learning their technology stack _before_ your first day on the job.<p>I find it takes 2-3 company&#x27;s before I hit my &quot;interviewing stride&quot;.
746F7475大约 9 年前
Didn&#x27;t care to read after first rant about hiring process. It just seems like you are not a fit for Google. People always try to find company which &quot;culture&quot; fits them, but it also works the other way around, even if you wish to work for Google, maybe just for the salary or other benefits, if you are poor fit for the company culture then you are a net loss.
评论 #11580232 未加载
tyingq大约 9 年前
&gt;&gt;<i>&quot;The first round started with introductions, followed by a coding exercise — write a maze solving algorithm. What the fuck?! Seriously?...I am not a recent college graduate anymore&quot;</i><p>I wonder if just writing a brute-force maze solver, and then explaining that you are aware better solutions exist...but that you didn&#x27;t have any memorized, would have sufficed.
评论 #11579999 未加载
评论 #11580584 未加载
评论 #11580066 未加载
jmaley大约 9 年前
TLDR: Doesn&#x27;t know computer science fundamentals, doesn&#x27;t get hired in a role that requires computer science fundamentals.<p>Is this Hacker News or Script-Kiddie News?
评论 #11580229 未加载
评论 #11580161 未加载
eulji大约 9 年前
You have to go with the flow. Unfortunately.<p>They treat you like hobo that came to their kingdom begging for a cookie.<p>They are the kings and queens and you are nothing just a pathetic beggar.<p>It&#x27;s really exhausting and painful to go through it again and again especially when you know that most of the companies are just wannabe hipsters or the same corporate hellholes.<p>They pretend they are on the same level as Rob Pike and alike but what most of the people do is they write shitty code, shitty UI and shitty everything.<p>Google is definitely worse they cannot really make a compelling product that would DIRECTLY earn them money .It&#x27;s all about ADS.
NoMoreNicksLeft大约 9 年前
I disagree.<p>A typical adult has the spare time to study 3-5 algorithms prior to an upcoming interview, and the algorithm question lottery has room for several hundred.<p>This means that the practice of trying to stump them with algorithm questions provides a strong benefit to hiring managers: can this candidate read my mind even before I&#x27;ve decided what it is I will ask of him?<p>They&#x27;re selecting for psychic powers and do-what-I-want-ness. Which is what most management in the United States (elsewhere probably, but I&#x27;m an uncultured redneck type... wouldn&#x27;t know) values.
niemyjski大约 9 年前
Completely agree with all of your points. I think I&#x27;d do horrible in most on the spot interviews, but give me an ide with intellisense and a book of advanced algorithms and I&#x27;ll complete what ever you want. I understand the most common algorithms but I don&#x27;t use them hardly ever in all the work I have done over the past 10 years. Am I implementing a big data search engine, no. So why would I know all the specifics to that, but given an hour or two of reading I&#x27;d be up to speed and be on top of things.
评论 #11580269 未加载
abustamam大约 9 年前
I have a job at a startup as a software engineer. I waded through dozens of interviews like Sahat&#x27;s. &quot;Do whiteboard problems,&quot; &quot;solve this benign algorithm problem.&quot;<p>The two job offers I did end up getting went something like this:<p>1. &quot;Show me a project you worked on. Tell us about it. Tell us about future features. Okay, implement one of those features right now.&quot;<p>2. <i>approaching me after an event I spoke at</i> &quot;Hey, are you by chance looking for a job? We&#x27;d love to have you with us.&quot; <i>at &quot;interview&quot;</i> &quot;tell me about your past experience, some projects you worked on, and how you learn new things.&quot;<p>I feel like both of these &quot;interviews&quot; tackle two very important things as a software engineer--can you use what you currently know to add a new feature? And if you don&#x27;t currently know it, do you know how to find it out?<p>I didn&#x27;t know a lick about React, SVG, animation, databases, lodash, es6, or trees, before I started working at my current job. But because they were able to see how quickly I could learn new things, I started as a contractor (to &quot;test the waters&quot; so to speak) and impressed them by proving them right.<p>And I think that&#x27;s exactly what companies should strive for--hiring people who can pick things up quickly. Of course, consulting firms may not have this luxury, because they need to deliver now now now, but for SaaS companies, I don&#x27;t see why this method wouldn&#x27;t work.
pacomerh大约 9 年前
You&#x27;re looking in the wrong companies. Based on the things you&#x27;re solving you&#x27;d be good for smaller companies or even the startup world. These usually look at your experience more, and pay more attention to what you&#x27;ve done. Bigger companies don&#x27;t care about you, or what you did as much. They want to test you right there. Bottom line, a smaller organization will value your open source work more, if that is what you&#x27;re looking for.
jfaucett大约 9 年前
I think this boils down to just knowing what you are. Are you a computer scientist or a programmer? These are two very different things - as much as many people like to think they are not. To be a good (or very good) general software programmer you need about as much math and physics as someone who has completed 9th grade.<p>Some areas of programming will require specialized math knowledge of course i.e. basic linear algebra for general game programming, and various algorithms depending on your specialty. But in any programming field you will almost never be expected to research new algorithms from scratch - this is the job of scientists - and your job is just to implement those, and know enough to choose the right one for the job.<p>This is just a long winded way of saying, I think a lot of HR departments need to clear up for themselves what it is they are trying to recruit. If they want people researching, you are going to need the algorithm&#x2F;math&#x2F;physics chops inside and out, but if you are building 98% of the not so super theoretically revolutionary products out there in the world, you really just want to hire people who know how to pick the right tool and then use it i.e. code with it. And to know how to pick the right tool, you do not need a PHD in CS.
评论 #11585884 未加载
nfirvine大约 9 年前
I&#x27;ve been doing a little interviewing at my company, hiring engineers. I tend to avoid the pop quiz questions because I, having been asked them in interviews before, can&#x27;t imagine they&#x27;re that valuable, and, considering our field has plenty of introverts and autism spectrum-types, it&#x27;s probably not representative of their abilities in a real work environment.<p>HOWEVER. One candidate had a PhD and was very agreeable, had lots of experience in other companies in our field. So I skipped the programming test, since I figured a PhD with loads of experience <i>must</i> be able to code...<p>A colleague of mine saw the candidate as they were leaving and ducked. I asked them why. &quot;Well, I personally lead to them getting fired a few jobs ago.&quot; Turns out Colleague worked very closely with Candidate and Candidate can&#x27;t code worth shit: Colleague ended up personally redoing a ton of Candidate&#x27;s botched work, Boss noticed Colleague working way late for no good reason, and after several chances, had to let Candidate go since they couldn&#x27;t do their job.<p>Anyway, I&#x27;ve come to the conclusion that I need to ask in-depth technical problems, but I&#x27;ll phrase it like this: &quot;I&#x27;d like you to describe an A* path-finding algorithm the best way you can (pseudocode, diagrams, assembly, whatever). I&#x27;m not looking for a &#x27;correct&#x27; answer, or syntax or class diagrams. I want to watch how you solve problems of which you only have a vague knowledge. If you&#x27;d like to refer to some resource, feel free to ask, and I&#x27;ll tell you if I know, or I&#x27;ll find out.&quot;<p>I suspect this is the point of the technical question, but it&#x27;s hard to tell what interviewers actually want.
roansh大约 9 年前
I agree with the most part of it, some of it doesn&#x27;t seem quite right. For instance, where author mentions he is a front-end developer and doesn&#x27;t need to deal with algorithms, and data structures -- it only gives a (false?) sense that he doesn&#x27;t want to deal with the problems. I agree with the &quot;take-home problems and submit solutions&quot;, idea to assess the candidate (or an alternative solution could be -- work at their own office, like how you would if you were an employee on the given problem) This basically strips away the unnecessary pressure.<p>Now, about the real problem -- It has to be solved by both the parties, for instance, somewhere in the middle of the article the author mentions he was asked to write the BFS algorithm. In this particular scenario, the interviewers should NOT expect the candidate to actually remember the algorithm and write the solution right away like a bot (or a human who has used it very recently) would. Here the interviewers can be more humble, more human. They should check whether the candidate holds the problem solving skills which is what is essential and NOT whether the candidate has a computer-memory. Here, they could explain what BFS is, how it works, and then give the candidate some time to come up with a solution.<p>Again, interviewers shouldn&#x27;t expect a correct solution for the problem, it&#x27;s the attitude of the candidate towards the problem, and the way he&#x2F;she thinks about it -- that should be enough to give some idea about the skills he&#x2F;she holds for problem solving.<p>The idea is simple. Don&#x27;t just drop some Dothraki (or some language the candidate does not know) algorithm names, and ask what it is instead, skip the names, explain the problem in simple words and ask for solutions.
koala_man大约 9 年前
OP, it sounds like you work by looking up and remember solutions, and assume everyone does the same. You&#x27;re saying the questions are BS because you haven&#x27;t seen the solution in a long time (or ever):<p>&gt; it has been a long time<p>&gt; I vaguely remember<p>&gt; this would have been a trivial problem to solve from memory, but that’s besides the point<p>&gt; Do I remember how to implement those algorithms? No<p>&gt; I am not a recent college graduate anymore who has breadth-first search memorized<p>&gt; I haven’t implemented BFS in years, there is no way I can come up with a solution right here and now<p>&gt; If, and when [...] I will go look it up<p>I normally wouldn&#x27;t point it out since it sounds really condescending, but after <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=11554894" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=11554894</a> I don&#x27;t know what to assume anymore:<p>They don&#x27;t want you to remember or memorize solutions, they want you to be able to implement it given just an informally explained approach (which you may also be responsible for coming up with).<p>Converting ideas into code without having seen the code before is a realistic, desirable and not at all uncommon skill.<p>I don&#x27;t think it&#x27;s unreasonable to expect a candidate to be able to write code given the description &quot;These objects have a value and links to similar objects. We want to find a certain value by first looking at all our nearest neighbors, then at their nearest neighbors, then at theirs, and so forth.&quot;, even if they had never heard of graph theory or BFS, or seen code for it before.
rayiner大约 9 年前
I don&#x27;t think the specific interview questions are all that y fair. BFS, shortest path, etc, are building blocks of computer science and familiarity with them is a good signal someone has a thorough education in algorithms. If you&#x27;re hiring an engineer and he&#x27;s not familiar with the Bernoulli equation, or a lawyer who isn&#x27;t familiar with Marbury v. Madison, that&#x27;d give you pause too.<p>The real issue is why is a front end developer expected to have an education in algorithms? Part of the problem is that programmers doing the interviewing like to show off, instead of focusing on the requirements of the position. I remember the first time I interviewed someone. His resume said he knew C++, so I asked him about the intricacies of templates. That revealed that his knowledge of C++, like that of many people in the early 2000s, extended only to &quot;C with classes.&quot; Gave a negative evaluation. But in retrospect, all our code was C with classes so what did it matter? I was really just showing off that I had read TCPPPL.
评论 #11582253 未加载
ig1大约 9 年前
One of the fundamental principles that&#x27;s coming out of a century of hiring research is you have to evaluate candidates on the same basis - any other approach is an invitation to bias and subjective decisions.<p>If you evaluate two similar candidates, candidate A on their github and candidate B on their performance on Hackerrank then it&#x27;s incredibly hard to fairly compare those two candidates without adding subjective bias.<p>In practice what happens is the company goes &quot;oh well the person with a github clearly has more initiative&quot;. But is initiative part of your evaluation process ? - have you ensured you&#x27;ve fairly allowed all candidates to demonstrate it, or have you ended up evaluating candidates unfairly on totally different metrics.<p>If you&#x27;re hiring you can vastly improve your hiring process by doing two things: (1) Adopting a standardized structured interview where questions map directly to your needs and (2) using a work sample test (getting candidates to do a small piece of work that resembles real-world work as closely as possible).
strictnein大约 9 年前
Not sure if it&#x27;s accurate, but it seems like these inane coding challenges are more common on the coasts. The only time I&#x27;ve experienced any of them was at an interview with Amazon (for an Email Deliverability Manager role, of all things...).<p>I&#x27;ve been tested on code, but it&#x27;s never been these inane tidbits everyone went through getting their CompSci degree. Anecdotal, I know.
评论 #11583199 未加载
capote大约 9 年前
I think it&#x27;s perfectly reasonable for interviewers to ask scientific and &quot;non-practical&quot; questions.<p>1. If they just went by open-source contribution and prior experience, the pool of &quot;qualified&quot; people would be immense. You need some way to narrow them down, and it&#x27;s fine for a company to pick their way, be it CS questions or how handsome someone is (joking) or how easy they are to talk to and interact with (charisma). It&#x27;s not just about pushing code--lots of people can do that.<p>2. Questions like these are not totally unnecessary. Even though you won&#x27;t be dealing with CS questions regularly at work, they still show that you put the effort in to learn them, and that you can think critically and on the spot to solve problems.<p>I don&#x27;t think hiring is <i>as</i> broken as people make it out to be. Just learn the science and study up on it a lot before... I even bought a book that is a summary of common CS problems that interviewers ask. It&#x27;s not a big deal for me to just read it up for a couple hours a day for a couple days before my interview. Good companies are looking for people who are ready to put a lot more effort in than just brushing up on Dijkstra&#x27;s algorithm.<p>Note: One of the greatest things I learned from 5 years of undergraduate school has nothing to do with coding or science. It&#x27;s the ability to just shut up and get some work done. Even if it&#x27;s hard, unnecessary, or it&#x27;s difficult to understand the motivation behind being assigned it, it&#x27;s a useful ability (for growing professionally) to just crank out some work when you&#x27;re told to do so. Many times, it takes doing the work to understand <i>why</i> you should do the work. Then that lightbulb turns on and you realize how much you&#x27;ve benefited from learning Dijkstra&#x27;s algorithm and applying it to something; it&#x27;s pleasant.
greatemployee大约 9 年前
I sympathize with the author. I have been through this as well. I&#x27;m still going through this, really.<p>I&#x27;ve been rejected many times. And every time, I come away from the process annoyed and disappointed, but certain that I would have been useful to them had they hired me. I research companies thoroughly before going into interviews, and don&#x27;t waste time interviewing for positions that I don&#x27;t think I&#x27;d be interested in &#x2F; qualified for.<p>I also have decent GitHub activity, handful of open source projects that demonstrate my abilities. When I started my new job search I assumed that this mattered, but in my experience it really doesn&#x27;t. I still get asked extremely basic questions that I&#x27;d hoped my GitHub would eliminate. In some instances the company that rejected me had some open source projects, and it made me feel better about myself to see their poor code quality.<p>Nevertheless, I am also starting to have doubts about the industry. I&#x27;ve wasted a lot of time on take-home challenges, introductions, technical phone screens, on-site interviews, etc. to be rejected without explanation. As an introvert, it&#x27;s all very exhausting. Why should I, as a computer programmer, have to be an amazing socialite that my colleagues would like to vape &amp; play air hockey with? I just want to work on interesting problems. I&#x27;m not stimulated by extravagant team lunches or interrupting meetings to play with the company dog. I&#x27;m not stimulated by fancy windows and games and snacks and toys. I&#x27;m happy to have technical discussions all day long, but I really don&#x27;t want to work in a frat house.<p>I feel like there&#x27;s a lot of pressure from the industry to be someone I&#x27;m not. Also, it seems like the Joel Spolsky idea about only hiring exceptional programmers (at the expense of risking a merely &#x2F;good&#x2F; hire) has seriously penetrated the industry, making the system highly risk-averse in terms of hiring. I feel like no amount of prior job experience or open source work will make a difference. Every time I interview, it&#x27;s a clean slate, and if I don&#x27;t nail _everything_ it&#x27;s a certain no-hire. Even if I did well in prior interviews with the company, they simply won&#x27;t risk it. I would really like to know what the reasoning is, but they never provide feedback.<p>I will say that I&#x27;ve been hardened by the experience. I&#x27;m better at pitching myself, making appointments, talking to people in a structured way, preparation. I think if any startup founders lack experience as sales(wo)men, there&#x27;s plenty of opportunity to dial-in your skills by pretending to be a job candidate strictly for practice.
splicer大约 9 年前
Whenever I interview someone, I try to follow these principles:<p>1) Simulate a real work environment. This means a dev machine with full access to the web. One thing I&#x27;m looking for is how good the candidate is a finding information they don&#x27;t know.<p>2) Customize the questions for the job at hand. A software tools dev is a very different position a firmware dev. I wouldn&#x27;t, for instance, expect a firmware dev to know much about regular expressions. And I wouldn&#x27;t expect someone interviewing for a scripting job to know much about alignment on ARM.<p>3) Test your questions on coworkers and friends. You need to get a baseline. Is there enough time to answer the question? Are people coming up with wide spectrum of solutions, or do you keep seeing the same response over an over? Are there parts of the problem that people find unclear?
shawn-butler大约 9 年前
... I really wish companies would be more transparent about their candidate rejection reasons. From this day on, I was even more disappointed — both with myself and tech hiring process — rejection, rejection, rejection. It honestly feels as if I am a complete failure and an unhirable[sic] candidate...<p>Companies simply cannot give a reason for rejection. It is a &quot;fake&#x2F;legitimate&quot; legal liability HR says exists opening the door to discrimination lawsuits.<p>My advice is never interview at a company at which you do not have some prior professional introduction (network, friend, foaf, etc). These people will be able to give you the real feedback on why you were or were not hired.<p>Some recruiters with longstanding relationships at the companies they are placing at will also be able to find out, but may or may not be honest with you.
kkapelon大约 9 年前
4 years have passed and nothing has changed <a href="http:&#x2F;&#x2F;www.unlimitednovelty.com&#x2F;2011&#x2F;12&#x2F;can-you-solve-this-problem-for-me-on.html" rel="nofollow">http:&#x2F;&#x2F;www.unlimitednovelty.com&#x2F;2011&#x2F;12&#x2F;can-you-solve-this-p...</a>
drinchev大约 9 年前
Wow! As a person that interviewed other people for front-end developers, here in Berlin, I would say that I will probably offend half of the candidates if I ask them to code on a whiteboard.<p>Not to mention that I would feel offended if I&#x27;m asked by a hiring team to solve complex logic task while visiting an office for a first time.<p>Usually what I do as an interviewer is to select a bunch of questions out of [1] github frontend developer interview questions and make a productive conversation, by asking for opinion on different ways of writing front-end code.<p>1 : <a href="https:&#x2F;&#x2F;github.com&#x2F;h5bp&#x2F;Front-end-Developer-Interview-Questions" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;h5bp&#x2F;Front-end-Developer-Interview-Questi...</a>
评论 #11587515 未加载
20andup大约 9 年前
“Never memorize something that you can look up.” - Albert Einstein
jaredcwhite大约 9 年前
This is why I refuse to participate in tech industry job interviews. Thus far, I&#x27;ve managed to get enough work in a freelance capacity mostly through referrals and my personal network to avoid having to go down that route. I think it&#x27;s the height of hypocrisy that tech companies complain that they can&#x27;t find enough good candidates and how hard hiring is, yet the absurd processes they use actually turn off some good candidates who just aren&#x27;t interested in playing the game.<p>Kudos to the author for being so forthcoming about his experience. Maybe if enough programmers start making a big stink about this problem, something will actually get done about it.
beaubouchard大约 9 年前
Interview questions are not pass or fail. They are just there to gauge you&#x27;re ability to problem solve and function under pressure. I hated interviewing, but disliked conducting an interview even more. The problem is people act so antagonistic when an interviewer challenges their ability, but realistically your character is whats really under scrutiny.<p>Having a great resume and stellar github is why you get the call back, an inability to conduct yourself in a professional manner is why you didn&#x27;t get the offer. Especially in newyork, a medium post from an employee could affect stock prices, you can&#x27;t have a lose cannon working for you.
Tomte大约 9 年前
With some helpful nudges you should be able to do a simple BFS. Still, not a very fruitful interview question, IMO.<p>What&#x27;s bugging me about the author is that he dismisses everything that doesn&#x27;t have direct relevance to the position.<p>Projects get finished and you still want to work there. Projects get reshuffled and you&#x27;re placed elsewhere. Your role in the organization changes.<p>If an interviewee showed such a myopic view of his future work I wouldn&#x27;t be thrilled. He basically says &quot;let me show you that I&#x27;m a one-trick pony&quot;, while the interviewer tries to ascertain his capabilities across several potential jobs.
HillaryBriss大约 9 年前
I truly appreciate the OP&#x27;s honest, detailed accounts of recent interview experiences. Thanks for writing this.
评论 #11581538 未加载
mrdrozdov大约 9 年前
I think you may benefit from a change of narrative. Evidence from your interviews (specifically the Vimeo interview) suggests that your potential employers have a mixed perception about your skills and experience. I certainly believe you&#x27;re capable of being a productive engineer that a company will value, but it still may take some searching to find the right fit. One of the benefits of leaning a little more on your network than using recruiter requests is that it increases the probability of finding the right job.
TaylorHu大约 9 年前
Life is a video game. Well really a series of minigames. Some of the minigames aren’t as fun as others, but you have to pass them to move on. Right now you’re on the ‘get hired as a developer’ minigame. You beat that minigame by memorizing things like Algorithms and Data Structures.<p>Yes it’s stupid. Yes it’s not something you’ll ever actually do on the job. No it’s not a real indicator of your actual programming ability. But it’s what you have to do to beat this part of the game and move on.<p>And, yes it sucks, but it’s not THAT hard in the grand scheme of thing. Basically what’s happening is someone is saying “we’d like to hire you for a job that pays significantly above the national average, is safe, low stress and generally pretty easy when you think about it. All we ask in return is that you brush up on some things that you have already had to learn anyway.”<p>I would also argue that it’s at least partially about seeing how driven you are. Everyone knows that you’re probably going to get asked Algorithm and DS questions in an interview. There are literally several very popular books entirely dedicated to that fact. So you can either have a self-centered, egotistical, “I don’t think I should have to know this and I know better than everyone else so I am not going to learn it” attitude, or an open, eager “I really want this job and I know they will probably ask me some of these kinds of questions, so if I have to take a week to brush up on these concepts I am more than willing to do so attitude.” Which do you think makes for a more attractive potential employee?
ojbyrne大约 9 年前
&quot;...almost as if they were looking for a reason not to hire me&quot;<p>Essentially that&#x27;s what is going on. Easier to exercise your biases when the default is &quot;don&#x27;t hire.&quot;
maxxxxx大约 9 年前
When I interview people I usually ask what they have done and let them explain to me why some things were done in a certain way, what alternatives they had thought about and so on. When I can have an intelligent conversation the candidate usually is a go, otherwise not. I just want to know whether they can think straight or just repeat memorized stuff.<p>If you know your stuff you usually can separate bullshitters from good people.<p>This has worked pretty well for me so far.
mirekrusin大约 9 年前
Couple of years ago one of London companies did it well IMHO, after little chat about few technical things (which looked more like Friday night chat in a pub with colleagues than anything else) they said there&#x27;s computer in the corner, here&#x27;s a problem (it was to use macfuse to implement in-memory virtual filesystem with basic file ops) - I was left with computer, with internet connection, I could browse whatever I wanted, nobody was looking over my shoulder etc. Even though macfuse was a bit crap at that time (kernel would sometimes panic so i had to reboot machine few times) and I never used macfuse before - it still felt like there was no pressure. After that quick chat about written code and next meeting was with CEO about the salary etc, all smooth.<p>Since then I think one of the best approaches is to come up with work related problem, leave person to solve it with computer, keyboard, internet etc. with no time limit (if candidate can&#x27;t solve the problem, they will give up and just say it after 2h or so). Quick chat about the code afterwards will tell you in 1 minute if person understands it and didn&#x27;t copy pasted solution etc.
spenuke大约 9 年前
Kind of tangential, but I&#x27;m wondering: if he is unable to implement BFS in a reasonable time, how was he able to implement Math.pow over the phone? Would this have been a Math.pow that didn&#x27;t account for fractional exponents?<p>I spent a few minutes trying to recall how it would work and I couldn&#x27;t, and it seems like a fully working Math.pow is a little complex for a gatekeeper question – or maybe I just forgot the trick.
good_sir_ant大约 9 年前
I dunno... it&#x27;s frustrating, but really, you can learn some valuable stuff during those few hours. I have had some interviews that certainly haven&#x27;t been positive, but they have been instructive or rewarding in some way. Not necessarily even relating to code. It teaches you something about them, the industry, and more importantly, about yourself.
评论 #11582139 未加载
Mysterix大约 9 年前
&gt;If you are going to test my knowledge, at least ask relevant questions for the role.<p>Even for a front-end developer, I think that algorithms matter, because developers have to understand what they do.<p>And the OP&#x27;s solution in O(N2), as well as the other one with hash maps, seem quite bad (it can be done trivially in O(Nlog(N), and optimized to reach O(N))
plafl大约 9 年前
I think that the kind of interview you get tells a lot about the person that is interviewing you. I have been interviewed by professors and PhDs, and I have worked with them too, and never they expected anyone to remember some specific knowledge from several years ago. Hell, I spent more than 5 years working on Kalman filters and I don&#x27;t think I could code the algorithm without having a look at wikipedia (I always forget the formula for the &#x27;K&#x27; matrix). I remember taking Udacity&#x27;s course about robotics and when Sebastian Thrunn appeared on the video and said he always forgot the formula too a tear dropped from my eye. If someone makes you that kind of specific technical questions my guess is that they lack enough qualification to better assess you, I don&#x27;t care if they work in Google, Facebook or whatever.
ljw1001大约 9 年前
I don&#x27;t want to pick on any individual response, but the amount of close-minded - and arrogant - replies on this thread is pretty sad. The OP has many valid points. I&#x27;ve interviewed hundreds of candidates - some well, some not so well - and been interviewed many times. I&#x27;ve had four offers in my last five interviews, so I&#x27;m not bitter about the process, but I do think most interview processes are far more amateurish than the people they&#x27;re trying to weed out.<p>Interviewing should be about finding a fit between a worker and work that needs to be done. The best predictor of that is past success doing similar work. It&#x27;s not about imitating Google&#x27;s process, and except in increasingly rare situations, it has very little to do with academic computer science.<p>And there is never a need to treat anyone rudely. So don&#x27;t.
Grue3大约 9 年前
I&#x27;d rather solve programming puzzles all day long, but every time I do an interview I get asked incredibly specific questions about a particular technology that can only be remembered by rote memorisation and can easily be Googled. That is, if I even get to the technical interview part.
clueless123大约 9 年前
What kills me is when you go to the trouble of interviewing , do ok, don&#x27;t get the job and then... get called to interview for the exact same job 1 year later! I mean.. something must be wrong on a (recognizable name) company that does not fill a position for 1+ year..
评论 #11583974 未加载
onion2k大约 9 年前
<i>If a 960+ days GitHub commit streak doesn’t prove it, then I don’t know what will.</i><p><pre><code> crontab -e 30 9 * * * cd &#x2F;mycode &amp;&amp; git add . &amp;&amp; git commit -m &quot;Woo!&quot; &amp;&amp; git push service crond restart </code></pre> Ta da!
评论 #11580092 未加载
rafiki6大约 9 年前
I share a lot of the author&#x27;s sentiments and frankly a lot of the tech interviews I&#x27;ve had were terrible and I&#x27;ve also been on the other side of the table and made great hiring decisions based on conversations about past experience rather than grilling the interviewee. BUT at the same time, I think if we want to change the state of affairs software development and engineering needs to actually standardise what the body of knowledge that&#x27;s essential to the job is, create a testable credential around it and make sure your candidates pass like in other engineering and tech disciplines. That&#x27;s really the solution.
educar大约 9 年前
Ok, here&#x27;s a pro tip: never go to tech interviews unless you know exactly what you are getting hired for. If the recruiter cannot give you this information, they you know this is what is in store for you. This is a game - some are good at it and some or not. If you are not good at this &quot;puzzle&quot; interview game, then simply don&#x27;t bother since they are just demoralizing and a complete waste of time.<p>The best approach to getting hired (especially if you know you are good) is to reach out via your personal network. Get in via contacts and recommendations. Always keep pushing your existing coding profile at every point of interaction.
riot504大约 9 年前
I interviewed for a different position at a company 2 months ago in Seattle. Had 3 phone interviews, then got called in for an on-site interview which I had to fly to requiring me to take 1.5 days off of work. I get there ask them if this goes well what are the next steps, they proceeded to tell me that I would need to do a take home assignment that would take a week to complete and if that went well another on-site interview.<p>Is that really necessary?<p>I was going to turn down the position in the end due to cultural differences. In the end I didn&#x27;t get the position due to lack of technical proficiency though I was only asked behavioral questions.<p>Waste of time.
Taylor_OD大约 9 年前
Tech recruiter in Chicago here.<p>So many factors go into hiring someone. Often it comes down to little things that have nothing to do with someones ability to do the job. Maybe a particular member of the team really didint like you or the manager and you went to the same high school and you have a connection.<p>It&#x27;s crazy how often I will have a developer flat out rejected after a technical screening from one company only to go to another company who loves them and everything they do.<p>I believe the biggest misconception is that just because someone COULD do the job means that they will or should get the job. A lot of intangibles affect the final decision.
soham大约 9 年前
Context and disclaimer: I run a bootcamp for technical interview prep: <a href="http:&#x2F;&#x2F;InterviewKickstart.com" rel="nofollow">http:&#x2F;&#x2F;InterviewKickstart.com</a>.<p>Your frustration is understandable. But you also have to ask and understand how our industry has come to this point. There are concrete reasons for it, and despite this process not being the best, it&#x27;s the least evil when hiring is done at scale.<p>The process is here to stay. If you want to work at some of those companies, don&#x27;t overthink it. Just prepare for interviews. It&#x27;ll also give you a refreshing perspective to software development.
coderKen大约 9 年前
I really do know the feeling of no feedback. I agree that hiring is really broken, only 2 months back I went on various interview rounds for a Front-end position and couldn&#x27;t quite understand how an Algorithm would help one with CSS floats. I think I was lucky to interview with a Startup that really knew what they wanted and all I had to build was an app. I got the job and I love the job, I don&#x27;t think I&#x27;ve ever been more in love with my job like this.<p>PS: The startup&#x27;s not American, American startups have an inflated ego.
Xyik大约 9 年前
No offense, but not knowing BFS is kind of a red flag, even if its for a front-end position. It&#x27;s the most basic graph &#x2F; tree traversal algorithm there is. And you when you work with the DOM on a daily basis and use libraries that traverse for you its a good idea to have a basic understanding of whats going on under the hood. It&#x27;s like saying you&#x27;re a good programmer but not understanding basic concepts about memory management and whether things are stored on the stack or on the heap.
评论 #11582902 未加载
评论 #11582812 未加载
sheriff大约 9 年前
Here&#x27;s an O(N) solution to the `findSum` problem in Ruby:<p><pre><code> def findSum(array1, array2, sum) complements = array1.map{|x| sum - x}.reverse i = complements.count - 1 j = array2.count - 1 while i &gt;= 0 &amp;&amp; j &gt;= 0 return true if complements[i] == array2[j] if complements[i] &gt; array2[j] i -= 1 else j -= 1 end end false end</code></pre>
onmyway133大约 9 年前
To be honest, your voice is a bit aggressive. I like open source as much as you do. Stars on GitHub repo does not necessarily mean we&#x27;re skilled or clever, but it means that project is necessary to many people. You look for a job, but they look for the correct employee. I don&#x27;t really like to interview with a company that I don&#x27;t feel belong to. And if I do, I will focus my time on it
aregsarkissian大约 9 年前
When you go on interviews you should be interviewing them as well. So for every question they ask you should ask them one as well. If they ask you to code up something them you should ask them to code up something to see if they qualify as a group of people you would like to work for. This might not go well at some companies which should be sign that you don&#x27;t want to work for them.
marme大约 9 年前
I find it funny how many people dont realize the &quot;your next interviewer is out of office so we are going to end early&quot; is code for were have already decided to reject you so we dont want to waste any more of our employees time interviewing you. No company schedules a set number of interviews then decides to hire someone without doing every one of those interviews
master_yoda_1大约 9 年前
I don&#x27;t have any problem with coding question as I enjoy doing that. But what piss me off is that going into google with referral is a piece of cake and even if I do good in interview I can&#x27;t get an offer. I know couple of guys who don&#x27;t even do coding and can&#x27;t write a BSF but they get into google apple and facebook with referrer. This referrer sucks.
评论 #11583421 未加载
aluminussoma大约 9 年前
The only way out of this mess is to start and bootstrap your own company. Hiring is broken, therefore hire yourself.
评论 #11582577 未加载
FLUX-YOU大约 9 年前
I see these same algorithms&#x2F;concepts show up repeatedly in interview rants posted here. At this point, if I&#x27;m going to interview, I&#x27;m just going to cold memorize them over a week or so and then adapt to the specific interview questions. It&#x27;s just a ritual that needs to be done at this point.
shade23大约 9 年前
I am talking from personal experience here: <i></i>Hiring is broken<i></i> is a statement that is often the result of long intensive (and multiple ) interview processes which is met with sheer frustration.I went through that, cooled down a bit and came to a conclusion which I would like to share :<p>Hiring is Broken: Yes it is,but not the process,but the people. When you interview in a big company(especially a profitable one) you need to realize they are not looking for a typical skillset. Big (for profit) companies tend to keep their softwares behind closed doors. Hadoop was open sourced by google atleast a year after internal usage ,the same goes for Bazel(Blaze internally) .These were open sourced because they had much better versions of the same software that were consumed internally.When you reach such levels,performance factors are as important as<p>- ability to ship fast - writing clean&#x2F;testable code - and all the other things that we programmers&#x2F;coders are good at.<p>I am not saying that we aren&#x27;t good at optimizing. But they are not really looking for the horde. This could also explain poaching college professors&#x2F;PhD candidates for jobs.They need to people to push boundaries,not implement&#x2F;build things from existing technologies.There is only so long that you can spend in a domain without having the need to extend that domain which you have been working in the past 20 years for.<p>Regular start-ups and other companies need a product.They need to make a mark in a field by pleasing the customer who would be using their products&#x2F;technologies and who are looking for a service alternative mostly.<p>That is my justification for such interviews.This changed the way how I even handled interviews.<p>If I am asked these algorithmic questions,I generally smile and ask them if they want a Computer[1] or someone who can use a computer.I Immediately steer the conversation to what do they expect from me and explain to them what I can do.Often this clears the air and helps me(stress on the <i></i>me<i></i>) decide if I would like to join them. What you need to realize is that its you who is joining them.The impact that the organization will have on you is normally a much larger of magnitude in comparison to what you will have on the organization. The environment you end up working in will mould you in ways that you cannot anticipate.<p>PS: There are a couple of people who do the job hunting for the massive salary hikes and those sort of factors.I guess none of my arguments apply for them .<p>[2]:<a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Human_computer" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Human_computer</a>
JSeymourATL大约 9 年前
&gt; When I asked the Vimeo’s recruiter for a feedback — no reply, haven’t heard from him ever again. Feedback is too much to ask for these days, apparently.<p>Corporate feedback is mostly BS. And the rare line from bozo recruiters offer little of substantive value. It&#x27;s safer for him to say nothing at all.
Cpoll大约 9 年前
I&#x27;ll preface by saying I completely agree with the sentiment of the article.<p>However, I was taken aback by the author&#x27;s refusal to try to solve BFS. To me, it feels like someone should be able to reinvent it relatively easy - that it&#x27;s akin to a linked-list, palindrome or FizzBuzz question.
jarsin大约 9 年前
I always ask where they use those algorithms in their production systems.<p>The typical answer is that they don&#x27;t :)
linux_devil大约 9 年前
Hiring is broken , but not everywhere , its hard to set standard rules for technical hiring across different organizations , as every organization have different needs. I had similar experience in few organizations but not all organization are same.
DeadReckoning大约 9 年前
I&#x27;ve been asked to solve such tough questions during some interviews. Getting asked to solve really complicated text search problems using suffix trees in a 45 minute phone screen for a junior Android dev position at a small startup lol
malbs大约 9 年前
Just went through this process from the POV of employer.<p>The risk of choosing the wrong person is so great, that it&#x27;s often better to not choose anyone. If there is any doubt what-so-ever, it&#x27;s better to not make a a hire, it can be too damaging to a team, manager, company.<p>I&#x27;ve tried so many different &quot;coding interview&quot; scenarios. But I found the best one was a real task that a real staff member would be expected to do, extract it out into its own example, and before I talk to someone, they present their solution to the task, and the only thing we talk about, is their solution. If they can dissect and discuss their solution eloquently, and reason about trade-offs, short-cuts, talk about what they may have done better....<p>Of course, it can also be a simple case of, &quot;is this person an asshole? are they going to rub my team up the wrong way? yes? fuck them.&quot;
评论 #11580172 未加载
评论 #11580663 未加载
评论 #11580051 未加载
评论 #11580011 未加载
PaulHoule大约 9 年前
This is just an indication of what will happen to you if you get the job.
atjoslin大约 9 年前
Why don&#x27;t more people do, &quot;We&#x27;re not 100% sure if you&#x27;re the right fit, but we&#x27;d like to find out. We&#x27;ll pay you to work with us for [2&#x2F;4] weeks.&quot;
评论 #11583040 未加载
评论 #11584018 未加载
josefresco大约 9 年前
Wondering if the &quot;cover your ass&quot; is a factor in these hiring decisions. If you&#x27;re the guy&#x2F;gal who hire a new engineer, who turns out <i>not</i> to know their stuff, your ass is probably on the line. Making engineering candidates jump through hoops might provide them with a level of protection against future reprisals.<p>While I don&#x27;t interview for engineering jobs, we do bid on municipal contracts which are dominated by this concept (cover your ass, hire the big guy). A different animal indeed, but in a employment hierarchy where employees are held accountable for performance of new hires, it seems similar incentive would exist.
nouney大约 9 年前
&quot;How many people can actually write BFS on the spot, without preparing for it in advance?&quot; A lot of people. You should too, even if you&#x27;re just a front-end.
评论 #11581031 未加载
websitescenes大约 9 年前
Look for a job at a startup. Way easier to get in the door.<p><a href="https:&#x2F;&#x2F;careers.stackoverflow.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;careers.stackoverflow.com&#x2F;</a>
评论 #11583083 未加载
zappo2938大约 9 年前
&quot;Write a maze solving algorithm&quot; I just solved that in less than 3 seconds. Here is the solution in a Fiddle[0] and the discussion on Stack Exchange.[1]Sorry, I&#x27;m too busy solving problems which haven&#x27;t been solved yet to bother with problems that have been solved.<p>[0]: <a href="http:&#x2F;&#x2F;jsfiddle.net&#x2F;5g7se8qL&#x2F;7&#x2F;" rel="nofollow">http:&#x2F;&#x2F;jsfiddle.net&#x2F;5g7se8qL&#x2F;7&#x2F;</a><p>[1]: <a href="http:&#x2F;&#x2F;stackoverflow.com&#x2F;questions&#x2F;16173259&#x2F;javascript-maze-solver-algorithm" rel="nofollow">http:&#x2F;&#x2F;stackoverflow.com&#x2F;questions&#x2F;16173259&#x2F;javascript-maze-...</a>
评论 #11582220 未加载
评论 #11581504 未加载
评论 #11581312 未加载
评论 #11581374 未加载
ted12345大约 9 年前
I wonder if this has to do with your personality, how you behave under pressure, and how you react to not knowing the answer to something.<p>You seem more than capable enough to get a good job but in my experience, interviewers are looking to see how you react to being stumped. If it&#x27;s anger&#x2F;frustration&#x2F;clamming up then that&#x27;s a turn off for a lot of employers. They&#x27;re looking for more than the right answer.
评论 #11581760 未加载
eachro大约 9 年前
I think this is the wrong sort of attitude to have towards hiring. Maybe interviews are suboptimal for finding good talent. Whatever. But if you want a job and you already KNOW the sort of tricks and games go on for these interviews, then why not just play the game? Do the adequate interview prep and land the job. It&#x27;s that simple.
halis大约 9 年前
Rapid Development and Code Complete by Steve McConnell. Those books are prescient.
AndyMcConachie大约 9 年前
If interviews require this much effort people should get paid for their effort.
kogone大约 9 年前
a quick fix would be to have feedback of your interview be mandatory if requested.. kind of like a FOIA request
paddy_m大约 9 年前
I hired Sahat as an intern three years ago while he was an undergrad. It was one of the best hiring decisions I have ever made. He was productive immediately and our (small) team felt the loss when he went back to school. This guy is good and gets stuff done, ask people who have worked with him.<p>I wish Sahat had reached out to more of his network before responding to random recruiters. Tech interviews as Sahat experienced them are broken, but tech hiring is slightly less broken especially when you leverage your network.<p>*note this is the same comment I made in the other thread. I stand by it. <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=11579757" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=11579757</a>
评论 #11581672 未加载
评论 #11581586 未加载
评论 #11581941 未加载
tacos大约 9 年前
I do not think junior people realize what senior people see when they look at your GitHub work. Without exception, the crappier the <i>oeurve</i> the more the candidate wants me to look at his or her GitHub.<p>Read a single user&#x27;s Tweets going back a month and even your best friend starts to look a little nuts. Do it with their git history and you&#x27;ll sometimes get a very different impression of their work habits, too.<p>In my experience, these services tend to make people look worse, not better. But I can&#x27;t always give the benefit of the doubt when I&#x27;m making a critical hiring decision.
dimino大约 9 年前
I&#x27;ve been in interviews where those stupid &quot;I have three balls and want to guarantee the ball I pick is red&quot; questions get asked, and what I&#x27;ve noticed is if they <i>want</i> to hire me, I can just take vague guesses and they&#x27;ll help me along, but if they <i>don&#x27;t want</i> to hire me, they&#x27;ll sit coldly, watching as I flounder about. By the time I&#x27;ve sat down in the chair, a lot of times the person hiring has already made a choice. I&#x27;m not charismatic enough to reverse their choice, but I&#x27;m not antisocial enough to disqualify myself if they already like me.<p>The thing I learned about applying to jobs last time I went through this is that if your primary goal is obtaining a source of income, you need to send your resume to ~10 people a day, every day, and go on every possible interview, and do every possible thing people ask you to do.<p>You&#x27;ll still lose a lot of jobs to these techniques, because they&#x27;re effectively random, but since it&#x27;s random, your odds of success increase with volume. Eventually you&#x27;ll hit a position that you <i>do</i> just randomly happen to know the algorithm they&#x27;re looking for, or they don&#x27;t ask CS theory questions (I&#x27;m self taught, so theory is a weak point for me as well), and you can talk about&#x2F;demonstrate your <i>actual</i> job qualifications, rather than some contrived talent that&#x27;s entirely irrelevant to the position.
twreactistricky大约 9 年前
Tech hiring sucks, and the people who continue to do such a bad job at it seem to wear their behavior and tactics as a mark of pride.<p>There are a few companies that make it a point to mention they avoid the kind of interviews you&#x27;ve been getting. Perhaps try to seek them out rather than rely on recruiters
gcb0大约 9 年前
when they don&#x27;t give you feedback, most of the time it means &quot;you&#x27;re great but we also found John OK for 1&#x2F;3 of the price&quot;
cloudjacker大约 9 年前
Hey Sahat, one problem is the small sample size any one person can get during the interview process, so I recently did this process and in one month I embarked on interviews with 15 companies and progressed to various stages. The recruiter was Hired.com and I wrote about it here:<p><a href="https:&#x2F;&#x2F;gist.github.com&#x2F;ericlw&#x2F;16b55e038028e1e4768e" rel="nofollow">https:&#x2F;&#x2F;gist.github.com&#x2F;ericlw&#x2F;16b55e038028e1e4768e</a><p>Because Hired.com prescreens companies and have a limited pool of both types of companies and types of candidates, it is easier to get a better sample size based on type of role.<p>I primarily talk about some of the arbitrary offers, instead of the interview process. But you might find it interesting too.
elcct大约 9 年前
Not sure what is the problem. If you don&#x27;t like the hiring methods of those companies (I agree those methods are retarded), then you are not their target. Look for something else. There is plenty of this for everyone.
notliketherest大约 9 年前
If you don&#x27;t like Google&#x27;s hiring process, apply somewhere else. There&#x27;s plenty of viarety among a whole host of different companies large and small. The reality is Google gets hundreds of thousands of candidates a year and has these processes in place for a reason. The interview machine at Google spans the entire company and everyone is expected to participate and give detailed feedback at each stage and &quot;rank&quot; a candidate on a 1-4 scale. You have to have some sort of normalization in place when you&#x27;re interviewing at that scale, it&#x27;s not enough to say &quot;oh, this guy invented homebrew or this guy has some cool open source project, let&#x27;s fast track him.&quot; It&#x27;s unrealistic to think that. A lot of people complain that Google spends too much time on &quot;things that don&#x27;t matter like nuances of algorithms&quot; but I&#x27;d disagree with that point. Google&#x27;s not in the business of hiring &quot;frontend devs&quot; or &quot;node js devs&quot; theyre looking to hiring well rounded software engineers that would be expected to fit in any role given to them org wide. And honestly, it&#x27;s not hard to pick up a data structure book and a &quot;software engineer interview questions&quot; book and study for a few weeks prior. You&#x27;d probably do pretty well.
评论 #11581321 未加载
评论 #11581537 未加载
dang大约 9 年前
HN doesn&#x27;t bowdlerize, so the first thing to do with the title is take out the stars. But &quot;Fuck you I quit&quot; is linkbait of the kind that the HN guidelines ask submitters to take out of titles, so we&#x27;ve replaced that bit with a phrase from the first sentence.
askyourmother大约 9 年前
When I hired a plumber for my heating firm, I put her through a hazing interview, tested her knowledge of Maxwell relations and thermodynamic equations. Oh wait, no I didn&#x27;t. As she has been a plumber for years, so we recognised her skill and experience and cut to the chase.<p>When I hired a programmer for our doomed to die VC life support funded fart of a project, we put her through numerous rounds of comp sci bingo and algorithm hell. Why? Not sure. Everyone else does. I mean, hiring in IT is shit, why should we break from the industry norm? Why should we want to care about the candidates? Right? I mean if Google can do it...
评论 #11581731 未加载
评论 #11581660 未加载
评论 #11581703 未加载
评论 #11581847 未加载
评论 #11581677 未加载
评论 #11581687 未加载
评论 #11581563 未加载
评论 #11581845 未加载
morning_star大约 9 年前
You know what other type of people are not very pleasant to work with? Nerds who think they can trace a psychological profile of a person based on a blog post.
评论 #11582041 未加载
评论 #11645285 未加载
评论 #11582034 未加载