4 ms·
A three-hour test is above what I'd consider acceptable for most potential employers. I can talk with you a bit, but if you want me to come in and do work for h
by PeterisP 3y ago
A three-hour test is above what I'd consider acceptable for most potential employers. I can talk with you a bit, but if you want me to come in and do work for half a day, I'm going to refuse, I've got actual paid work to do.
- jonathankoren 3y agoBro. Most interview panels are more than 3 hours. If you're getting a multihour test, it's literally the only interview in the day.
- PeterisP 3y agoI've never had such a panel interview in my quite long career and possibly never will. I'm not allocating a whole day for an interview, that job offer isn't likely to be that much better than the current job or other alternatives to justify jumping through such hoops. If you want me to do work for you and judge me on that, I'm available as a contractor.
- jonathankoren 3y agoYou have never had an all day interview? Not even onsite? That’s weird. Seriously. That’s weird. Every job I have had in my 20+ year engineering career had a multihour interview panel. I’m talking like at least four separate hour long interviews all on the same day. Big company. Small company. It literally didn’t matter. And you’re saying this has never happened to you? I have to ask, what has been your typical interview experience been, and how tiny are these places?
- PeterisP 3y agoI did just literally say that this has never ever happened to me. Likely that's a regional thing, perhaps panel interviews are popular in USA - but my practice has always been 1-3 rounds of <1 hour interviews, at various sized places including a multinational bank (where I also did many interviews from the hiring side both for technical and nontechnical roles, but it always was ~3 rounds of <1hour interviews with no take-home tasks; if more people were needed, they were included at one of the interview rounds, not as extra time), a major government institution, and a matured tech ex-startup - and while your question was reasonable, IMHO framing your prejudicial assumptions as "how tiny are these places" was an unprovoked insult that's not entirely appropriate.
- jonathankoren 3y agoNo. You earned the “tiny” comment. You started with being super arrogant, on a site known for arrogance, known for people flexing about how they get their jobs from their friends, on a site that you know is not only being very US centric, but very Dan Francisco centric, speaking on a very common topic here. Legitimately, the only reason beyond nepotism I could come up with for your very strange experience was you never worked anywhere larger than 3 people. Again, something that is quite common on this site. At some point, you have to wonder when know you’re the odd one out, but you didn’t. That’s on you. Do better next time Tiny.
- FireBeyond 3y agoFrankly, I think the only place such interview panels or loops really make sense is in something like Product Management, where you might need to interface well with Sales, Marketing, Engineering, UX, executives.
- arp242 3y agoI never looked at the memcached source, and I'm not even an especially experienced C programmer, but I'm pretty sure I can do it in well under 3 hours. 1. grep -r '"append"' to find where it does "switch (cmd) { .. }" – append seems reasonably unique, but maybe there's a better command. 2. Modify switch to recognize "mult" command. 3. Find "append" function that does the work; copy/paste, modify to do multiplication. 4. Converting two strings to a number, multiplying the result, and returning the result as a string is a fairly trivial function. Unless the memcached source code is hugely surprising, I might be able to get a first working version in 15 minutes or so on a good day if I don't mess up, maybe double on an average day. Add 15 more minutes to build memcached and read the question, and maybe a further 15 minutes of making it nicer/leeway. A 3 hour limit is long enough so that no one reasonable will stress about running out of time, affecting the performance, and short enough that bozos can't easily trial/error it, ask on Stack Overflow, or whatnot. Other than that, the stage matters a lot as well – is this the first interview question shotgunned to everyone who applies, the final one and you're hired if you pass, or something in between?
- ofrzeta 3y agoDon't forget to add a test (written in Perl). It's not required by the actual task description but it might give you an edge over the other applicants.
- JohnKemeny 3y agoYou also need to add tests as well as decide whether to break the existing API, or to create a new function in the API, in which case you need to design it. Do you add room for future support for division? Exponentiation? Knuth's up-arrow notation? Logarithms? What about integer factorization and discrete log? What about factorial? Sooo many choices. I can easily waste 3 hours in just 1 hour.
- arp242 3y agoNone of that is in the description. You are spectacularly over-engeering things. A test might be useful, but I took a quick peek at the source and it really is as straight-forward as I suspected it would be: the input is already tokenized and you can just add a new entry in a large, if .. else if tree, write a multiplication function, and that's pretty much it. You can just test it by started memcached and sending it commands. I'd whip up a quick patch, but the tar.gz is 14 years old and doesn't compile with latest clang without twiddling -W flags that don't seem to apply, and the git copy doesn't compile due to autoconf woes (sigh...) Messing around with autoconf is not my idea of fun and too much pain for a HN comment, so whatever. But you really don't need 3 hours if you vaguely know what you're doing and are a competent C programmer (which I am only barely).
- madaxe_again 3y agoI’d say if it takes you three hours you’ve already failed. I’ve fixed a bug in memcached (improperly cleared buffer, null GETs resulting in zero prepend on next GET under high stress) during a five alarm fire and deployed it across a cluster in less than 30 minutes - and I would consider myself a mediocre devops hire.
- PeterisP 3y agoHow would I know that the task actually takes 30 minutes before scheduling as much time they say the process would take? I presume that when they say "come in for an hour of talk and a three-hour practical task" (which the point where I'll refuse) I won't even know the task and can't already assume that I can actually be done much faster.
- madaxe_again 3y agoRight, sorry, I wandered off into the woods while writing that. They should allocate 30 minutes. Even if you don’t finish, by 30 minutes there should be a clear indication of your approach.
- lijok 3y ago> for most potential employers I would hope Bobs Burgers aren't asking you to add a new feature to memcached in their interview process.
- cqqxo4zV46cp 3y agoI’m pretty sure Bob only hires convicted felons.
- FabHK 3y ago> I've got actual paid work to do. Well, see, many graduates or experienced job seekers don’t.
- Shrezzing 3y agoI think if the company is posing an interview question that requires total fluency over a legacy version of C++, they're probably not looking for graduates.
- tylerhou 3y agoC++11 was not legacy in 2013. It barely is considered legacy today.
- 1letterunixname 3y agoC++14 is a safe bet. C++17 is almost pushing it. C++23 isn't even fully implemented by any compiler. I tend to default to C++11 with C++[11,23]-portability. In general, write maximally portable code without using vendor- or standard-specific features without a/some very good reason(s). Also, C++11 is a monumental improvement over C++ from the days of rusty sharp edges of 90's C++ where one needed to follow strict standards to avoid nonobvious UB.
- pflenker 3y agoIf that’s what you’re selecting for - fine. You’d be missing out on people who need to care for kids or other relatives and on people who assume that a company that requires you to invest significant unpaid time on top of the regular interviews is just not worth it. Even “experienced job seekers” might have the time to do 1 or 2 of these “tests”, but typically you’d apply to more than 1 or 2 companies while looking for a job.
- sshine 3y agoIn practice, I am both too busy to waste a day on a programming task just to secure a seat at an interview, as well as willing to spend days on a cool problem. It all depends on how much I want the job and how much the actual spent time is my choice and not expected.
- da39a3ee 3y agoYou sound really full of yourself and entitled. A job should last several years, why not spend half a day applying? You don't sound like you really want a new job anyway, but maybe try to put yourself in the shoes of people who do, or who actually _need_ a job.
- AnimalMuppet 3y agoBecause what are the odds that I'm going to land this job? Surely not 100%. If they were, sure, I could spend half a day applying. But what if my odds are only 10%? Then, on average, I'm going to have to apply to 10 jobs to land one. 10 x half a day is a full working week. Make that two weeks if my odds are only 5%, three weeks if they're only 3%. That's a problem, especially if I currently have a job. I also have a life; I don't have three spare fulltime weeks to burn to try to land a new job.
- da39a3ee 3y agoPick carefully.
- 1letterunixname 3y agoExactly. If you're going to take 3-4 hours of someone's time, that's the threshold of needing to pay them for their time.
- htrp 3y agoThey can pay you for your time.
- alexeiz 3y agoThat's why employers need to spend more time convincing potential candidates that the role they hire for is actually worth the trouble of going through this kind of coding interview test. In the past I've encountered companies that would just throw a multi-hour coding test at you without even giving you any idea of the role they are hiring for. If it's not worth employer's time to get the candidate interested in a position, the position is not worth applying for.
- FireBeyond 3y agoNot to mention that some employers are moving this testing (whether you agree with it in general or not) to the front. Used to be that it might be "Hey, let's have some conversations and then there's a little project..." Now I've had multiple employers open with "Thanks for applying. As a first step, we would like you to perform this project. From there, we will let you know of next steps." Uhh... no.
- bagels 3y agoWhat kind of jobs don't have at least that much time commitment? It is by far the norm.