56 ms·
I had to give a wrong answer to get the job (2017)
- heurisko 5y ago> Anyway, there was only 1 proper solution to this: I had to answer what they thought was correct. I think it was a poor solution. There are ways to respectfully disagree. "I really think I'm right on this one. Since it's a question of facts, not opinion, we could easily verify it later." Did the author know they were hired because they didn't rock the boat, or despite of it? If I were hiring someone, I would want to know I'm hiring someone who can argue politely for what they think is right, and not see the argument in the context of "winning or losing", but in trying to find the best way forward.
- chrisseaton 5y ago> Since it's a question of facts Is it? I think it's an opinion. How would you empirically test if the answer was right or wrong? What's on Wikipedia is also someone's opinion, isn't it? What's in a book that Wikipedia references is again someone's opinion. If you can't write a program or other set of instructions to test it... it's an opinion. 'How does Dr Foo say that MVC maps to database-server-client?' would be a question of fact though.
- marcosdumay 5y agoWell, it's a matter of definitions. What means it's a completely useless and dumb question, but also that the majoritarian opinion on the relevant context is a fact. That said, I don't think I've seen MVC used with the same meaning twice... what makes the question even worse.
- TheOtherHobbes 5y agoMVC is like OOP - it means different things to different people in different contexts, and they often contradict each other. Apple's definition of MVC specifically contradicts the Wikipedia definition for MVC that OP gives. https://developer.apple.com/library/archive/documentation/General/Conceptual/DevPedia-CocoaCore/MVC.html https://developer.apple.com/library/archive/documentation/Ge... The current Wikipedia content on multitier vs MVC is quite vague. https://en.wikipedia.org/wiki/Multitier_architecture https://en.wikipedia.org/wiki/Multitier_architecture I think "correct" is a reach here. Stock CRUD multitier should not be confused with MVC, nor vice versa. A company that doesn't understand the differences is a Red Flag.
- rychco 5y agoThat’s entirely reasonable, but people aren’t reasonable. When ego is involved, even a polite argument may appear as a personal attack.
- brazzy 5y agoI really, really don't want to work for a manager who involves his ego in technical questions.
- ThePadawan 5y agoThat's entirely reasonable, and that's exactly why you hire engineers that are aware of this, and don't base their choices on ego. If you hiring involves ego, you're going to end up with a Challenger disaster some time down the road.
- mohbk 5y agoknowing how many people can't take disagreement well, I don't think this was a poor decision, practically you can't just trust everyone to have a good head on their shoulders, when you just want a job to survive or get your foot in the door, you can't be picky with who you work for.
- heurisko 5y agoI think the underlying assumption here, is that it is better for your job prospects to agree with something you know is wrong, in order to avoid confrontation. I don't think this should be the default recommended advice. It could just as well cost you the job, if you are interviewed by two people, with the other also knowing what his or her colleague said was wrong, and being disappointed you didn't find a way of politely disagreeing. In job interviews, I would count it as a positive if I could see that the candidate could handle disagreement. That is in my view more important than getting a rather generic technical question "correct".
- lumost 5y agoBehavioral interview questions give you more insight to this e.g. "Tell me about a time when...". In a technical interview you'd be wasting precious time determining how they present arguments. You'd also get false signal from interviewees who are uncomfortable debating their interviewer/know that they need to progress through the question.
- Rapzid 5y agoGive them what they want and leave yourself an out: "As an analogy, perhaps one could view..." Two months later when that person runs across the wiki article: "Ah, right that's why I said as an analogy perhaps one could view it that way. I thought you knew?"
- szundi 5y agoI hope it was not Boeing ;)
- chasing 5y agoA 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.
- lumost 5y agoAt a certain point in your career, you'll start finding that the current TL you'd be joining often doesn't have the same context as you do. It can be threatening for junior leadership to onboard someone who has extra capabilities beyond what they do, and a big part of your job in these situations is to rock the boat...slowly. Bear in mind, many TLs are in their current role by virtue of having a good idea, supportive management, trust of their team and good/lucky execution. This combination of activities can easily mean that you have a great up and coming TL with ~3 years of experience. Management may be bringing in more senior talent as the upscaling product requires it, but that doesn't mean you start with the same trust, management support, ideas, or in-house knowledge as the TL. In such a situation, setting out to prove that you can outsmart the junior TL as your first contribution seems suspect... Bear in mind that often successful companies, have many inexperienced leaders due to growth.
- allo37 5y agoI was also thinking something along the line of whether you'd even want to work somewhere like that. But I guess not everyone is in a position to be so picky about their employment or maybe it would be a gateway to other opportunities.
- dijit 5y agoIronic, as I almost always interview for the opposite. I don't really care what you currently know because software development paradigms can be learned with relative ease for a motivated and intelligent individual who already knows something. So instead I: 1) Poke around their CV/Resume. Just ensuring that they have the stuff they say to a basic level (some people just spam keywords) 2) Get them to a point where they admit they don't know something. Usually this means a deep dive on something common to the role I'm hiring for and that they have experience in. If you're unwilling to say you don't know something I usually reject the candidate. I know interviews are stressful and you want to impress your interviewer, but if you're willing to try to bullshit me at an interview then you're willing to bullshit me in a post-mortem, and I can't have that. Honesty - Intelligence - Experience in that order, always.
- laurieg 5y ago> 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: This is a great cold reading technique that works in magic tricks too. You have some trick where someone needs to pick from 10 cards. And your patter goes something like "Picture the card in your mind. Ace of hearts. Ace of hearts" If they give a big reaction then you've found their card and performed a miracle. If not then you just continue "Of course, that's just an example..." and continue the patter throwing out other hints. Of course, it's tough to make this your only trick but it can really elevate a good trick to amazing. Great example at 1.50 here: https://www.youtube.com/watch?v=QI5-NDiY7IM https://www.youtube.com/watch?v=QI5-NDiY7IM
- chrisseaton 5y ago> "Picture the card in your mind. Ace of hearts. Ace of hearts" If they give a big reaction then you've found their card and performed a miracle. If not then you just continue "Of course, that's just an example..." and continue the patter throwing out other hints Wouldn't you have to do this on average five times to get the right one? Wouldn't it be a bit suspicious giving five example cards before arriving at the right one?
- nsomaru 5y agoThat’s not how it works. Usually you try to force a card with a high percentage success but if it fails you will fall back to another way of revealing the card
- itronitron 5y agoYeah, it's all about card control. I used to work with someone who could shuffle and unshuffle a deck, and place any card into the deck and pull it back out (after one or more shuffles.) Takes years of practice.
- 5y ago
- Radim 5y agoHeh. Happens all the time with tests and questionnaires, the choice is always frustrating: * "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?", or * "Is the author just not very good with logic / not thinking this through?" I go with the latter in "soft social" contexts. Never regretted it yet. 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 "serious" psy-test was exactly as "robust" you'd expect from the field of psychology. I answered the way I figured the test author construed the questions (= what they likely meant to ask), not what they actually asked. Easy pass.
- mewpmewp2 5y agoSame with some driving exam questions I have had. For example worded something like that, "does driving faster in some sections of the journey affect your planned time of arrival?" I don't remember if the wording was specifically like this, but it was something that to me logically obvious answer is "yes", but the correct answer and what they expect is "no", to show that you are a reasonable driver who won't speed unnecessarily. And I think throughout the driving exam there were several questions like that. This type of thing really annoys me. EDIT: I found the actual question - although I still had to translate it - and I think I was giving the question a benefit of the doubt from my memory, with the term "planned" as I had written here, the actual way the question was setup was following: What affects the duration of a planned journey? a) Length of the journey. b) Maximum speed in few lone sections of the journey. It uses checkboxes, so you can check both. They expect you to check only a), but b) is in my view also logically correct answer as if at any section even if it's shorter than 1 metres, if your max speed nears 0, duration of your journey will reach infinity. But it is worded in such a way that most people will get the hint that B) should not be checked.
- nvilcins 5y agoWow those sound like such badly designed questions. What country is this?
- kevinmgranger 5y agoModel View Controller doesn'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's not a useful term anymore.
- useerup 5y agoIt meant something before Rails bastardized it. Until then (and thanks to Smalltalk) it was a composite UI design pattern combining observable and mediator patterns. It was also a recursive pattern, in which the "editor" could itself be a model-view-controller. Rails designers completely misunderstood it (or deliberately ignored it) and simply reused the terms for something that was only marginally similar, not recursive and was not inherently "active". Other frameworks adopted Rails' terminology and now we are left with the original pattern having been completely forgotten.
- don-code 5y agoI was once in this position, but decided to continue through with the "right" 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. 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.
- hitekker 5y agoI’ve seen people go through the pipeline with “no hires” from interviewers because of small differences of opinion. In your case, I’d wager that the disagreeing interviewers feedback may have just been discarded.
- meowface 5y agoThey didn't fully clarify what kind of feedback the interviewer likely ended up giving in the end, though. I'd be curious to know if after they Googled it the interviewer acknowledged he was wrong and the interviewee was right. (I think they're kind of implying that, but it's unclear.)
- don-code 5y agoLate but, for the record, I did get positive feedback from that interview, and the interviewer admitted his mental model was wrong.
- lumost 5y agoThis is a good lesson in why LC style interviews are so popular. There are generally only one or two correct/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/correct solution? The edge cases/traps are likewise known to the interviewers for quick calibration. The alternatives I've see boil down to these trivia style interviews which come down to simply memorizing answers the interviewer deemed important/correct. The most rediculous cases include obscura such as "what would you do if [X debugging tool] stalled [Y application process?" or "what would you do if you saw a server with high IO time?" 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/severity/solution, but you simply can't have back and forth in an interview situation. The starting impression will always devolve towards "this person doesn't know what they are talking about".
- tomerv 5y agoCan'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'm going to work for, and especially my future colleagues. I would probably try to give a full answer, such as "there's a widely-held concept X, but my understanding is that this is not completely correct, and in fact a better model is Y." A technical lead that can't work with an answer like that is one I probably don't want to work with.
- unbalancedevh 5y agoAnd giving a response like this is still a good indication of people skills -- Do you know how to present a controversial opinion in a way that encourages people to accept it, or do you ram it down people's throats?
- kevstev 5y agoYeah I think this is way overblown- The way to approach this is "Well typically MVC is presented as such and people think its represented in typical architectures as blah blah blah, but from an actual theory perspective what actually happens is that blah blah blah..." You cover both bases, give the blogspam answer that most view is the "right" one, but also show that you have a much deeper understanding. My favorite question when interviewing node.js candidates was around this type of ambiguity- "Is node.js single threaded or multithreaded?" and most would immediately shout back "single threaded!" but the reality is that its a bit more complicated than that, its a single threaded event loop backed by a thread pool, and I wouldn't ever hold a "single threaded!" answer against them, but start to ask leading questions as to what happens when we have say 5 requests all come in more or less at the same time to see if they really understood how things work. And the point is not to gotcha! them, its just to start a discussion- though if they reply back "well its complicated..." then I know they probably are already there. In the context of MVC though, I feel this is really overly pedantic. MVC is an idea that is never actually implemented in purity, and understanding the basic idea is all that is really needed, outside of maybe very specific roles implementing web frameworks.
- tyingq 5y agoThis isn't a great example to me. I doubt the interviewers would disagree that the actual code in MVC runs at the "application tier". 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. Though all moot to me since there's very little real world pure MVC or pure "3-tier" anyway. For good reason.
- treis 5y agoSeconded. What they're calling the right answer is the pedantic answer.
- typon 5y agoDisagree. The difference is fundamental and if you don't know it you are going to be stuck with a false understanding of the framework you're working with - and you will likely end up trying to shove bad abstractions into places where they don't belong, resulting in an unmaintainable mess of code. I have seen this happen in a lot of codebases where people fundamentally misunderstand the abstractions they're building on top of.
- tyingq 5y agoI disagree with this. If you believe that one thing "3 tier" means is that the client doesn't interact directly with a database, as the old fat-client -> database model did, then "MVC" was one pattern to accomplish that. So, to me, there is some relationship. Enough of one to have a interview discussion about it. I do agree that they aren't the same thing, but they are pretty clearly related to me. The interview question was “How does this architecture relate to the model-view-controller pattern?”
- raducu 5y agoThe model's state is not the same thing as the model and even though it's 99% the case, the model in MVC should not be an anemic model.
- taneq 5y agoI guess the real question is what Koen's goal was. Was it to be hired for this particular job? Or was it to get a technically satisfying job? Personally I'd find it very difficult to knowingly give a wrong answer to a client or potential employer, even if it's clearly the one they want. After all, they're hiring me to find the right answer for them, not to agree with them. That's just me though.
- cryptica 5y agoI don't like this kind of interview question because it's all about subjective terminology and superficial knowledge and not about logic or reasoning. The author is right, the MVC pattern can be considered from many different angles. It'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. I wouldn't want to work for a company with such a rigid view of software development. It's a sign of seniority when you notice inconsistencies with terminology. For example, I know some senior developers who had totally different ideas about what is 'unit testing' versus 'integration testing'. Both are valid views because the terminology is still currently ambiguous. 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're testing more than 1 class so it should be called 'integration test', other developers will claim that it'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/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's wrong to criticize people for choosing a definition which doesn't match your own. Software development doesn'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.
- blacktriangle 5y agoIts not even superficial knowledge, it's overloaded terminology. MVC as originally formulated came out of Smalltalk and looked more like what we would call MVVM today with smaller controllers. Apple took MVC with iOS and moved it to the opposite extreme with their god-controller objects that knew everything and did everything. Meanwhile what web developers think of as MVC is really the JSP Model-2 architecture where the controller is the entry point to the system which is responsible for coordinating with the models and views to generate a response, where in traditional thick client GUI MVC the view layer is the entry point into the system and the controller sits between the views and the model. Point being, "What is MVC?" is a very expansive question and I'd be very wary of working for any developer who thought there was one right answer to it.
- cortexio 5y agoif i had to give a wrong answer in order to get a job, i would just take another job. I just cant work with close minded people. I can for a while, but not for years. It drains your soul. I also hate questions that ask you to explain the meaning of a word. I mean, i have no idea what 3 tier arch is. Yet, after looking it up, it's just frontend, backend, datastorage... i know everything about those things.. but the question makes it look like i dont know any of them =/ Personally, i would label this as a failure of the interviewer, but sadly, that's not how reality works.
- everyone 5y agoSo they took the job instead of noping the fuck outta there?
- MeinBlutIstBlau 5y agoWhy would you want to work for a supervisor who is so prideful they can't stand the fact that there are other people who know more than them? Aside from needing an income of course.
- CRConrad 5y agoYeah well, that's a pretty big thing to put aside just like that, isn't it?
- city41 5y agoI don't feel this particular example is very strong since MVC is a bit of a loose/spongy term, especially nowadays. But I've been in interviews - on both sides of the table - where the interviewer is just outright incorrect. On several occasions I'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'm sure I'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.
- specialist 5y agoThe only way to win the MVC debate is to not play. No other topic in our design pattern study group would incite such heated debates. Any more, any time someone refers to MVC, non ironically, I just mentally check out. Bozo bit style.
- ChrisMarshallNY 5y agoGood post. Humans are important (and also illogical). If we are to work in a team, then we definitely need to factor humans into the equation. 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. I was talking to a guy a couple of days ago, about a job he quit after two days. 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. During the interview, this same manager was a font of friendliness. But on the floor, he was a tyrant.
- zabzonk 5y agoIn my experience, being "right" is no bar to getting the job. In one case where I was going for a C++ expert job, I got asked a question (that I can'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. In another case, I was asked something complicated about "const" 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'd read up on it after. IMHO, telling the truth about technical matters is always best; I might fib a bit about other things.
- bitwize 5y agoYour experience is not universal. I've been passed over for a job because I did not recite the right buzzwords (framework names, etc.). Your job in an interview is to please the person across the table from you. Some interviewers are looking for a sharp technical mind unafraid to challenge them. Others view any challenge to what they think is right as a threat.
- zabzonk 5y ago> Some interviewers are looking for a sharp technical mind unafraid to challenge them. And people like that are those you want to work with. > Others view any challenge to what they think is right as a threat. And those you don't.
- deleted 5y ago[deleted]
- emeraldd 5y agoIt get's tricky with ambiguous subjects. If there is a concrete correct answer then yes, give that stick to your guns. If there isn't and the issue comes down to opinion and interpretation ... things get dicy ...
- 5y ago
- belter 5y agoIn 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 "persona non grata" for the rest of your career... "One Hacker Way Rational alternative of Agile - Erik Meijer" https://youtu.be/2u0sNRO-QKQ https://youtu.be/2u0sNRO-QKQ Nowadays a Developer has to act a little bit like in this scene from Good Will Hunting. Make yourself stupid...you will be hired. https://youtu.be/UpL3ncoK99U https://youtu.be/UpL3ncoK99U
- Jtsummers 5y ago> try to get a job after answering what you really think about Scrum. That's providing an opinion, a very perilous thing. Scrum can work, and it can also fail spectacularly. Often it just presses forward as well as any other process. By saying, "Scrum is awful" you're positioning yourself against the current trend in many businesses (similarly saying that about DevOps in many places, or DevSecOps if you go to the US gov't or DoD contractor). And since the value of Scrum is so dependent on the people doing the work and how they actually run things there's no universal statement that can be made about it anyways. So don't, qualify it: I've seen Scrum at a past employer where they insisted on only code-based stories in each Sprint which led to massive technical debt, and eventually the project came to an incredible slowdown as they paid no attention to refactoring or other cleanup tasks until after they were bit by it. If the stories are a mix of maintenance and development stories then it seems to be more successful. Such a statement is hard to dispute (it's about personal experience) and is non-confrontational (you're not entirely dismissing Scrum but you're not endorsing it either, only offering insight into what seems to be a problem feature and a potential solution). You aren't making yourself stupid, but you're opening up a potential discussion. If the Scrum Master is present you can get into a discussion about their specific process as implemented in their organization. That can give you more useful insight than saying something negative as if it's a universal truth, when it's not.
- nicoburns 5y agoIMO the better way to do this is: "That term/phrase is actually used in a couple of different ways. Originally it referred to X But it's sometimes also used to mean Y"
- nkingsy 5y agoThe headline feels wrong, as the author started by laying out their assumptions, and revised after more or less getting their question answered. One could just as easily form this as a question. “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?” In either case, asking questions before answering is something any good interviewer should be looking for as a positive signal. 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.
- timmg 5y agoMy first programming job interview (like 100 years ago) was a group interview. One guy asked me to write string compare in C. Not sure I did it right, but I basically walked the two char* pointers looking for a '0' or a mismatch. The guy asking the question said, "No, first you should compare the string lengths -- since if they have a different length they will be different." I was nervous, but I thought he was wrong. I said, "Well, to get the length you need to walk both strings, so that isn't faster." He got annoyed and said, "They have optimized functions for that!" I didn't argue. Needless to say, I didn't get the job :)
- dekhn 5y agoModern strcmp and strlen both contain optimizations based on modern hardwarae, and I believe strlen can be faster than strcmp, but that's overoptimizing for performance.
- crispyambulance 5y agoThis 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). 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're either being radically honest or awkwardly trying to second-guess what the interviewer wants to hear. The best thing you one can do is to practice. Interviewing is a skill (for both sides), it doesn't come naturally to most folks.
- emeraldd 5y agoMVC is such an overloaded term ... I don't think I've seen behavioral equivalence between any two implementations/frameworks in any language I've dealt with. As always, the devil is in the details. So going much further than "the model deals with data (either connected or unconnected), the controller usually deals with behavior, and the view usually deals with presentation" it'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/send events (i.e. something like a model in Swing)? Etc ... It get's complicated fast if you want to discuss more than very abstract generalities.
- Rd6n6 5y agoMvc 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. Architecture is more about deciding what direction your dependencies go and where your hard boundaries go https://youtu.be/o_TH-Y78tt4 https://youtu.be/o_TH-Y78tt4 (approx 27 mins in)
- jmull 5y agoReading 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. Not to mention, the second answer is correct. Three-tier architecture and MVC don't have to be exactly the same to be related and have major elements that correspond to each other. Going deeper, if anyone is interested... it'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's from the model, that'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 <img> 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'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.
- JohnFen 5y agoIf you have to lie in an interview to get a job, that's a pretty strong sign that the job is not worth having.
- nsxwolf 5y agoOr that it's just a single bad interviewer in an otherwise great organization, or a normally good interviewer having a bad day in a great organization, or any of an infinity of possibilities. Interviews are probably mostly useless to both sides. In the end, it's sink or swim.
- JohnFen 5y agoMy comment wasn't really based on any qualities of the interviewer or company at all. It's based on the perception of the applicant. If an applicant feels it necessary to be deceptive in an interview, that's a big sign that the job is a poor match for them. It doesn't matter if the applicant's sense is justified or not. Either the applicant doesn't feel they are truly qualified for the job, and are being deceptive to avoid detection, or the applicant doesn't trust the company or people they're interviewing with. Either way, that means it's a poor fit. After all, it's not exactly rare that a person is a poor fit in a company even if the company, and the applicant, are both excellent.
- gorpomon 5y agoThere'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. > 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. 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't want a new hire bringing in. I don't need to be managed or protected, especially from my own manager. I need honest answers, not what I want to hear. I wasn't in the room, I can't read the vibes like the author did, but I'll consider the omissions here telling-- there'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.
- koonsolo 5y agoSo I worked there for a few months, and the team and team lead were awesome. But the manager and whole management team not so much. It was a very political environment where the team lead and anyone at that or higher level needed to cover their asses with emails etc. So it was actually good that I didn't raise this issue. One thing I remember at that place was that the team lead was on holiday, and the manager took over. But some release went wrong because the manager made some fault. He was able to turn this story around that the team lead messed up right before his holiday, and that he, the manager, had to step in to fix the situation. Oh boy.
- deleted 5y ago[deleted]
- havkom 5y agoGreat 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.
- KETpXDDzR 5y ago> If he didn’t know, I would totally humiliate him in front of his boss. I only know this from Indian culture. There, someone can "loose their face" if you correct them in front of others. 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't ask questions in public anymore.
- PUSH_AX 5y agoI'd rather give the correct answer, if they are going to fight the answer despite being wrong then it's a good sign I don'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.
- LinuxBender 5y agoI agree with your logic. Anecdotally I had an experience that proves your point. The ASVAB [1] test had about a dozen incorrect questions. I brought this to their attention and was told to pick the least wrong answer. This was exactly the mind-set I dealt with my entire time in the military. Incorrect questions meaning that either all the answers were correct or incorrect based on the question [1] - https://www.todaysmilitary.com/joining-eligibility/asvab-test https://www.todaysmilitary.com/joining-eligibility/asvab-tes...
- fogof 5y agoOne thing this reminds me of is the use of "Compute the nth Fibonacci number" 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. [1] : https://math.stackexchange.com/a/867404/165144 https://math.stackexchange.com/a/867404/165144
- bialpio 5y agoIs it really sublinear though? The data that the algorithm accepts is a number n, the size of the data is thus m=log(n), so the algorithm runs in O(m) time -> linear in terms of data size. I vaguely recall there was some nuisance related to this (pseudopolynomial algorithms ring a bell), but haven't interviewed in a while so may be misremembering it.
- Jtsummers 5y agoIt is sublinear, n is the nth Fibonacci number, or the size of the series up to the desired value. The standard (non-naive) algorithm is linear with respect to n. The matrix version makes use of fast exponentiation which is log(n), using the same n as before the target Fibonacci number.
- bialpio 5y agolog(n) is ok. Sublinear with respect to n is also ok. "Sublinear" on its own is not, at least if my understanding is correct (sublinear relative to what?), although I can see that it can be a common shortcut to make.
- Jtsummers 5y agoAll the necessary information to answer your question is in the original comment. They're talking about computing the nth Fibonacci number and say that the matrix exponentiation version is O(log(n)). Unless you think they're using n to represent two (potentially) different things, there is little room for confusion. "sublinear" refers back to that O(log(n)) algorithm.
- blunte 5y agoDo 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.
- eplanit 5y agoHe handled that gracefully, which shows very good people ("soft") skills. One "consultant" technique I use in such situations is to say the correct thing, but while giving "credit" to the person who was actually wrong: "I think $JOE is right about $TOPIC, and what he's saying is that <proceed to making the _correct_ case>". I find that many will be persuaded and are more willing to accept the correction in this form, as they're not being told that they're wrong. If they still don't agree, then I can ratchet up to more pointed criticism: "oh then I misunderstood you...but isn't there a problem then because...."; but, if you can keep bringing them in by validating at least some what of they thought, it helps.
- newobj 5y agoThis is a shit interview question anyway.
- chaps 5y agoHah, I'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. I did not get a callback.
- ryandrake 5y agoThis reminds me of a post that made the rounds here a few years ago: Google's Director of Engineering Hiring Test[1]. "Recruiter: that's not the answer I have on my sheet of paper" 1: http://www.gwan.com/blog/20160405.html http://www.gwan.com/blog/20160405.html
- jerzyt 5y agoAt 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. Now I wonder if it was designed to prevent this specific scenario.
- SpicyLemonZest 5y agoThey may have a different answer, but the explanation I've gotten for one-on-one interviews is that it prevents the "grilled by a panel" kind of feeling. (I wouldn't know since I've never been in a panel interview.)
- munificent 5y agoI bombed an interview at a game company because I gave a right answer that I couldn't get them to understand. I don'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'd use a dynamic array because those have constant time when averaged over a series of appends. I don't know if I remembered the term "amortized complexity" 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 some 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't know what the hell I was talking about. I'm pretty sure that was the point where they decided to pass on me. But now I'm a senior software engineer at Google and I just finished writing a textbook that explains dynamic arrays including their amortized analysis, so joke's on them.
- chaps 5y agoJust a thought -- gaming is latency sensitive. Maybe their issue with it wasn't about average performance, but that the once-in-a-while perf hit would be enough to cause a bad experience for the person playing the game? I know I'd be frustrated if there was a predictable lag spike while playing a game.
- typon 5y agoAny game engine design worth its salt would: 1. Probably not used linked lists (contiguous layout means better cache efficiency) 2. Would try to understand their data requirements and allocate memory up front as much as possible - doing a similar amortized analysis the OP is suggesting rather than a generic "always have O(1) insertion" at the cost of using an inferior data structure (a linked list)
- BrS96bVxXBLzf5B 5y agoAny game engine architect worth her salt would know to not speak so absolutely about cache coherency, and that if you're dealing with a use-case where iteration is massively infrequent but random insertions and removals are likely, you could be better off with the linked list :)
- the_arun 5y agoModel View Controller question is always a tricky one. My understanding of that was different from Wikipedia explanation. With this "not one perfect answer" mindset, I wonder, whether software engineering is close to art or science?
- im_down_w_otp 5y agoThe 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's time. Especially that of the company doing the hiring. A whole separate matter is the use of what amounts to a technical glossary being used as an evaluation criteria.
- tester756 5y agoThat's the one thing I hate about web (backend) development in languages like java, c# and so on There's GIAAAAANT focus on patterns, architecture, patterns once again and even more talk/discussions about it, yet even people with years of experience get stuff wrong. I feel like systems programming is simpler in that matter.
- oeiiooeieo 5y agoI 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't like a recent-college-grad schooling him on the dangers of assuming integer type sizes. I don't regret it. =)
- silentsea90 5y agoNot 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't know better and was fixated on the 1st solution and didn't see a problem with it. Always a bit frustrating when this happens and I chose to stick with what was the "right" answer without a fuss.
- kasajian 5y agoI think a lot of people have had the experience of giving the right answer and have the interviewer believe it's wrong, whether they are wrong or the interviewee didn't explain it well enough. I've done both. In one case, I make a flippant comment about how you don'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, "I know where our bottlenecks are". Oops.
- gxs 5y agoTangential question - can anyone recommend a good resource that goes over common architecture patterns?
- miki123211 5y ago> But then I saw him frowning, and so knew this was not the answer the was expecting. This is why, as a blind person, I'm fundamentally screwed when looking for a job. I suspect situations like this contribute greatly to the 70% unemployment rate in the blind community.
- grouphugs 5y agoand you fucked yourself over in the process by continuing to enable this poorly constructed and worthless genocidal system, fucking idiot
- yawaworht1978 5y agoYes, depending if you'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. I have found it'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. For example, if it's something like a high street bank, don't mess around, these are highly political institutions, similar can be said for large, established companies. Sometimes, a wizard is required, sometimes a yes person is required. It's good if you know some hr people personally as friends, listen to their stories.
- yobbo 5y agoThis article is pointing out that interviewing/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 "lording" an implicit reward, and thus will make sure they get they what they want. Some consider it a hazing ritual. Noting how many comments here are of the form "this is what /I/ would accept" or "what /I/ usually want out of /them/". And the point was specifically how interviewers insert their personal issues into the questions and make others dance.
- hitekker 5y agoThis answer is insightful and matches my understanding. The article demonstrates an interviewee skillfully maneuvering around their interviewers. It undermines the dominance display which, judging by the comment section, more than a few folks enjoy but also don't want to admit to enjoying. I'll go a step further and say the desire for dominance in this scenario stems less from avarice and more from insecurity. A new face who who does their job too well, and knows things that the interviewer does not, is someone who can replace the interviewer.
- rohanphadte 5y agoQuick summary of the story - TLDR; sometimes the right answer depends on your interviewing circumstances. > 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. > 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. > 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. > 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.
- waffletower 5y agoI 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't those levying judgement during an interview be open to self-reflection? Can't an engineer be celebrated for being capable of learning something new in front of their manager? Shouldn't a manager be capable of understanding their employees are human? Shouldn't those involved in an interview process understand that architecture is far more complex than the cookie cutter representations some use to simplify it?
- mattcdrake 5y agoI have had two engineers in the last few weeks tell me that my (correct) interview answers were wrong. It's extremely frustrating feeling to be already stressed from an interview and then deal with this on top. 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'm not sure if this was poor communication on my part (definitely possible!) but I felt helpless. Still, I don't think I'd be able to intentionally say an incorrect answer just to get the job.
- dmcginty 5y agoI was in a job interview several years ago and I was given the following prompt: "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." My initial reaction was to say "I would use a GIS library/API", 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'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't work as they're spherical coordinates, not planar, and lines of longitude aren'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'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't get a call back and I'm still frustrated about that interview ~3 years later, but I'm also glad that I stood my ground rather than give an incorrect answer.
- joemi 5y agoI would have just as stubborn about the spherical-to-planar issue. IMO it's easy to illustrate by pointing out an extreme example: two longitude lines can be feet apart near the poles (ignoring the intersection aspect for simplicity) and miles apart at the equator. If someone doesn't understand that... I don't know what to say.
- ahefner 5y agoMaybe they were expecting converting to 3 dimensional Cartesian coordinates (X/Y/Z), then check that one point is inside the sphere of given radius from the other point?
- 5y ago
- baggy_trough 5y agoVery important skill, much like not overthinking a test question.
- 3minus1 5y agoWho 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.
- AtNightWeCode 5y agoHard to judge when you don't have the context. But from this it seems like the interviewers were plain wrong.
- shadowlight 5y agoI'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. 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. This is actually fundamentally bad. Like it'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. 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. 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. The problem is that once you have a quaternion you can'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. 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. For gaming this problem is not so apparent because you're in a virtual world and having everything exist in quaternions is ok because rotational orientations don't have to be realized by actual movement or rotations. The computer simply draws the object at the required orientation. 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. 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's motion onto and the two robots WILL not be be in sync. Total information Loss. So all in all this proposal never went through. I was shut down by stubbornness and over confidence by "robotics experts" who'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't respect people who aren't able to see logic. The company culture is just part of the story, these falsehoods are likely held industry wide and you'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's same issue here. Peoples' brains will fight logic if it goes against their beliefs. Very likely I might even get replies to this post who have so much confidence in quaternions that they'll come up with a retort that doesn't fully understand the problem I illustrated here.
- pcmoney 5y agoThis is a bad answer even in the contrived context in which it is given. 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…
- frugalmail 5y agoHave to say that the interview was handled masterfully. However, regarding the technical premise of the discussion. I agree that the model & view are in the middle layer, but isn't the view in the view layer? It's whole purpose is to package it up for display which includes haveing the graphical elements rendered.
- deleted 5y ago[deleted]
- cowanon22 5y agoI've found that these situations are actually quite useful from my side as a prospective employee. If the interviewers are treating this as a "gotcha" interview and it turns into a test instead of a discussion, then that's a pretty good sign that this job is not going to be a good fit for me. The best jobs I'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.
- lupire 5y ago2007 was a popular time for people trying to cram "MVC" vocabulary into the web world it made no sense. Ruby community was a contributor.
- lowercase1 5y agoThem: Please randomize a list in O(n) time. Me: so you just want me to generate O(n lg n) bits of entropy in O(n) time? That's not possible.
- momonga 5y agoI think you can do this with a Fisher-Yates shuffle (https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle), right?
- deleted 5y ago[deleted]
- phibz 5y agoThe "right" answer in this context is the one that gets you the job, not the most technically and factually correct.
- endymi0n 5y agoTo 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. Then again, I'd never ask a vanilla architecture question like the company in OP's post, as I'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't anything close to a correct answer but rather thousands. I still often go with the good old "what happens when you enter xyz.com in your browser and hit enter?", just because I can take it anywhere I want. One day, I hit my bonus question "so what happens after hitting enter and before the first request leaving your computer?" And the guy was like "well, the microswitch pulls the line of the keyboard matrix from high to low, generating a scancode that's then turned into a keycode in the controller..." 5 Minutes later we were all over his self-built keyboard and he had a job offer in hand 30 minutes later. I don't even wait for HR for the good ones. Unfortunately he got an offer in hardware, and actually I was glad for him.
- wrnr 5y agoThats my favourite answer to my favourite question
- banana_giraffe 5y agoI 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't an unreasonable question. I wrote something on a whiteboard. What followed was the most surreal discussion I'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't know how something as basic as a clock works. To this day I don't know what he really expected out of me. I wasn't surprised when I learned they didn't want to hire me. I doubt I would have wanted to work there after that interview.
- catillac 5y agoHaha amazingly there’s a chance I interviewed you, or you interviewed with my company when we were first rolling this out, or another company was also using the same question. I remember the idea was to make the analog like one of those analogs that didn’t move continuously but ticked at every sixty second interval. So it never needed to be in between minute ticks. Lots of us didn’t fully understand the question when we were giving it initially and it caused a lot of problems. I’m guessing you had the minute hand drawn as if it moved continuously since you mention seconds. Let me apologize for either myself or my company :)
- dcomp 5y agoFor the record. Most analog clocks have smooth motion for minute and hour (for the precision of the gearing). Its the second hand that ticks.
- marvin 5y agoI don't know much about clocks, but the Swiss railway clocks are by some considered a canonical example of an analog clock, and they behave the way GP describes. But all other analog clocks I've ever seen behave the way you describe. https://en.wikipedia.org/wiki/Swiss_railway_clock https://en.wikipedia.org/wiki/Swiss_railway_clock
- rcurry 5y agoDuring 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?” I couldn’t think of an answer, and then he explains “It’s quite simple - you would use dynamic_cast.” I needed the job so I just smiled and said “Oh, that’s really cool - I didn’t know about that.”
- mcguire 5y agoBut now you're working for someone who knows less than you do, and is willing to punish you for that. Yay.
- yepthatsreality 5y agoOnce had a interviewer for a startup ask their final question after they found out I performed stand-up comedy as a hobby: If SNL were to call you and offer you a job while you were working for us, would you take it? I know what they wanted me to say but I thought it was a pretty dumb question. So I said: 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. I did not get the job and I guess they were looking for someone more dishonest.
- lmilcin 5y agoJust about the same happens every time I am asked about why do we need microservices or TDD. Because if I went to say that most projects need neither I would probably never get any job.
- loudlambda 5y agoI strongly suspect that Google didn'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't occur to me during the interview to pull up Wikipedia. I'd prefer not to work somewhere which requires dishonest agreement, so it's been for the best.
- ElijahLynn 5y agoI guess. I don't think I would want to work with a technical lead who can'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 "learn". When I am interviewing, I am also interviewing the company, not just them interviewing me.
- byteface 5y agoSimilar thing happened to me in early years of dev. I decided not to take the offer if I couldn't express myself. Nowadays I'd love to disagree with someone, especially on interview.
- iainctduncan 5y agoIMHO, 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 questions. "Before I answer, can you clarify if we're talking about MVC as the term was used for Smalltalk applications or as it's used now to refer to web frameworks?" If they look at you blankly about Smalltalk, you know what kind of answer you're supposed to give. If they smile and chuckle, you get to nerd the fuck out. :-)
- _carbyau_ 5y agoMy first interviewer for a Service Desk job: 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. The answer to every "Do you know XYZ?" IT product was a meek "No". But I still got the job. 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.
- simonw 5y agoWhen we first designed Django we decided to describe it as a MTV - Model Template View - framework because we thought that the classic "controller" concept from GUI applications didn't really apply to server-side web applications. Rails took a different path: they called their Ruby application code the "controller" and their template files the "view". With the benefit of hindsight, I'm not at all confident we made the right choice. I still think we were right from a pedantic point of view, but having to spend over a decade constantly explaining that "no, in Django the view layer is a different thing from the template layer" doesn't feel to me like it added much value for all of the extra effort!
- da39a3ee 5y agoThe author comes across as an insufferable know-it-all.
- 123123as1asd12 5y agoId rather not work under a moron.
- schmichael 5y agoIf 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. Being a lead does not make you infallible or even least wrong. You must always be learning and that means often being wrong. Source: me, a lead
- koonsolo 5y agoWow, my article is on hacker news! :) Enjoy