7 ms·
At my company our engineers defined the following process. First, we defined the skills we're looking for i.e. Programming / SysAdmin / Cybersecurity. Our pro
by altharaz 9y ago
At my company our engineers defined the following process.
First, we defined the skills we're looking for i.e. Programming / SysAdmin / Cybersecurity.
Our process goes as follows:
1. We ask candidates to answer a quizz by phone, with questions in the 3 chosen fields. Duration = 1h.
2. We ask candidates to solve remotely with Google Docs 5 real-world problems asking for skills in Algorithmics, Data Modeling, Object-Oriented Programming, Software Design, and Parsing. We also add a bonus question like "how many people can get into a train". Duration = 1h.
3. We have a HR meeting at our office with a non-technical member of the team. Duration = 1h.
The quizz helps us to remove of our list the candidates that do not have the technical culture we're looking for, and to see what they already have worked on.
The 5 problems helps us to see how the candidates can code, the bonus question helps us to see how they approach new issues and manage their stress.
The final HR meeting is very typical: we try to see if we would be happy to take a 6 hours long flight with the candidate.
Most candidates do not go through first step, and roughly half on them do not go through second step.
This simple process definitely helped us to reduce the time spent on hiring and to make the really good candidates shine.
- Dzugaru 9y ago> how many people can get into a train Can't speak for everyone, but I'd turn away and walked out the instant I hear this or similar BS (which is totally unrelated to "approaching new problems" or "stress management" in programming at least)
- deleted 9y ago[deleted]
- supran 9y agoYou're too forgiving. I turn down interviews when they list "linked lists, hashing, breadth/depth first search" on their study guide. I've never had to write a linked list EVER in my career, don't fucking bother me with that shit. Also, if the position is in a language where linked lists would be stupid (i.e. python), then I definitely reject that company. I can explain what everyone of them is, and why you'd want to use them. But I've never written any one of them and I'm not going to spend the time to memorize something I can look up in my CLR book or stackoverflow. It's embarrassing that tech interviewing is still stuck in a 1990s mindset.
- emerongi 9y agoI've written at least 5 linked lists in the past year. They're quite useful.
- Apocryphon 9y agoWhat were you using them for?
- deleted 9y ago[deleted]
- mickg10 9y agoNot sure about GP, but very recently, an open-addressing hashtable that could be traversed in both reverse modification and reverse insertion time order. There are actually some interesting subtleties when doing this for open-addressing hashtables (i.e., entries (and pointers to them) move around when the table rehashes).
- stevenwoo 9y agoFive different implementations of linked lists?
- emerongi 9y agoYes. To be fair, this is the first time in my life I can clearly remember implementing a number of linked lists. I'm pretty sure my lifetime total is not much greater than 5.
- DonaldFisk 9y ago(Singly linked) lists have many advantages (e.g. useful operations on them are side-effect free), but whether they should be used depends upon which problems you solve and which languages you use. It's unsurprising they're used all the time in Lisp, and functional programming languages generally. I'd advise against their use in C or other languages without garbage collectors. They're rarely needed in languages (such as Python and Java) which have vectors and hash tables as basic data structures. I've never found a need for doubly linked lists in any language, for any problem. So you'll either have them built in to the language you'll be using, the company's using the wrong language, or you'll be tackling problems where they're not really needed.
- deleted 9y ago[deleted]
- kafkaesq 9y agoWe ask candidates to solve remotely with Google Docs Google Docs are horrible coding environments. In fact, anything besides the candidate's native editing environment makes for an obtuse and off-putting experience, all around. I mean, yeah, the candidate can suck it up and make it work if they felt they "had" to. But on balance it's just unnecessary mental gymnastics -- and completely avoidable source of awkwardness and all around unpleasantness in the interview experience.
- deathanatos 9y ago> In fact, anything besides the candidate's native editing environment makes for an obtuse and off-putting experience, all around. And how would I use that, as an interviewer, in a phone screen, realistically? (I don't believe that I could — reliably — get them into a Google Hangout, for example.) (We used https://coderpad.io/ https://coderpad.io/ ; it was alright, and certainly better than Google Docs.)
- bogomipz 9y ago>"We ask candidates to answer a quizz by phone, with questions in the 3 chosen fields. Duration = 1h." You ask trivia questions for a whole hour? That seems pretty gratuitous. I think most people would tire of that after about 15 minutes. >"We also add a bonus question like "how many people can get into a train". Duration = 1h." You ask Fermi questions? Between an hour of trivia questions and one "bonus" Fermi question your process sounds pretty horrible to me. Interviewing candidates is a two way street. There are many candidates who would not want to work for a company that thought asking a candidate an hours worth of trivia questions and a bonus Fermi question was acceptable. For many this would be a red flag.
- solidr53 9y agoAre you serious?
- citizens 9y agoHow did the engineers who designed that process get hired? What was wrong with the process that landed you your existing team? Lastly...why are the engineers coming up with the hiring process anyway? Is this common in other professions?