IMHO, I feel like people who are not up to it don't agree with coding interviews. Also, in my experience, the employers that didn't check coding skills at the interview had the worst engineers I met (surprise!). Now I can see why it's easy to disagree with interviews that check your algorithms 101 knowledge: that stuff is really really rarely used in real-life and you can just google it if you ever need it. But! Keep…
Inverting Binary Trees Considered Harmful
191–200 of 225 posts
Re: Inverting Binary Trees Considered Harmful
#192Earlier quoted context omitted.
While that's good advice, I don't follow it. If a company doesn't have their shit together enough to coordinate an interview schedule and get the right people into the right room at the right time with my resume in their hands, ideally in their hands ahead of time, I don't want to work there. It's a basic competence test.
"It's a basic competence test." They feel the same way about you having your own resume in an interview.
Re: Inverting Binary Trees Considered Harmful
#193Earlier quoted context omitted.
I was told by someone many years ago to always take a copy of my resume with me to an interview. That advice has paid off a couple of times. These days I also keep an email draft ready to send.
While that's good advice, I don't follow it. If a company doesn't have their shit together enough to coordinate an interview schedule and get the right people into the right room at the right time with my resume in their hands, ideally in their hands ahead of time, I don't want to work there. It's a basic competence test.
Re: Inverting Binary Trees Considered Harmful
#194Earlier quoted context omitted.
One reason bringing your resume is a good idea is because scumbag recruiters sometimes modify your resume, inserting the right keywords to get you the interview in the first place.
I find if you use PDFs it happens significantly less
Re: Inverting Binary Trees Considered Harmful
#195Yeah I remember the Google interview a few years back. I did it mostly for fun, and because their recruiters kept contacting me. So there we were, building a tree out of a forest of existing smaller trees or such. That was after they couldn't find my resume, and used a 5 year old one they found some place. They seemed annoyed and tired. By that time I felt nothing short of me proving P!=NP would have help changed the…
They don't start looking at your resume or asking what you have been up to until you pass the technical interviews. Which means that if you resume or experience isn't up to snuff, the interviews are a complete waste of time for you because of a decision that takes them five minutes to make.
Re: Inverting Binary Trees Considered Harmful
#196I'll be the contrarian and claim that inverting a binary tree is a perfectly reasonable interview question. (Although not anymore now that it's famous). It combines basic background knowledge (what is a binary tree and how is it structured?), ability to reason logically (binary tree algorithms are often recursive, "inverting" a tree with no children is a no-op, otherwise you want to swap the children, and the childre…
In your daily programming activities, how many times do you have to implement a binary tree? I'm genuinely interested.
At my day job, I did have to write a CSV parser once. Once. Don't quite remember why using an existing solution wasn't an option. I think the input wasn't exactly proper CSV format, but was very similar.
Re: Inverting Binary Trees Considered Harmful
#197Twitter interview went sideways, I got one shot with a question (that I won't share) that required finding Hamiltonian path in a tree, over the phone of course. I am not sure what is the mindset of the interviewer. I am hiring engineers (systems, software and security) in the last 5 years, got trained up on recruiting by Amazon, so I would say I have a pretty good understanding on hiring. The right approach with thes…
>I got one shot with a question (that I won't share) that required finding Hamiltonian path in a tree I'm guessing this is not the complete question, rigth? Because you can only find a Hamiltonian path if the tree itself is a path.
Re: Inverting Binary Trees Considered Harmful
#198[speaking for myself only, not my employers past or present] [I am guessing this will be an unpopular opinion, so posting anonymously] I feel that interviews are essential. Every alternative I've heard seems to not work. I've tried. 0. Review their contributions to open source --a. Some brilliant people have none - they prefer to get paid for their work & not disseminate it openly for free - that does not mean they s…
For instance, I majored in math, not CS. I took some basic computer science, but much of my programming was done in math classes, sometimes informally, sometimes as part of the course itself, and sometimes as part of those optional 1-2 unit pass/fail labs.
When I first opened a data structures and algorithms book, I was slightly amused by what I'd already covered and what I hadn't. For instance, I'd written DFS and BFS code for my graph theory class in college, and I'd done a lot of the linear programming at the end of the algorithms book. Various numerical programming exercises had touched on a lotos other things, recursion, lists, and so forth. But there were gaps, and I've studied a lot on my own for them.
Now, in most fields that wouldn't be possible. You can't study something that overlaps quite a bit with law, nursing, or medicine, and then fill in the gaps on your own, demonstrate knowledge to an employer's satisfaction, and go off to work as a lawyer, nurse or physician. I think this is a pretty wonderful thing about software development, and things like the google "entrance exams" are actually part of why it is possible.
I didn't get an offer from google, and reading these threads, I'm realizing that I should have taken months, not weeks, to review. However, I didn't encounter any of the arrogance or hostility, I found that the interviewers did a good job keeping things friendly and collaborative.
That said, it's stressful. People in other fields are often kind of astounded to hear what we go through. You have nowhere to hide, you are at the whiteboard, with a pen, getting grilled technically, and you only have 45 minutes to solve the problem. You fear looking like an idiot, even if the interviewer tries to be positive. You may feel like an idiot, even if the interviewer had no intention of making you feel this way and made an effort to make sure you didn't. And of course, there are plenty of interviewers who may actually kind of enjoy making someone squirm a bit.
So while I may have a somewhat more positive view of the tech "exam" than a lot of people here, I still think something is broken here. I've discussed this a few times with people here on HN, and I honestly do think that three big interviews may be roughly equivalent to taking the bar exam. Seriously. I could have studied for several months (though like I said, I have bigger gaps to plug than a CS major probably would). I read a blog post about a guy who passed the California bar with 100 hours of study. People talk about the "grueling" three days of exams. Well, interview at google, amazon, and microsoft. Between phone interviews, in person interviews, and so forth, sure it can get to that level. Even if it falls short of "bar exam" level effort, the fact that we're starting to talk about it reasonably in the same breath shows just how much effort goes into it.
And here's the problem - it's just an interview. You get no feedback, no credential, nothing. You might do well enough to "pass" under a reasonable set of scoring criteria, but all you get is a "no hire" with very minimal information about how you did.
I've heard people say (again here on HN) that they'd happily take a bar exam for software if it meant that they could be done, for once and for all, with the never-ending series of technical exams that we have to do over and over. I'd be ok with studying three months, six, hell, even a year. Because the exam would be consistent, rigorous, and would provide me with a lasting credential. I'm just not willing to put this sort of effort into a single interview that may be decided very capriciously.
So, all in all, I see merit in these difficult technical exams (first step, let's stop calling them interviews). I think the whole thing could be handled vastly better, though.
Re: Inverting Binary Trees Considered Harmful
#199Earlier quoted context omitted.
While that's good advice, I don't follow it. If a company doesn't have their shit together enough to coordinate an interview schedule and get the right people into the right room at the right time with my resume in their hands, ideally in their hands ahead of time, I don't want to work there. It's a basic competence test.
"It's a basic competence test." They feel the same way about you having your own resume in an interview.