TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

I had to give a wrong answer to get the job (2017)

351 pointsby Starz0ralmost 4 years ago

79 comments

munificentalmost 4 years ago
I bombed an interview at a game company because I gave a right answer that I couldn&#x27;t get them to understand.<p>I don&#x27;t remember the exact problem they wanted me to solve, but the answer involved a dynamic collection and they wanted it to grow with constant time complexity. They were probably looking for a linked list. But I said I&#x27;d use a dynamic array because those have constant time when averaged over a series of appends.<p>I don&#x27;t know if I remembered the term &quot;amortized complexity&quot; or not, but it was clear that they had never heard of doing amortized analysis across a series of operations and they absolutely did not get my answer. They got hung up on the idea that <i>some</i> appends force the array to grow and get copied. I tried to explain that that was only true for a predictable fraction of them, but they were stuck on the idea that this meant dynamic arrays had O(n) worst case performance. They clearly thought I didn&#x27;t know what the hell I was talking about.<p>I&#x27;m pretty sure that was the point where they decided to pass on me.<p>But now I&#x27;m a senior software engineer at Google and I just finished writing a textbook that explains dynamic arrays including their amortized analysis, so joke&#x27;s on them.
评论 #27884977 未加载
评论 #27887359 未加载
评论 #27885016 未加载
评论 #27884941 未加载
评论 #27885392 未加载
评论 #27886246 未加载
评论 #27885343 未加载
评论 #27885209 未加载
评论 #27886063 未加载
评论 #27888452 未加载
评论 #27885989 未加载
评论 #27887679 未加载
评论 #27884970 未加载
评论 #27887074 未加载
评论 #27885119 未加载
评论 #27885084 未加载
评论 #27888491 未加载
评论 #27888751 未加载
评论 #27886319 未加载
评论 #27887773 未加载
评论 #27886084 未加载
评论 #27887296 未加载
评论 #27885260 未加载
评论 #27888913 未加载
评论 #27885047 未加载
评论 #27887130 未加载
tomervalmost 4 years ago
Can&#x27;t really comment on whether that was the correct way to handle the situation, given that passing the interview was the goal. However, I would have a hard time giving an incorrect answer on purpose. I also consider an interview as an opportunity to learn about the company I&#x27;m going to work for, and especially my future colleagues.<p>I would probably try to give a full answer, such as &quot;there&#x27;s a widely-held concept X, but my understanding is that this is not completely correct, and in fact a better model is Y.&quot; A technical lead that can&#x27;t work with an answer like that is one I probably don&#x27;t want to work with.
评论 #27883506 未加载
评论 #27883338 未加载
评论 #27882623 未加载
评论 #27882556 未加载
评论 #27883822 未加载
gorpomonalmost 4 years ago
There&#x27;s not a lot of context given about the behaviors exhibited in this interview, but as many others here have said, red flags abound in this anecdote.<p>&gt; But the problem was, that this guys manager was sitting next to him. If he didn’t know, I would totally humiliate him in front of his boss. So either he would stick to his guns and refuse the correctness of my answer, to save face. Or he needed to agree that he was wrong, and lose face.<p>I would love to ask the author if their team lead ever confirmed these suspicions. I would doubt it, but happy to amend my position if wrong. Regardless, to me this sounds like the exact type of culture I wouldn&#x27;t want a new hire bringing in. I don&#x27;t need to be managed or protected, especially from my own manager. I need honest answers, not what I want to hear. I wasn&#x27;t in the room, I can&#x27;t read the vibes like the author did, but I&#x27;ll consider the omissions here telling-- there&#x27;s no description of an anxious or frazzled team lead, or an imperious manager peering down. It seems like the only thing the author saved the team lead from were problems in their own head.
评论 #27894676 未加载
lauriegalmost 4 years ago
&gt; So I decided to start by giving the correct answer, and see how he responded. I explained “The model-view-controller is a software pattern, and so resides inside the written code. Since in most cases, this code only runs on the application tier, …”. But then I saw him frowning, and so knew this was not the answer the was expecting. So I continued:<p>This is a great cold reading technique that works in magic tricks too.<p>You have some trick where someone needs to pick from 10 cards. And your patter goes something like &quot;Picture the card in your mind. Ace of hearts. Ace of hearts&quot; If they give a big reaction then you&#x27;ve found their card and performed a miracle. If not then you just continue &quot;Of course, that&#x27;s just an example...&quot; and continue the patter throwing out other hints. Of course, it&#x27;s tough to make this your only trick but it can really elevate a good trick to amazing.<p>Great example at 1.50 here: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=QI5-NDiY7IM" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=QI5-NDiY7IM</a>
评论 #27882580 未加载
评论 #27882558 未加载
评论 #27882381 未加载
评论 #27883412 未加载
Radimalmost 4 years ago
Heh. Happens all the time with tests and questionnaires, the choice is always frustrating:<p>* <i>&quot;Does the author really mean what they are asking? Are the mistakes in the phrasing or corner cases intentional, meant to catch me, test my deep knowledge?&quot;</i>, or<p>* <i>&quot;Is the author just not very good with logic &#x2F; not thinking this through?&quot;</i><p>I go with the latter in &quot;soft social&quot; contexts. Never regretted it yet.<p>This saved my hide recently in June, when I had to undergo a mandatory psychological examination for my gun license permit. Serious official stuff, with my permit on the line… And the &quot;serious&quot; psy-test was exactly as &quot;robust&quot; you&#x27;d expect from the field of psychology.<p>I answered the way I figured the test author construed the questions (= what they likely meant to ask), not what they <i>actually</i> asked. Easy pass.
评论 #27882780 未加载
评论 #27884072 未加载
评论 #27888792 未加载
评论 #27883136 未加载
评论 #27889841 未加载
tyingqalmost 4 years ago
This isn&#x27;t a great example to me. I doubt the interviewers would disagree that the actual code in MVC runs at the &quot;application tier&quot;.<p>I think they were just trying to elicit the idea that the model defines interaction with the database and that the view defines interaction with the browser client. That there is some relation there between MVC and 3-tier architecture. The Wikipedia snippet that disputes any relationship seems overly pedantic to me.<p>Though all moot to me since there&#x27;s very little real world pure MVC or pure &quot;3-tier&quot; anyway. For good reason.
评论 #27884385 未加载
评论 #27885606 未加载
评论 #27882845 未加载
评论 #27883226 未加载
评论 #27882806 未加载
评论 #27887511 未加载
endymi0nalmost 4 years ago
To be honest, one of the best predictors I have for job performance is learning something new in a job interview. Sometimes I get the feeling there are far to few people like this in the industry, but if I want to hire great colleagues, that just works the best.<p>Then again, I&#x27;d never ask a vanilla architecture question like the company in OP&#x27;s post, as I&#x27;ve found that the best predictors for job performance are also the very questions that are the hardest to grade. Deep, open questions on a vast field — where there isn&#x27;t anything close to a correct answer but rather thousands.<p>I still often go with the good old &quot;what happens when you enter xyz.com in your browser and hit enter?&quot;, just because I can take it anywhere I want.<p>One day, I hit my bonus question &quot;so what happens after hitting enter and before the first request leaving your computer?&quot;<p>And the guy was like &quot;well, the microswitch pulls the line of the keyboard matrix from high to low, generating a scancode that&#x27;s then turned into a keycode in the controller...&quot;<p>5 Minutes later we were all over his self-built keyboard and he had a job offer in hand 30 minutes later. I don&#x27;t even wait for HR for the good ones.<p>Unfortunately he got an offer in hardware, and actually I was glad for him.
评论 #27889018 未加载
banana_giraffealmost 4 years ago
I was once asked to write a function that, given the time, draw an analog clock. Given the nature of the position I was applying for, this wasn&#x27;t an unreasonable question.<p>I wrote something on a whiteboard. What followed was the most surreal discussion I&#x27;ve had in an interview. My function took into account the seconds, minutes and hour for the hour hand, and so on. Just like a normal clock would. The interviewer insisted this was wrong. I tried to tease out of him if we were talking about what to do if the specs made no sense, or if he wanted me to draw an unusual clock face. Nope. He just insisted I had no idea how clocks work. I spent the interview trying to understand what he was really asking of me as politely as I could while he spent the interview insisting I didn&#x27;t know how something as basic as a clock works.<p>To this day I don&#x27;t know what he really expected out of me. I wasn&#x27;t surprised when I learned they didn&#x27;t want to hire me. I doubt I would have wanted to work there after that interview.
评论 #27887987 未加载
评论 #27887314 未加载
评论 #27887354 未加载
评论 #27887582 未加载
chasingalmost 4 years ago
A job interview is also you judging the company and people you’re applying to join. If you feel the team lead can’t handle you answering questions honestly because it might reveal one of his or her blind spots, that’s not a great sign.
评论 #27882576 未加载
评论 #27882861 未加载
评论 #27882610 未加载
fogofalmost 4 years ago
One thing this reminds me of is the use of &quot;Compute the nth Fibonacci number&quot; as an interview question. The interviewer may expect you to show off your knowledge of dynamic programming by memoizing the function. But you take a risk if you implement the matrix exponentiation algorithm [1], which is actually optimal in that it only uses O(log(n)) arithmetic operations. I had an interviewer once who seemed a bit skeptical when I mentioned there was a sublinear algorithm for Fibonacci.<p>[1] : <a href="https:&#x2F;&#x2F;math.stackexchange.com&#x2F;a&#x2F;867404&#x2F;165144" rel="nofollow">https:&#x2F;&#x2F;math.stackexchange.com&#x2F;a&#x2F;867404&#x2F;165144</a>
评论 #27884618 未加载
评论 #27884634 未加载
heuriskoalmost 4 years ago
&gt; Anyway, there was only 1 proper solution to this: I had to answer what they thought was correct.<p>I think it was a poor solution. There are ways to respectfully disagree.<p>&quot;I really think I&#x27;m right on this one. Since it&#x27;s a question of facts, not opinion, we could easily verify it later.&quot;<p>Did the author know they were hired because they didn&#x27;t rock the boat, or despite of it?<p>If I were hiring someone, I would want to know I&#x27;m hiring someone who can argue politely for what they think is right, and not see the argument in the context of &quot;winning or losing&quot;, but in trying to find the best way forward.
评论 #27882267 未加载
评论 #27882321 未加载
评论 #27882347 未加载
评论 #27882475 未加载
zabzonkalmost 4 years ago
In my experience, being &quot;right&quot; is no bar to getting the job.<p>In one case where I was going for a C++ expert job, I got asked a question (that I can&#x27;t remember now), gave the correct answer, which the interviewer disputed. I asked if they had a copy of TC++PL on hand, which they did, and I pointed out the relevant section. I got the job.<p>In another case, I was asked something complicated about &quot;const&quot; in C++ (which has a few gotchas), gave the right answer, but was still disputed. I got the job, and on my first day the guy that asked the question came up and apologised to me - he&#x27;d read up on it after.<p>IMHO, telling the truth about technical matters is always best; I might fib a bit about other things.
评论 #27883066 未加载
评论 #27883271 未加载
评论 #27888375 未加载
simonwalmost 4 years ago
When we first designed Django we decided to describe it as a MTV - Model Template View - framework because we thought that the classic &quot;controller&quot; concept from GUI applications didn&#x27;t really apply to server-side web applications.<p>Rails took a different path: they called their Ruby application code the &quot;controller&quot; and their template files the &quot;view&quot;.<p>With the benefit of hindsight, I&#x27;m not at all confident we made the right choice.<p>I still think we were right from a pedantic point of view, but having to spend over a decade constantly explaining that &quot;no, in Django the view layer is a different thing from the template layer&quot; doesn&#x27;t feel to me like it added much value for all of the extra effort!
don-codealmost 4 years ago
I was once in this position, but decided to continue through with the &quot;right&quot; answer anyway. Even though the interviewer was adamant that he was right (as, of course, was I), we briefly stopped the interview and made some Google searches to get to the truth.<p>I could ostensibly argue that I got the job not by telling the interviewer what he wanted to hear, but by doubling down on the right answer and showing that I had the capacity to prove it.
评论 #27884471 未加载
city41almost 4 years ago
I don&#x27;t feel this particular example is very strong since MVC is a bit of a loose&#x2F;spongy term, especially nowadays. But I&#x27;ve been in interviews - on both sides of the table - where the interviewer is just outright incorrect. On several occasions I&#x27;ve needed to defend the candidate as my colleague was protesting something the candidate came up with based on incorrect knowledge. In my experience, this is very common. I&#x27;m sure I&#x27;ve been incorrect as an interviewer at times too. I really dislike software job interviews, on either side of the table, this just being one reason.
dmcgintyalmost 4 years ago
I was in a job interview several years ago and I was given the following prompt: &quot;You have a database containing locations with their corresponding latitudes and longitudes. We want to be able to input an arbitrary latitude and longitude and have the program return all locations within a radius from that point from the database.&quot; My initial reaction was to say &quot;I would use a GIS library&#x2F;API&quot;, but the interviewer wanted me to come up with the algorithm on my own. I had done some GIS work at a previous job, so I started explaining how I&#x27;d approach it. I was a bit rusty, but I started explaining what I could remember about the Haversine formula and rhumb lines. The interviewer told me that I was overcomplicating it and explained that I can treat the latitude and longitude as standard Cartesian coordinates. I explained how that wouldn&#x27;t work as they&#x27;re spherical coordinates, not planar, and lines of longitude aren&#x27;t parallel. I believe this is where the problem went from being an issue with technical approach to an issue with expectations. What they really wanted was an algorithm that could find all points a given radius from an arbitrary X,Y coordinate. However, by trying to turn it into a real-world problem with latitudes and longitudes they neglected to consider that they had fundamentally changed the challenge. I&#x27;m quite stubborn, and I tried to point out that the question was much more difficult than they intended, but they were equally stubborn and insisted that spherical coordinates could be directly converted to planar coordinates with no issue. Long story short, I didn&#x27;t get a call back and I&#x27;m still frustrated about that interview ~3 years later, but I&#x27;m also glad that I stood my ground rather than give an incorrect answer.
评论 #27887259 未加载
评论 #27886195 未加载
评论 #27886361 未加载
评论 #27890308 未加载
评论 #27886266 未加载
yobboalmost 4 years ago
This article is pointing out that interviewing&#x2F;recruiting is as much dominance play for the interviewers as it is testing of candidates. Doing interviews can be considered recognition of rank inside the company. Some probably consider this sanctioned &quot;lording&quot; an implicit reward, and thus will make sure they get they what they want. Some consider it a hazing ritual.<p>Noting how many comments here are of the form &quot;this is what &#x2F;I&#x2F; would accept&quot; or &quot;what &#x2F;I&#x2F; usually want out of &#x2F;them&#x2F;&quot;.<p>And the point was specifically how interviewers insert their personal issues into the questions and make others dance.
评论 #27887336 未加载
chapsalmost 4 years ago
Hah, I&#x27;m way too stubborn to give a wrong answer. Once had an interview where the interviewer asked me how to identify open connections on a linux host. Told him my go-to was `lsof -i` because fuck yeah, `lsof`. He told me no, the answer was `netstat`, which I took as a fun opportunity to explain why I prefer `lsof -i` over netstat. They still thought I was wrong and I got the impression that they took it as a challenge against their authority.<p>I did not get a callback.
评论 #27888326 未加载
Rd6n6almost 4 years ago
Mvc isn’t an architecture at all. It’s just meant to be a tiny pattern for ui widgets from the 70s that people started to use as an architecture. The actual goal is to just keep a tiny piece of business logic from having a dependency on a specific input or on the view. It applied to a single button or a single input field back then.<p>Architecture is more about deciding what direction your dependencies go and where your hard boundaries go<p><a href="https:&#x2F;&#x2F;youtu.be&#x2F;o_TH-Y78tt4" rel="nofollow">https:&#x2F;&#x2F;youtu.be&#x2F;o_TH-Y78tt4</a> (approx 27 mins in)
kevinmgrangeralmost 4 years ago
Model View Controller doesn&#x27;t really mean anything in 2021. It might have meant something when the term was first coined, but everyone has such different ideas on what it means it&#x27;s not a useful term anymore.
评论 #27884081 未加载
Rapzidalmost 4 years ago
Give them what they want and leave yourself an out:<p>&quot;As an analogy, perhaps one could view...&quot;<p>Two months later when that person runs across the wiki article:<p>&quot;Ah, right that&#x27;s why I said as an analogy perhaps one could view it that way. I thought you knew?&quot;
kasajianalmost 4 years ago
I think a lot of people have had the experience of giving the right answer and have the interviewer believe it&#x27;s wrong, whether they are wrong or the interviewee didn&#x27;t explain it well enough. I&#x27;ve done both. In one case, I make a flippant comment about how you don&#x27;t really know where the bottlenecks in your software are unless you measure. I was making a statement which I believed the other person would simply agree with as a baseline. However, he took it as a challenge and said, &quot;I know where our bottlenecks are&quot;. Oops.
crypticaalmost 4 years ago
I don&#x27;t like this kind of interview question because it&#x27;s all about subjective terminology and superficial knowledge and not about logic or reasoning.<p>The author is right, the MVC pattern can be considered from many different angles. It&#x27;s possible to have MVC just on the client side (e.g. with React framework with Redux you have a store as a model, components are views and the router is essentially a controller). React (the library) is itself is also a controller since it handles the DOM diffing and handles the state reactive update mechanism and thus acts as the glue logic between all the views.<p>I wouldn&#x27;t want to work for a company with such a rigid view of software development.<p>It&#x27;s a sign of seniority when you notice inconsistencies with terminology.<p>For example, I know some senior developers who had totally different ideas about what is &#x27;unit testing&#x27; versus &#x27;integration testing&#x27;. Both are valid views because the terminology is still currently ambiguous.<p>Does unit testing have to only test 1 class in complete isolation (stub out all function calls to dependencies)? Or is it OK to test a class along with its dependencies (no stubbing)? Some developers say that if you include dependencies, then you&#x27;re testing more than 1 class so it should be called &#x27;integration test&#x27;, other developers will claim that it&#x27;s still a unit test with respect to that class - That integration tests must interact with the system from outside via the API (not method calls on a class). Either way, I think that stubbing out dependencies is a bad idea in most cases (aside from mocking I&#x2F;O calls to external systems like a database) so if I was to accept the definition of a unit test as being without dependencies, then I would very rarely use unit tests... Anyway this shows that even a simple term which is widely known can be the subject of conflicting opinions and it&#x27;s wrong to criticize people for choosing a definition which doesn&#x27;t match your own.<p>Software development doesn&#x27;t have much global consensus nowadays and part of the problem is that companies are using bad hiring techniques to interview candidates; companies end up forming tribes of like-minded individuals and completely miss all these nuances and these debates.
评论 #27882811 未加载
lumostalmost 4 years ago
This is a good lesson in why LC style interviews are so popular. There are generally only one or two correct&#x2F;optimal answers that an individual could code in 20 minutes. There is limited ambiguity as to the task to be solved for both the interviewer and the interviewee. There is easy calibration across multiple interviewers as a set of boolean progressions points - did they solve the problem? did they need hints? did they present an optimal&#x2F;correct solution? The edge cases&#x2F;traps are likewise known to the interviewers for quick calibration.<p>The alternatives I&#x27;ve see boil down to these trivia style interviews which come down to simply memorizing answers the interviewer deemed important&#x2F;correct. The most rediculous cases include obscura such as &quot;what would you do if [X debugging tool] stalled [Y application process?&quot; or &quot;what would you do if you saw a server with high IO time?&quot;<p>There are many versions of correct answer to these, but odds are your interviewer has a specific one in mind. In a real discussion of these events there would likely be back and forth on root cause&#x2F;severity&#x2F;solution, but you simply can&#x27;t have back and forth in an interview situation. The starting impression will always devolve towards &quot;this person doesn&#x27;t know what they are talking about&quot;.
3minus1almost 4 years ago
Who would want to work at a company where you knowingly do things the wrong way due to the fragile egos of your superiors. Debating technical issues is fun and leads to shared knowledge and better outcomes. Part of interviewing is showing off what kind of person you would be to work with. Challenging assumptions and making a good argument should help you in an interview if the place has a good culture.
rcurryalmost 4 years ago
During an interview for a job with a Wall Street outfit, the interviewer asked me “In C++, how would you determine the concrete type of a pointer to a base class if you did not have runtime type information?”<p>I couldn’t think of an answer, and then he explains “It’s quite simple - you would use dynamic_cast.”<p>I needed the job so I just smiled and said “Oh, that’s really cool - I didn’t know about that.”
tester756almost 4 years ago
That&#x27;s the one thing I hate about web (backend) development in languages like java, c# and so on<p>There&#x27;s GIAAAAANT focus on patterns, architecture, patterns once again<p>and even more talk&#x2F;discussions about it, yet even people with years of experience get stuff wrong.<p>I feel like systems programming is simpler in that matter.
emeralddalmost 4 years ago
MVC is such an overloaded term ... I don&#x27;t think I&#x27;ve seen behavioral equivalence between any two implementations&#x2F;frameworks in any language I&#x27;ve dealt with. As always, the devil is in the details. So going much further than &quot;the model deals with data (either connected or unconnected), the controller usually deals with behavior, and the view usually deals with presentation&quot; it&#x27;s really hard to talk about MVC in general without some tighter constraints. For instance, are you models POJOs? Are they tied to the DB directly (i.e. something like ActiveRecord)? Do they process&#x2F;send events (i.e. something like a model in Swing)? Etc ...<p>It get&#x27;s complicated fast if you want to discuss more than very abstract generalities.
crispyambulancealmost 4 years ago
This story uses a technical question (MVC vs n-tier) as an example, but conforming your answer to interviewer expectations also applies to behavioral and soft-skill questions (perhaps more so).<p>There are some traditional corporate HR-screening questions that have flummoxed tech people since forever. Those who are savvy about people-skills in a workspace know instinctively how to answer these questions, but some techies have a very hard time with them because they&#x27;re either being radically honest or awkwardly trying to second-guess what the interviewer wants to hear.<p>The best thing you one can do is to practice. Interviewing is a skill (for both sides), it doesn&#x27;t come naturally to most folks.
timmgalmost 4 years ago
My first programming job interview (like 100 years ago) was a group interview. One guy asked me to write string compare in C.<p>Not sure I did it right, but I basically walked the two char* pointers looking for a &#x27;0&#x27; or a mismatch. The guy asking the question said, &quot;No, first you should compare the string lengths -- since if they have a different length they will be different.&quot;<p>I was nervous, but I thought he was wrong. I said, &quot;Well, to get the length you need to walk both strings, so that isn&#x27;t faster.&quot;<p>He got annoyed and said, &quot;They have optimized functions for that!&quot;<p>I didn&#x27;t argue. Needless to say, I didn&#x27;t get the job :)
评论 #27883115 未加载
nkingsyalmost 4 years ago
The headline feels wrong, as the author started by laying out their assumptions, and revised after more or less getting their question answered.<p>One could just as easily form this as a question.<p>“All three are usually at the application layer in my experience. Would you like me to discuss this, or give you a more general mapping?”<p>In either case, asking questions before answering is something any good interviewer should be looking for as a positive signal.<p>A general knowledge question like this, though, seems designed for a quick answer, so I’d only ask the question if I was really confused rather than splitting hairs.
JohnFenalmost 4 years ago
If you have to lie in an interview to get a job, that&#x27;s a pretty strong sign that the job is not worth having.
评论 #27885669 未加载
KETpXDDzRalmost 4 years ago
&gt; If he didn’t know, I would totally humiliate him in front of his boss.<p>I only know this from Indian culture. There, someone can &quot;loose their face&quot; if you correct them in front of others.<p>A friend if mine attended a conference talk of a colleague. She noticed that they made fundamental mistakes in their statistical analysis when she asked if they performed some prior tests. The result was her manager telling her that she shouldn&#x27;t ask questions in public anymore.
taneqalmost 4 years ago
I guess the real question is what Koen&#x27;s goal was. Was it to be hired for this particular job? Or was it to get a technically satisfying job?<p>Personally I&#x27;d find it very difficult to knowingly give a wrong answer to a client or potential employer, even if it&#x27;s clearly the one they want. After all, they&#x27;re hiring me to find the right answer for them, not to agree with them. That&#x27;s just me though.
miki123211almost 4 years ago
&gt; But then I saw him frowning, and so knew this was not the answer the was expecting.<p>This is why, as a blind person, I&#x27;m fundamentally screwed when looking for a job. I suspect situations like this contribute greatly to the 70% unemployment rate in the blind community.
ChrisMarshallNYalmost 4 years ago
Good post.<p>Humans are important (and also illogical). If we are to work in a team, then we definitely need to factor humans into the equation.<p>That also means, that when we evaluate the employer, we should try to find out as much as possible about the human culture there. Even if they are all tech whizzes, if the team is broken, the job will be a nightmare.<p>I was talking to a guy a couple of days ago, about a job he quit after two days.<p>He noticed that every time the manager walked onto the floor, everyone put their heads down, and avoided eye contact. It was only a matter of time before the manager cut a victim out of the herd, and humiliated them in front of the others.<p>During the interview, this same manager was a font of friendliness. But on the floor, he was a tyrant.
waffletoweralmost 4 years ago
I agree that the author deserves some recognition for their interview social skill flex. I imagine most engineers would not perform real-time perspective taking in this situation. But should they? My takeaway is less pragmatic -- shouldn&#x27;t those levying judgement during an interview be open to self-reflection? Can&#x27;t an engineer be celebrated for being capable of learning something new in front of their manager? Shouldn&#x27;t a manager be capable of understanding their employees are human? Shouldn&#x27;t those involved in an interview process understand that architecture is far more complex than the cookie cutter representations some use to simplify it?
yawaworht1978almost 4 years ago
Yes, depending if you&#x27;re just fishing around or not, you can either test the limits with your statements or just tell them what you think they want to hear.<p>I have found it&#x27;s practical to go on a fishing trip while employed and test the limits, less pressure. Of course, this can backfire and did for me, but overall it was beneficial.<p>For example, if it&#x27;s something like a high street bank, don&#x27;t mess around, these are highly political institutions, similar can be said for large, established companies.<p>Sometimes, a wizard is required, sometimes a yes person is required.<p>It&#x27;s good if you know some hr people personally as friends, listen to their stories.
havkomalmost 4 years ago
Great skill to not always having to be right (even when you are). This helps you alot when you want to acctually accomplish or change something - which is something you usually want to do when you have alot of knowledge.
belteralmost 4 years ago
In the Benelux, try to get a job after answering what you really think about Scrum. If the local Scrum Master is present in the interview team you will be &quot;persona non grata&quot; for the rest of your career...<p>&quot;One Hacker Way Rational alternative of Agile - Erik Meijer&quot;<p><a href="https:&#x2F;&#x2F;youtu.be&#x2F;2u0sNRO-QKQ" rel="nofollow">https:&#x2F;&#x2F;youtu.be&#x2F;2u0sNRO-QKQ</a><p>Nowadays a Developer has to act a little bit like in this scene from Good Will Hunting.<p>Make yourself stupid...you will be hired.<p><a href="https:&#x2F;&#x2F;youtu.be&#x2F;UpL3ncoK99U" rel="nofollow">https:&#x2F;&#x2F;youtu.be&#x2F;UpL3ncoK99U</a>
评论 #27883158 未加载
mattcdrakealmost 4 years ago
I have had two engineers in the last few weeks tell me that my (correct) interview answers were wrong. It&#x27;s extremely frustrating feeling to be already stressed from an interview and then deal with this on top.<p>In one case I argued for a while until we moved on. In the other, I was able to show the interviewer why I was right and they eventually saw my side. I&#x27;m not sure if this was poor communication on my part (definitely possible!) but I felt helpless. Still, I don&#x27;t think I&#x27;d be able to intentionally say an incorrect answer just to get the job.
cowanon22almost 4 years ago
I&#x27;ve found that these situations are actually quite useful from my side as a prospective employee. If the interviewers are treating this as a &quot;gotcha&quot; interview and it turns into a test instead of a discussion, then that&#x27;s a pretty good sign that this job is not going to be a good fit for me. The best jobs I&#x27;ve had are where the interviewers treated me as a potential future colleague, and the technical questions were more of a starting point for a detailed discussion of different scenarios rather than a straight quiz.
iainctduncanalmost 4 years ago
IMHO, having done a fair whack of sales and negotiation in my work, the best way to suss these things out is to hit them back with <i>questions</i>.<p>&quot;Before I answer, can you clarify if we&#x27;re talking about MVC as the term was used for Smalltalk applications or as it&#x27;s used now to refer to web frameworks?&quot;<p>If they look at you blankly about Smalltalk, you know what kind of answer you&#x27;re supposed to give. If they smile and chuckle, you get to nerd the fuck out. :-)
nicoburnsalmost 4 years ago
IMO the better way to do this is:<p>&quot;That term&#x2F;phrase is actually used in a couple of different ways. Originally it referred to X But it&#x27;s sometimes also used to mean Y&quot;
lmilcinalmost 4 years ago
Just about the same happens every time I am asked about why do we need microservices or TDD.<p>Because if I went to say that most projects need neither I would probably never get any job.
loudlambdaalmost 4 years ago
I strongly suspect that Google didn&#x27;t extend me an offer because one of my interviewers was insistent that a race condition could only be a bug and could not be used strategically, but with a electrical engineering background I could not let that slide. Unfortunately it didn&#x27;t occur to me during the interview to pull up Wikipedia. I&#x27;d prefer not to work somewhere which requires dishonest agreement, so it&#x27;s been for the best.
everyonealmost 4 years ago
So they took the job instead of noping the fuck outta there?
yepthatsrealityalmost 4 years ago
Once had a interviewer for a startup ask their final question after they found out I performed stand-up comedy as a hobby:<p>If SNL were to call you and offer you a job while you were working for us, would you take it?<p>I know what they wanted me to say but I thought it was a pretty dumb question. So I said:<p>Of course I’d take the job with SNL, but I didn’t move to this city for stand-up comedy, that’s just a side hobby.<p>I did not get the job and I guess they were looking for someone more dishonest.
silentsea90almost 4 years ago
Not exactly this, but I ran into a similar situation in an Uber SWE interview where I presented 2 solutions for a problem, one after another with the latter being better. However, the Senior SWE interviewer didn&#x27;t know better and was fixated on the 1st solution and didn&#x27;t see a problem with it. Always a bit frustrating when this happens and I chose to stick with what was the &quot;right&quot; answer without a fuss.
im_down_w_otpalmost 4 years ago
The questions in this story seem like basic filtering questions, since the amount of signal one could derive from their answers is essentially perfunctory. Why is basic filtering being done in a multi-party in-person interview? That seems like a waste of everybody&#x27;s time. Especially that of the company doing the hiring.<p>A whole separate matter is the use of what amounts to a technical glossary being used as an evaluation criteria.
_carbyau_almost 4 years ago
My first interviewer for a Service Desk job:<p>Interviewer was super nervous, visibly shaking! I poured myself, and him, a glass of water and took a sip. He took a sip, and visibly calmed down.<p>The answer to every &quot;Do you know XYZ?&quot; IT product was a meek &quot;No&quot;. But I still got the job.<p>Their reasoning? You can teach a nice person technical things with proven interest. It is hard to teach a technically knowledgeable person to be nice.
ElijahLynnalmost 4 years ago
I guess. I don&#x27;t think I would want to work with a technical lead who can&#x27;t admit when they are wrong. How will they learn? How will it be communicating with them using logic? That seems really toxic and I think I would have just been honest and see how well they &quot;learn&quot;. When I am interviewing, I am also interviewing the company, not just them interviewing me.
jmullalmost 4 years ago
Reading this, the partial first answer the author started with was, in fact, a bad answer. Where the MVC pattern is used was not really relevant to the question.<p>Not to mention, the second answer is correct. Three-tier architecture and MVC don&#x27;t have to be exactly the same to be related and have major elements that correspond to each other.<p>Going deeper, if anyone is interested... it&#x27;s pretty common in MVC for the view to point at elements of the model. To make it more concrete, imagine a Circle type composed of x, y, and r and a CircleView that displays a Circle. The CircleView might point to an instance of Circle that is also in the model. But as long as the controller put in in the view and the view know it&#x27;s from the model, that&#x27;s a perfectly valid MVC (IMO anyway. People will argue about this.) Interestingly, a similar situation arises in a three-tier architecture where storage is able to directly serve resources over standard protocols. E.g., imagine an application to store and share images where the images are stored in KV store that also has an HTTP interface (like S3). When displaying images, the app layer could render HTML to the browser client with &lt;img&gt; elements where the href links directly to the storage. The client would then bypass the app layer to access the storage itself. This is perfectly valid for the same reason as the MVC case -- the client doesn&#x27;t know or depend on the fact that the resource is directly from the storage, and the middle tier is what controls what the client it going to access.
szundialmost 4 years ago
I hope it was not Boeing ;)
schmichaelalmost 4 years ago
If a team lead can’t handle being wrong in front of their manager they are not a team lead you want to work for. Their ego is fragile, they’re not told when they’re wrong, and they’re unlikely to learn at the pace a lead must.<p>Being a lead does not make you infallible or even least wrong. You must always be learning and that means often being wrong.<p>Source: me, a lead
frugalmailalmost 4 years ago
Have to say that the interview was handled masterfully. However, regarding the technical premise of the discussion. I agree that the model &amp; view are in the middle layer, but isn&#x27;t the view in the view layer? It&#x27;s whole purpose is to package it up for display which includes haveing the graphical elements rendered.
PUSH_AXalmost 4 years ago
I&#x27;d rather give the correct answer, if they are going to fight the answer despite being wrong then it&#x27;s a good sign I don&#x27;t want to work with these people. Interviews being a two way process and all, this seems like it was an excellent opportunity to test their character.
评论 #27884230 未加载
oeiiooeieoalmost 4 years ago
I believe I missed out on a google job because I used uint32_t from stdint.h (rather than unsigned long). The interviewer in this case worked on compilers and didn&#x27;t like a recent-college-grad schooling him on the dangers of assuming integer type sizes.<p>I don&#x27;t regret it. =)
pcmoneyalmost 4 years ago
This is a bad answer even in the contrived context in which it is given.<p>The better answer is along the lines of: Architecture patterns are abstract concepts whose implementation may vary. You can express an MVC Architecture without a database or without a GUI, however commonly…
the_arunalmost 4 years ago
Model View Controller question is always a tricky one. My understanding of that was different from Wikipedia explanation. With this &quot;not one perfect answer&quot; mindset, I wonder, whether software engineering is close to art or science?
specialistalmost 4 years ago
The only way to win the MVC debate is to not play.<p>No other topic in our design pattern study group would incite such heated debates.<p>Any more, any time someone refers to MVC, non ironically, I just mentally check out. Bozo bit style.
bytefacealmost 4 years ago
Similar thing happened to me in early years of dev. I decided not to take the offer if I couldn&#x27;t express myself. Nowadays I&#x27;d love to disagree with someone, especially on interview.
jerzytalmost 4 years ago
At one of the Big Four advisory firms we were only allowed one-on-one interviews. I was never able to get a satisfactory answer for this rule.<p>Now I wonder if it was designed to prevent this specific scenario.
评论 #27885384 未加载
bluntealmost 4 years ago
Do you really want to work under a tech lead who misunderstands the fundamentals? From my experience, this always ends up with a frustrating work environment.
lupirealmost 4 years ago
2007 was a popular time for people trying to cram &quot;MVC&quot; vocabulary into the web world it made no sense. Ruby community was a contributor.
koonsoloalmost 4 years ago
Wow, my article is on hacker news! :) Enjoy
AtNightWeCodealmost 4 years ago
Hard to judge when you don&#x27;t have the context. But from this it seems like the interviewers were plain wrong.
mcguirealmost 4 years ago
But now you&#x27;re working for someone who knows less than you do, and is willing to punish you for that. Yay.
newobjalmost 4 years ago
This is a shit interview question anyway.
gxsalmost 4 years ago
Tangential question - can anyone recommend a good resource that goes over common architecture patterns?
baggy_troughalmost 4 years ago
Very important skill, much like not overthinking a test question.
lowercase1almost 4 years ago
Them: Please randomize a list in O(n) time.<p>Me: so you just want me to generate O(n lg n) bits of entropy in O(n) time? That&#x27;s not possible.
评论 #27891552 未加载
评论 #27886859 未加载
phibzalmost 4 years ago
The &quot;right&quot; answer in this context is the one that gets you the job, not the most technically and factually correct.
123123as1asd12almost 4 years ago
Id rather not work under a moron.
rohanphadtealmost 4 years ago
Quick summary of the story - TLDR; sometimes the right answer depends on your interviewing circumstances.<p>&gt; When I arrived at the interview, there were 2 other guys present. One would be my direct team lead, which was also the technical lead, and the other was his manager.<p>&gt; Then they moved on to a follow up question: “How does this architecture relate to the model-view-controller pattern?”. I knew this question was really tricky, because I know a lot of people make the mistake of directly linking the tiers to each of the model-view-controller.<p>&gt; Normally, I would have given the correct answer, and have a nice discussion if they considered it wrong. But the problem was, that this guys manager was sitting next to him. If he didn’t know, I would totally humiliate him in front of his boss. So either he would stick to his guns and refuse the correctness of my answer, to save face. Or he needed to agree that he was wrong, and lose face. Anyway, there was only 1 proper solution to this: I had to answer what they thought was correct.<p>&gt; The moral of the story? Job interviews are not all about your technical skills, it’s about people skills too. And this is good, because you need both in your job.
da39a3eealmost 4 years ago
The author comes across as an insufferable know-it-all.
eplanitalmost 4 years ago
He handled that gracefully, which shows very good people (&quot;soft&quot;) skills.<p>One &quot;consultant&quot; technique I use in such situations is to say the correct thing, but while giving &quot;credit&quot; to the person who was actually wrong: &quot;I think $JOE is right about $TOPIC, and what he&#x27;s saying is that &lt;proceed to making the _correct_ case&gt;&quot;. I find that many will be persuaded and are more willing to accept the correction in this form, as they&#x27;re not being told that they&#x27;re wrong. If they still don&#x27;t agree, then I can ratchet up to more pointed criticism: &quot;oh then I misunderstood you...but isn&#x27;t there a problem then because....&quot;; but, if you can keep bringing them in by validating at least some what of they thought, it helps.
MeinBlutIstBlaualmost 4 years ago
Why would you want to work for a supervisor who is so prideful they can&#x27;t stand the fact that there are other people who know more than them? Aside from needing an income of course.
评论 #27965243 未加载
shadowlightalmost 4 years ago
I&#x27;ve hit this as well. There are a number of deep technical falsehoods believed by the industry that are very widespread. These falsehoods are so ingrained that pushing against these falsehoods even rationally or logically could land you in hot water. The one that affected me personally has to do with Quaternions.<p>At the company where I work we convert all of our data to quaternions when transmitting over the wire or for data storage. In the gaming and robotics industry there is a misguided assumption that quaternions are always better, and at my company we force this assumption onto all engineers by using typed protobufs. We can never send EUler angles over the wire, we must always send quaternions.<p>This is actually fundamentally bad. Like it&#x27;s not even a design question. It is by logic worse to store things as quaternions. Quaternions are only good for certain transformation calculations. They are not as good for data transmission or storage. So I made a proposal to offer alternatives but I was shot down even by the CEO (who took the time to personally make his own viewpoint known on the entire slack thread out of nowhere) because all of these people buy into the misguided notion that quaternions are always better.<p>The person I was talking to about this was so hell bent on believing that quaternions are better that if I pressed the point further I could start an all out conflict that could get me fired so I had to stop and pretend (aka lie) to agree.<p>The fact of the matter is, Quaternions are a higher entropy form of storage for rotation and orientation. You lose information when converting something to a quaternion and this is good for calculation but definitively bad when you choose to use quaternions for data storage or transmission. If you transmit or store things as Euler angles you CAN always convert it to a quaternion. The conversion is trivial and mostly a non-issue.<p>The problem is that once you have a quaternion you can&#x27;t go back to Euler Angles without additional assumptions. The back conversion algorithm is not One to One. So by forcing this format as storage you are limiting the future productivity of this data by keeping it in a higher entropy form.<p>Each quaternion is realized by TWO euler angles within a 360 range of motion across 3 axis-es. When you convert something to a quaternion you cannot go backwards. You cannot find the original euler angle where the quaternion came from because you HAVE two options to choose from.<p>For gaming this problem is not so apparent because you&#x27;re in a virtual world and having everything exist in quaternions is ok because rotational orientations don&#x27;t have to be realized by actual movement or rotations. The computer simply draws the object at the required orientation.<p>But real world rotations HAVE to be realized by euler angles. You cannot Orient something in reality without actually turning it about an axis. Gimbal lock cannot be erased in the real world and even the Apollo module suffered from this phenomenon despite the fact that the engineers knew about quaternions. People at my company seem to think the issue disappears once you switch everything to quaternions.<p>Thus for something as simple as having one robot gimbal imitate another... if the communication protocol between them both was exclusively quaternions (with no additional assumptions) the imitating robot can choose an alternative euler angle to project it&#x27;s motion onto and the two robots WILL not be be in sync. Total information Loss.<p>So all in all this proposal never went through. I was shut down by stubbornness and over confidence by &quot;robotics experts&quot; who&#x27;ve been brainwashed by false dogma. The people I was proposing this to told me that I should trust the extensive experience their backgrounds of building self driving cars at uber and building robots at CMU. Yeah I respect that but can you not see the literal logic of the issue here? I don&#x27;t respect people who aren&#x27;t able to see logic.<p>The company culture is just part of the story, these falsehoods are likely held industry wide and you&#x27;d get these issues everywhere. False Dogma is powerful. Try telling a christian that walking on water is ludicrous when looking at it logically. It&#x27;s same issue here. Peoples&#x27; brains will fight logic if it goes against their beliefs.<p>Very likely I might even get replies to this post who have so much confidence in quaternions that they&#x27;ll come up with a retort that doesn&#x27;t fully understand the problem I illustrated here.