6 ms·
Code Interviews
- legerdemain 5y ago> It is increasingly common to use this kind of “pipeline-as-YAML” > configuration to piece together a workflow of pre-built > components 1. Some real examples of this are TFX components, > scikit-learn Pipelines, or Airflow DAGs. Airflow DAGs are Python objects, defined in Python code.
- marcinzm 5y agoThere's add-ons that let you define them in yaml. Which I find hilarious since one of the original selling points of Airflow was that the Dags aren't in XML.
- achompas 5y agoI took Adam’s point here to be that an Airflow DAG author primarily concerns themselves with the configuration of those objects, since the underlying components (Celery worker, Python execution process or K8s pod; data warehouse; RPC) have been abstracted in the form of Operators.
- marcinzm 5y ago>My task is far more life-like, That's debatable. I've never had to implement a from YAML task execution system for work. I've used them a lot but that's a very different task than writing one. In fact given how many exist writing one seems very much a bad case of NIH syndrome.
- dharmab 5y agoI suspect this article is satire
- carlosrdrz 5y agoMax Howell's tweet gets pasted on every article talking about code interviews as some kind of exemplification of the problem of whiteboard/algorithmic interviews. What some people might not know is that he reflected on that tweet two years later (3 years ago), in this Quora question: https://www.quora.com/Whats-the-logic-behind-Google-rejecting-Max-Howell-the-author-of-Homebrew-for-not-being-able-to-invert-a-binary-tree https://www.quora.com/Whats-the-logic-behind-Google-rejectin... He even explains how he actually did well in the software engineering interviews in the process.
- gallamine 5y ago“He actually did well” - how would he know that? He also wasn’t hired.
- IshKebab 5y agoIt's possible they told him but given that he admits he didn't know what a binary tree is it seems unlikely he did well at a Google coding interview, where I assume 90% of people know. > But ultimately, should Google have hired me? Yes, absolutely yes. I am often a dick, I am often difficult, I often don’t know computer science, but. BUT. I make really good things, maybe they aren't perfect, but people really like them. Surely, surely Google could have used that. Hmm so he fully admits that he made a bad package manager and is often a difficult dick. He sounds pretty arrogant too. I wouldn't have hired him. And yes it is bad (try installing an old version of something). Just because it is popular doesn't mean it is good. It only ever had one competitor (ports) and that wasn't really Mac focused. It's of no interest to Google that something bad you made happened to become popular. It's not like you can repeat that on demand. Would you hire the person that wrote Bash? Or YAML?
- falcor84 5y agoI would hire Brian Fox, if I could afford him.
- pseudalopex 5y agoMacPorts is Mac focused. People liked Homebrew because it didn't take lots of time compiling its own copies of libraries the OS had already. But MacPorts got binary packages. And Homebrew gave up using OS libraries.
- dmoy 5y agoWe can't know, but > I am often a dick, I am often difficult If that came out during interview, it could easily have sunk their packet
- gcheong 5y agoPerhaps he felt he knew it to the extent that the problems posed weren't completely foreign to him and he felt his solutions were reasonable which was possibly corroborated through either subtle bodily cues of the interviewers or direct verbal confirmation.
- yodsanklai 5y ago> a decent evaluation of junior engineers without industry experience, but it’s a common complaint among senior engineers that they have to study material that they haven’t used in years to get a job where they won’t use it. Counterpoint: some engineers with industry experience may have been working on very specific tech that doesn't readily translate to a new position. Actually, I'm sure some companies wouldn't even consider them for that reason. Big companies need some standardized way of interviewing people if they want to maintain some level of fairness. At least, algorithms and data-structures provide a common denominator.
- a_square_peg 5y agoNo. Senior engineers are expected to have different level of skills - project management, leadership, and ability to identify problems that matter, rather than blinding solving problems that are given to them. You're also not going to be able to test their ability to learn by giving tests. I'm sure most of us would fail high-school trigonometry (or spelling and grammar for that matter) if given one.
- seanmcdirmid 5y ago> I'm sure most of us would fail high-school trigonometry (or spelling and grammar for that matter) if given one. Not if we had a few weeks of prep time.
- AnimalMuppet 5y agoBut I'm not going to take a few weeks of prep time to prepare for a high-school trig test, either. I have no reason to waste my time in that way. And I have no reason to waste my time spending a few weeks prepping for a code interview, either. I am who I am. Either you want that, or you don't. I'm not going to try to spend weeks studying so I can pretend to be different than I am. (Disclaimer: I'm not looking, and I haven't been for a very long time. I've never been desperate while looking. I haven't even been unemployed while looking in over 30 years. If I were unemployed and watching the bills pile up, I might feel a whole lot less smug...)
- khazhoux 5y ago> All job interview processes are flawed. They're just flawed in different ways, and some of those flaws work to your advantage and some don't. Ways in which the flaws of interview process have helped me: * I'm very good at "conversational" interviews. I have battle scars from years in industry. Higher-ups at companies want to hear about that, and they make me strong offers. But technically, I could completely suck at my job and the discussion could sound exactly the same. * Most of my money is stock growth from my initial packages. No way I would have this $$$ from bonuses. * My title-bump came during hiring, not promotion.
- deleted 5y ago[deleted]
- ChrisMarshallNY 5y agoI won't bother with coding interviews. I consider them to be "hazing rituals"; not actual qualification assessment. I am very, very fortunate, in that I don't have to deal with them. I am not looking for work, and plan to never look for work, ever again. I have a giant portfolio[0]. It has links to 40 or so repos, with tens of thousands of lines of code, spanning decades. Just about every project can be cloned, built, and submitted to the App Store, or SPMed into your own work, in about thirty seconds. I've written stuff that is now a worldwide standard infrastructure, and the links to that work is in my portfolio, as is a blog entry, where I discuss the strategic thinking that informed its genesis. I've written dozens of articles, tutorials, and blog entries, that detail the way I think, work, document my code, evaluate and implement architectures, and work with others. Links to all that is...you guessed it...in my portfolio. There are years of checkins, so things like development velocity can be measured. My GH ID is solid green. If you aren't willing to even look at it, then we probably won't get along, and we're both better off, avoiding each other. [0] https://stackoverflow.com/story/chrismarshall https://stackoverflow.com/story/chrismarshall
- leet_thow 5y agoI'm in the same boat. Fortunate to have worked at startups that exited succefully and now in cushy corporate job. If I went out and did interviews I would just make enemies.
- ___luigi 5y agoGREAT work! I can understand why big companies use LC type of questions to assess coding skills of those who graduated recently or didn't enough experience to show their work, but I struggle to understand why many Startups adopted such way of evaluating engineers. I see many startups nowadays asking to candidates to reverse a tree, a task that doesn't reflect the daily work in a startup (where people change gears frequently). I understand that people interview to join the big company, pass a certain bar and then get matched to a team, the startup is too small to not have clarity on what skillset they are looking for.
- deleted 5y ago[deleted]
- adxl 5y agoYou sound angry, maybe you should see a therapist.
- siliconc0w 5y agoIt's also frustrating for job mobility, as you need to move jobs (or at least have offers) to get employers to pay your market rate. But in order to get offers you need to basically start a part time job studying and interviewing. If you just interview with a company you want to work for with no competing offers you will get lowballed - you might also just get rejected because companies prefer high-false positive rates and most interviewers do not get any sort of continual training, feedback, calibration or standardization. It's also unfortunately standard that your compensation doesn't keep up with your market value as companies would rather hire-in than promote internally.
- b20000 5y agowhy spend 3 months full time studying when you can spend one month full time writing code for a product you can talk about in the interview?
- blovescoffee 5y agoMany companies will reject you unless you an also pass the coding interview and that will generally require studying.
- b20000 5y agogood luck to them
- gcheong 5y agoThe problem is that however distasteful or lacking the current situation is, it’s been adopted by most large companies and is seen as standard now so nobody has any incentive to improve it and it self perpetuates akin to hazing rituals at fraternities . Google got us into the current mess with their claim to have found the only difference between good performance and bad performance at Google was the ability to do algorithmic problems. If only they published that research! Before Google was Microsoft. The only thing that would incentivize employers to change now would be engineers refusing these interviews en masse or a small company becoming an influentially big one that has a different hiring scheme altogether.
- b20000 5y agoit's just a matter of time before the workforce will be replaced by shitty engineers who all grinded leetcode and are good at that but are not capable of actually creating anything good on the job. eventually, FAANG will realize they have a problem on their hands and fire everyone and hire experienced people who have no interest in leetcode, and the cycle starts over.
- b20000 5y agothey don't need research, they had that person who became part of the hiring committee overnight and who sold them all on the magic leetcode formula and they bought it.
- bfung 5y agoAgree that 99% of the leetcode interviews are divorced from everyday coding work. However, this article goes in the wrong direction in trying to keep the LinkedList premise - how often do programmers see a raw linkedlist anyways? Directly ask coding questions from your everyday work, and skip the linkedlist stuff as 3rd level detail questions; the signal that the candidate can do the job is much higher then. Ex: here’s an API and it’s json response: write some code to parse it. Add extensions like paging, network failures, etc. Let the candidate google everything, and if your question is good, it can’t be copypasta from StackOverflow.
- b20000 5y agothat sounds like a takehome and should be paid for.
- bfung 5y agoIt’s possible to structure the question to fit 30-45min. It’ll be pretty clear what level and experience a person has in doing api’s. If the json response is already laid out, parsing json can be an independent task from the network call. The point of the interview is to see if the person can reasonably code it, it doesn’t have to be production grade.
- b20000 5y agoDOING api’s, what does that mean? leetcode interviews do not test if a person can reasonably code. they expect people to give a specific optimal solution to a specific question which you can only provide if you have solved the question before, in the way it is expected, within max 2-3 minutes. the process is broken. the moment you ask a candidate to build something you could use in your codebase you should pay them.
- 908B64B197 5y ago> There are a few questions that people like to use as punching bags. Invert a binary tree. Reverse a linked list. Perform breadth-first and/or depth-first tree traversals. Anything to do with heaps. None of these are hard. Should be pretty much covered by any good algorithm class.
- Zababa 5y agoThat may be because I'm young, but the idea of studying for a few months and get a salary that's triple of what I currently make, or double of what starts to be the high barrier in my country (France) is extremely appealing to me. I understand that I may not feel the same way in 10, 20, 30 years but until then it's a golden opportunity.
- toddm 5y agoAs a data scientist, I regularly get asked at least a subset of questions that are more suited for real software engineers. Very few interviewers get around to asking relevant things (for me/my job). My day-to-day is messing around with pandas and matplotlib, mostly, but I never get interviewed on that. It's usually brainteasers, time complexity of some algorithm, and an invariably-rigged machine learning thing I can never get right.