Stories
Slash Boxes
Comments

SoylentNews is people

posted by on Tuesday March 07 2017, @10:10PM   Printer-friendly
from the prove-Fermat's-last-theorem-using-only-a-protractor-and-straight-edge dept.

Saw this discussion on Reddit, and thought it might be of interest here, too (as such things perennially are):

I've been a successful software engineer for 10 years at various startups and small businesses. I do a lot of contracting on the side too. I've recently had cause to start looking for work again.

What the hell is up with these interview questions? They don't really have much to do with the ins and outs of clean code, architecture or collaboration. I had hoped they'd stop with this bullshit already. There's a lot of companies that promise 'No whiteboard interviews' like Triplebyte, only for that to be a complete and total lie.

They're more like annoying riddles I'd find in an Sierra adventure game or D&D. I'm just not very good at these types of 'riddle questions'. I know they always wind up having to do with binary trees, graph algorithms or something like that, but the dress-up and time constraints are unrealistically stressful.

I honestly wasn't very good at these questions when I'd graduated and I'm still not good at them now. How screwed am I? Are companies willing to hire based on projects and seeing live code?

I'm always careful to speak with my employers and convince them to write a 'portfolio' clause in my contract that allows me to keep code for the purpose of seeking further employment.

I really don't want to spend 3 months of my life learning how to solve riddles just to get another job.

I also suck at these kinds of questions, despite having designed and written a lot of software and systems. What say you, Soylentils, are these kinds of interview questions necessary to find good software engineers?


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
(1)
  • (Score: 3, Interesting) by c0lo on Tuesday March 07 2017, @10:26PM (3 children)

    by c0lo (156) on Tuesday March 07 2017, @10:26PM (#476200) Journal

    are these kinds of interview questions necessary to find good software engineers?

    Perhaps they are looking to hire programmers rather then Software Engineers?

    --
    https://www.youtube.com/watch?v=aoFiw2jMy-0
    • (Score: 3, Interesting) by c0lo on Tuesday March 07 2017, @10:31PM

      by c0lo (156) on Tuesday March 07 2017, @10:31PM (#476202) Journal

      I'm in the software industry for more than 20 years and I still flunk Data Structure and Algos type of test.
      I'm not... umm... a "spontaneous" person, I get to solve the problem (most of the time, I find 2-3 different solutions) but not within the allotted time.

      --
      https://www.youtube.com/watch?v=aoFiw2jMy-0
    • (Score: 0) by Anonymous Coward on Wednesday March 08 2017, @01:48PM (1 child)

      by Anonymous Coward on Wednesday March 08 2017, @01:48PM (#476426)

      First off, "SE" is typically used for systems engineer, not software. Secondly, don't starts this stupid programmer vs. engineer nonsense argument again.

      • (Score: -1, Redundant) by Anonymous Coward on Wednesday March 08 2017, @02:47PM

        by Anonymous Coward on Wednesday March 08 2017, @02:47PM (#476447)

        First off, "SE" is typically used for systems engineer, not software.

        Pedantic, yet irrelevant. I know, you must be a dork.

        Secondly, don't starts this stupid programmer vs. engineer nonsense argument again.

        Is there an "or else..." implied?

  • (Score: 5, Insightful) by BsAtHome on Tuesday March 07 2017, @10:28PM (5 children)

    by BsAtHome (889) on Tuesday March 07 2017, @10:28PM (#476201)

    Solving riddles is a different kind of thought process than programming. There are clear similarities, but those are usually edge cases for the most part and often only academically interesting. On the other hand, the thought process to solve a generic problem vs programming is more similar and can give insights into one's abilities. But also these insights are normally only interesting in academic context and real world problems demand a much broader knowledge and skill set.

    If an interview only focuses on the academically interesting part (usually because the recruiter is /not/ knowledgeable enough), then you should most likely tell him/her as such. If they cannot differentiate between academic skills and real world skills, then the job is probably not worth it and you should say so. Do not make yourself bitter, tell the counterpart what they are doing is wrong (in a polite and concise way) with a clear and understandable reasoning. That will normally impress and also says something about social and communicative skills.

    • (Score: 3, Insightful) by mhajicek on Tuesday March 07 2017, @11:19PM

      by mhajicek (51) Subscriber Badge on Tuesday March 07 2017, @11:19PM (#476215)

      No, it won't impress them, because they don't know what they're doing. They'll just cross you off the list. They're probably the same people who require the applicant have a certain degree, and will not even consider someone with equivalent experience. But then again, you don't want to work for someone like that.

      --
      The spacelike surfaces of time foliations can have a cusp at the surface of discontinuity. - P. Hajicek
    • (Score: 3, Funny) by Ethanol-fueled on Tuesday March 07 2017, @11:55PM (3 children)

      by Ethanol-fueled (2792) on Tuesday March 07 2017, @11:55PM (#476229) Homepage

      One time during an interview the manager informed me that I'd be doing a whiteboard interview with the requirement of correct syntax, with no electronic help.

      I motioned for him to come help me with something before I shoved two of the thick dry-erase markers up his nostrils, stuffed the eraser in his mouth, and finally shoved the nearby decorative ficus plant halfway up his ass and told him, " Traverse that tree, bitch! "

      • (Score: 3, Funny) by jimshatt on Wednesday March 08 2017, @09:56AM (1 child)

        by jimshatt (978) on Wednesday March 08 2017, @09:56AM (#476382) Journal
        And, did they hire you?
      • (Score: 2) by VLM on Wednesday March 08 2017, @01:35PM

        by VLM (445) on Wednesday March 08 2017, @01:35PM (#476422)

        Holden: They're just questions, Leon. In answer to your query, they're written down for me. It's a test designed to provoke an emotional response.

  • (Score: 5, Interesting) by mechanicjay on Tuesday March 07 2017, @10:43PM (9 children)

    I've also been writing software for about 10 years. I've found the further I've gotten from my graduation date, the less these questions are meaningful. Some of my favourites from the last round of serious interviews, then from my latest random "Hey Google called, I might as well talk to them".:

    • Take some random sets of numbers: {1,2,5,6,7}, {6,5,2,1,3}, {1,2,4,7,2}, sort them so that result is 1st set, 3rd set, 2nd set. -- I ended up getting into an argument with the guy over my approach, he criticized my idea to use python lists because its too inefficient. Then told me use a json data structure and iterate over that instead? Then admitted he didn't know how to solve the problem.
    • Tell me the computational complexity of a bubble sort. -- Jesus, trivia? Really? I pulled a value out of my ass which happened to be right. It's been 12 years since I've seen a bubble sort.

    Those are the two real stand outs, but the stuff mostly seems to be trying to determine who has mastered the CS category of Trivial Pursuit or who *just* graduated at the top of their class and the realworld experience matters less. The fact that I've optimized and refactored entire code bases from "no one will touch it" into something maintainable, or have cut page load times in certain situations by a factor of 10 are completely meaningless because I can't pull a classic CS101 algorithm out of my ass at a moment's notice. I can no longer remember the details of my Google programming "test", but it was equally BS.

    My secret to success is to stay away from the big boys. Find good smaller shops with managers who know how to read people and understand what experience brings to the table -- so far this has actually been quite a sound career plan for me. I do get a little worried as I move through the years, because smaller shops do try to mimic the big boys in some of these practices. The big problem to my mind is that school trivia shit is inherently ageist. I have a friend who is an older female engineer, who can't even get interviews at this point even though she'd be able to come up with 5 algorithms to solve a given problem off the top of her head -- probably stuff the interviewer had never even heard of. Just one reason why I'd love to find an exit from this industry before the exit finds me.

    --
    My VMS box beat up your Windows box.
    • (Score: 2) by VLM on Tuesday March 07 2017, @10:56PM (2 children)

      by VLM (445) on Tuesday March 07 2017, @10:56PM (#476209)

      an exit from this industry

      An exit from employment, to be specific. Thank God this toxic poison hasn't reached contracting. I've never seen a contract with a clause discussing the computational complexity of bubble sorts.

      People who think they know what they're doing, but toxically do not, tend to want to hire employees, whereas people who have little idea of tech tend to hire contractors much as they hire doctors or plumbers, off past history and recommendations and soft skills.

      This programmer hiring BS would be the equivalent of selecting a primary care physician by asking trivia questions about the enzyme kinetics in the Krebs Cycle, when what you want is a guy to set your broken leg or stitch up a laceration.

      My long term plan is if you want me to be your employee, you're buying my entire corporation, which is a whole nother topic.

      My dad basically retired contracting, he never really quit he just took fewer contracts over time. I suspect that is my end game. I'll knock out a lot of year 2038 related contracting and then settle down gradually.

      • (Score: 1, Informative) by Anonymous Coward on Wednesday March 08 2017, @01:54AM (1 child)

        by Anonymous Coward on Wednesday March 08 2017, @01:54AM (#476262)

        they are not trying to hire you. they are marking the box to get a H1-B tell they to stick it. or better have them white board your question fisrt, so you tell if they are worth working for.

        • (Score: 2) by VLM on Wednesday March 08 2017, @01:31PM

          by VLM (445) on Wednesday March 08 2017, @01:31PM (#476419)

          they are marking the box to get a H1-B

          This is a serious problem in the industry, if the ad or interview is as ridiculous as the low pay, its because they're working the H1B train and no one is supposed to pass. It would be a process fail if anyone passed. Whats not mentioned is the young kids who still remember doing red-black tree algos in java from school last week will also be crossed off the list because they have too little real world experience.

    • (Score: 3, Interesting) by mhajicek on Tuesday March 07 2017, @11:28PM (2 children)

      by mhajicek (51) Subscriber Badge on Tuesday March 07 2017, @11:28PM (#476221)

      The same is true in machining. No, I will not calculate feeds and speeds in my head for you. There are far too many variables to determine the optimal cutting parameters, which is why there are software packages expressly for that purpose. The numbers you'd get by doing it the old-fashioned way are guaranteed to be sub-optimal. Also, no, I don't have a four year degree, but I have over twenty years experience.

      --
      The spacelike surfaces of time foliations can have a cusp at the surface of discontinuity. - P. Hajicek
      • (Score: 2) by mojo chan on Wednesday March 08 2017, @11:33AM (1 child)

        by mojo chan (266) on Wednesday March 08 2017, @11:33AM (#476398)

        To some extent I can see the value in being able to calculate stuff like that in my head. I remember a story about a doctor who accidentally administered 100x the correct dose because of a fat finger calculator mistake. Being able to estimate approximately the right parameters in your head is a good way to quickly spot when the program is spitting out nonsense.

        Maybe not calculate the exact values, but at least give a ballpark estimate.

        --
        const int one = 65536; (Silvermoon, Texture.cs)
        • (Score: 2) by mhajicek on Wednesday March 08 2017, @05:22PM

          by mhajicek (51) Subscriber Badge on Wednesday March 08 2017, @05:22PM (#476545)

          For a given material and cutter combination, the optimal feed and speed can change an order of magnitude or more depending on axial and radial engagement, toolholder type, tool stickout, and workholding security. Since almost all CNC programming is done on a computer, it's far better to use the software. If you need a double check, use two different ones and compare the results.

          --
          The spacelike surfaces of time foliations can have a cusp at the surface of discontinuity. - P. Hajicek
    • (Score: 3, Insightful) by LoRdTAW on Wednesday March 08 2017, @02:07PM (2 children)

      by LoRdTAW (3755) on Wednesday March 08 2017, @02:07PM (#476433) Journal

      Those are the two real stand outs, but the stuff mostly seems to be trying to determine who has mastered the CS category of Trivial Pursuit or who *just* graduated at the top of their class and the realworld experience matters less.

      BINGO!
      This is exactly what they are looking for. They want the best talent who is young, enthusiastic, and naive. Then run them through the meat grinder for a few years until they are burnt out.

      Last year both Google and Amazon flew my brother out to interviews. He is by no means a fresh graduate but he is experienced. His biggest complaint was the interview process which is full of egotistic, overconfident douche bags. The google interview was his worst. Multiple person interview. One he called "Purple haired faggot" because he was this fake hipster/punk wannabe wank job who droned on about how he loved the concept of monads in functional programming but couldn't use them in c++ (This was before the interview started). He did do well and they thanked him for coming in. He was passed on for another candidate. He emailed the recruiter to ask what he can to improve his chances and what went wrong and it turns out purple haired faggot didn't like something trivial. Needless to say he was pissed off someone would nitpick over something small but it came down to personal preference rather than technical merit.

      The Amazon interview was a bait and switch so he interviewed for another position which he was again passed on. They called him back a month later with the same job offer but he passed on it. He was a bit demoralized after that but shook it off and went job hunting locally in NYC. He now works for another web company making 130k. Great job. No bullshit management, no whip cracking. Just working and getting shit done. He said after his experiences with both Google and Amazon interviewing he will most likely never work for them, ever.

      So in the end, these big companies that are the supposed holy grail of programming and engineering jobs, arent. Plenty of other tech/programming jobs out there which might not be as prestigious sounding but pay the same.

      • (Score: 2) by Phoenix666 on Wednesday March 08 2017, @03:01PM (1 child)

        by Phoenix666 (552) on Wednesday March 08 2017, @03:01PM (#476456) Journal

        So in the end, these big companies that are the supposed holy grail of programming and engineering jobs, arent. Plenty of other tech/programming jobs out there which might not be as prestigious sounding but pay the same.

        I think that's generally sound. I did have one conversation a couple years ago that makes me think working for Google still might not be bad if you're an engineer: my next door neighbor a couple years ago was a salesman at an ad technology company that was acquired by Google. At first he was chuffed because Google gives you all these amazing benefits like 5-star chefs who cook you anything you want for lunch, for free. A couple months later I talked to him again and he was depressed. I asked why. "At my old company we sales guys were the rockstars," he said, "At Google it's all about the engineers. Sales guys are at the bottom of the heap there."

        --
        Washington DC delenda est.
        • (Score: 2) by LoRdTAW on Wednesday March 08 2017, @03:49PM

          by LoRdTAW (3755) on Wednesday March 08 2017, @03:49PM (#476488) Journal

          Where he works now they have high end catering every day for lunch. Basically a mini buffet of good food (e.g. one day they had filet mignon). But it's a trick. It keeps employees in the chair longer instead of letting them roam freely for an hour or more on lunch.

  • (Score: 3, Insightful) by VLM on Tuesday March 07 2017, @10:46PM (1 child)

    by VLM (445) on Tuesday March 07 2017, @10:46PM (#476207)

    Its worth considering that all employee interviews contain an small component of the intro to bladerunner to see how you'll react when they screw your over.

    So if you get rid of "reverse a binary tree" you're just going to get "why is the tortoise flipped over on its back, Leon?" in exchange.

    Personally I think the best programmers are pattern matchers. Hey.... I seen that before... I can use that here. Rather than simply memorizing academic algos.

    • (Score: 3, Funny) by Anonymous Coward on Tuesday March 07 2017, @10:58PM

      by Anonymous Coward on Tuesday March 07 2017, @10:58PM (#476211)

      So if you get rid of "reverse a binary tree" you're just going to get "why is the tortoise flipped over on its back, Leon?" in exchange.

      "What do you mean? A European, or an African tortoise?" (You have to know these things when you are a programmer, you know.)

  • (Score: 5, Interesting) by bob_super on Tuesday March 07 2017, @10:46PM (11 children)

    by bob_super (1357) on Tuesday March 07 2017, @10:46PM (#476208)

    When I interview people, if I asked a technical question that is not basic-must-know, you don't need to give me a final answer.
    I'm interested in where you start, how you think you'd get closer, and how you behave when you don't know.
    If you could come up with the answer right there, that wouldn't be a negative, for sure.
    But giving me an answer you know doesn't tell me how you handle problems that don't have obvious solutions. And that's what i want to pay you for.

    But don't ask me, I only deal with engineers, not code monkeys...

    • (Score: 2) by c0lo on Tuesday March 07 2017, @11:25PM

      by c0lo (156) on Tuesday March 07 2017, @11:25PM (#476220) Journal

      I had some interviews conditioned by passing a test on codility.com - here's their programmers [codility.com] page if you want to have a taste (tl;dr - online practicals, code/compile/run/test in a browser).

      The interface is not conducive to the "where you start, how you think you'd get closer, and how you behave when you don't know." type of interaction. Because debugging is a PITA when you use a Web browser as an IDE, it's more likely the candidate will try solving the problem in her/his own environ and copy/paste the solution (if one is found).

      But don't ask me, I only deal with engineers, not code monkeys...

      A good programmer may be valuable in some circumstances, but yes, "programmer" and "software engineer" are two different things.

      --
      https://www.youtube.com/watch?v=aoFiw2jMy-0
    • (Score: 4, Interesting) by Snotnose on Wednesday March 08 2017, @12:22AM (9 children)

      by Snotnose (1623) on Wednesday March 08 2017, @12:22AM (#476243)

      This. When I ask you how many golf balls fit into an olympic sized swimming pool I don't care what the answer is. Hell, I don't know the answer.

      I want to see how you approach the problem. How big is the pool? Helifino. Assume 50m x 25m. How big is a golf ball? 2" diameter? How do sphere's pack? Hellifino, assume it's 2/3 of a cube. How do you convert inches to meters? That one I know, 2.5 cm to an inch. But you aren't expected to know that either.

      Now just crank the numbers and get a result. Hell, I'm gonna stop you halfway through all that anyway, you get steps 1-3 right there's no point in continuing.

      --
      Relationship status: Available for curbside pickup.
      • (Score: 2, Insightful) by Anonymous Coward on Wednesday March 08 2017, @01:46AM (1 child)

        by Anonymous Coward on Wednesday March 08 2017, @01:46AM (#476259)

        I'd ask on StackOverflow.

        • (Score: 0) by Anonymous Coward on Wednesday March 08 2017, @07:10AM

          by Anonymous Coward on Wednesday March 08 2017, @07:10AM (#476363)

          Someone already did. [stackoverflow.com]

      • (Score: 0) by Anonymous Coward on Wednesday March 08 2017, @02:08AM

        by Anonymous Coward on Wednesday March 08 2017, @02:08AM (#476268)

        There's no point in all that. Set the requirement that you're using the type of golf balls that float and your answer is: zero golf balls will fit into a filled swimming pool no matter how large the pool.

      • (Score: 2) by mojo chan on Wednesday March 08 2017, @11:36AM (4 children)

        by mojo chan (266) on Wednesday March 08 2017, @11:36AM (#476399)

        This is actually an unsolved problem I think. If I recall, there is no mathematical way to calculate the optimal arrangement of spheres packed into a given space at the moment. You can either brute force it or give an estimate, but knowing exactly and then filling the volume in the best possible way is apparently a very tough nut to crack.

        --
        const int one = 65536; (Silvermoon, Texture.cs)
        • (Score: 5, Funny) by VLM on Wednesday March 08 2017, @01:55PM (1 child)

          by VLM (445) on Wednesday March 08 2017, @01:55PM (#476429)

          That's the difference between an engineer and a scientist, in that its extremely easy to solve if you only feed a feasibility study within an order of magnitude. I bet you can get a lot better than order of magnitude accuracy if you assume a cubical ball.

          Also its very "engineer" to spec asymmetric error bars. I know darn well that assuming cubical balls will pack looser than actual spheres so I'm not giving tolerances of plus or minus some number, its totally going to be an error bar of plus some qty minus zero as a tolerance.

          Its also totally engineer to fire right back at the questioner. "you just trying to store crap to recycle? run the balls thru a shredder and compactor and you'll fit considerable more in the pool, only finance knows if the shredder and compactor are economically worth the extra storage, or maybe you trying to estimate raw material storage space to manufacture a semi full of balls?" "you trying to make a ghetto fluidized bed reactor? you know you can't pack the balls so tight they can't move, because thats not a fluidized bed that's at best a percolation study"

          If you piss off an engineer you'll get stupid answers like "You never told me I couldn't use a really big compactor to squeeze all the air out so the answer is just the ratio of volumes" or "You never said I couldn't use a sealed thermal depolymerization tank of infinite PSI rating in which case the number of balls inserted is theoretically as infinite as the pressure tank PSI rating, and once the black hole forms I can really start shoveling them in"

          Also its very "engineer" to ask how much they're willing to pay to get the answer. I know one obvious way but its going to be a large expense report. Or the hours I'd have to put in to simulate that on a computer would be expensive but if the space shuttle can't launch until I get the exact integer answer, well, pay up sucka that answer ain't gonna be cheap.

          Oh and another very "engineer" response is to start talking about QA/QC I guarantee those balls, if used, are no longer round nor constant diameter and if you want an integer answer its going to be expensive and no amount of handwaving by the mathematicians about sphere packing matter if the "balls" are only vaguely spherical. In fact it would be a fascinating solid state surface physics experiment to introduce just a couple dopant impurity not perfectly round balls and then implement entire transistorized circuits via the non-round dislocations. Kinda like building a CPU out of redstone in minecraft, totally useless while being totally cool.

          • (Score: 2) by art guerrilla on Saturday March 11 2017, @02:27PM

            by art guerrilla (3082) on Saturday March 11 2017, @02:27PM (#477748)

            um, you never cut open a golf ball when a kid ? ? ?
            all that wound rubber can expand to a lot more volume than the intact ball...
            just sayin'...

        • (Score: 2) by Phoenix666 on Wednesday March 08 2017, @03:09PM (1 child)

          by Phoenix666 (552) on Wednesday March 08 2017, @03:09PM (#476465) Journal

          I think I read about a decade ago that mathematicians had finally proven the optimal way to stack spheres.

          --
          Washington DC delenda est.
      • (Score: 2) by Bot on Thursday March 09 2017, @04:52PM

        by Bot (3902) on Thursday March 09 2017, @04:52PM (#477013) Journal

        The correct answer was: "it is forbidden to throw golf balls in the pool".

        --
        Account abandoned.
  • (Score: 0) by Anonymous Coward on Tuesday March 07 2017, @10:57PM

    by Anonymous Coward on Tuesday March 07 2017, @10:57PM (#476210)

    Computer science is an esoteric academic applied-math discipline. Software engineering to CS is like civil engineering to theoretical physics.

    There are software engineering factions formalized, i.e. aviation, defense industry practices. But these are too rigid, slow, and expensive to adapt to the rapid development of consumer products, cutting-edge AI, etc.

    In short, it is what it is, both blessing and curse.

  • (Score: 3, Insightful) by q.kontinuum on Tuesday March 07 2017, @11:09PM (5 children)

    by q.kontinuum (532) on Tuesday March 07 2017, @11:09PM (#476212) Journal

    Neither on the reddit-page nor in the summary is a list of those questions we are supposed to comment on. Was this some general rambling about "those interview questions, whatever they are" or did I miss something?

    Generally, I think it makes sense to ask to apply competences during the interview. In my first job, I had a colleague who was hired as a C++ developer. After three weeks, he started to bring a book "C++ for dummies", and after 3 months he still made mistakes like this when checking a pointer for null:

    int my_function(MyClass *obj) {
            if (obj == "null") [...]
    }

    (No, he was not able to figure out by himself or with help of a book, what was wrong with this code. Even after getting an explanation, he had a hard time to understand. After 4 months he was finally fired, and hadn't produced any line of relevant code in the whole time. But that was 20 years ago, in my first job.)

    I usually bring a laptop to interviews, asking the candidate for a quick implementation of FizzBuzz [wikipedia.org]. The candidate gets the shell, an editor, the python interpreter (or javac or groovy or ruby) and can try as often as he likes. I don't care if he starts the interpreter 10 times to find some typos, or if he tries simple cases himself before presenting the solution, or if he needs to debug the script before presenting it. Even a browser is installed, but obviously I'm sitting close by and would not appreciate if the candidate just googles the complete solution. [Although, if he states it openly in advance with good humor, I'd probably consider it also clever and just give him another task with stricter parameters next :-))

    What I do care for is,

    - Is he capable of implementing anything at all (many candidates are not [codinghorror.com], but most of those are luckily filtered in the phone-interviews already)
    - Is he overconfident (does he expect errors in his code, or if he is confident, is the code actually correct)
    - Can he identify critical test cases

    I would also happily consider codewars [codewars.com] achievements or github-contributions as references and discuss on them, of course.

    I do realise that FizzBuzz does not have many real-world applications, but the "riddle"-component is simple enough to not distract too much. I just don't want to examine extensive framework- or API-knowledge of some tools or frameworks we use. That would reduce the pool of candidates even further, and a good developer should be able to familiarize himself with any reasonable environment, while a bad developer might know the API definitions and answers to standard-questions, but will probably no time soon become a good developer.

    --
    Registered IRC nick on chat.soylentnews.org: qkontinuum
    • (Score: 2) by Fnord666 on Wednesday March 08 2017, @12:00AM

      by Fnord666 (652) on Wednesday March 08 2017, @12:00AM (#476230) Homepage

      Neither on the reddit-page nor in the summary is a list of those questions we are supposed to comment on. Was this some general rambling about "those interview questions, whatever they are" or did I miss something?

      No, you didn't miss anything. The questions being discussed are ones taken, often verbatim, from the book "Cracking the Coding Interview [amazon.com]".

    • (Score: 3, Funny) by jimshatt on Wednesday March 08 2017, @10:06AM (1 child)

      by jimshatt (978) on Wednesday March 08 2017, @10:06AM (#476384) Journal
      • (Score: 2) by q.kontinuum on Wednesday March 08 2017, @12:24PM

        by q.kontinuum (532) on Wednesday March 08 2017, @12:24PM (#476406) Journal

        Nice one :-) I forgot about that site. Once it was in my daily bookmarks.

        Funny as it is, but this is one the reasons I prefer to bring a laptop. In this case I think it is safe to assume that the candidate just doesn't have a clue. There are other tasks, however, where a solution might look awkward, but is actually correct. E.g. given the Fibonacci-numbers (could be a good example to see if the candidate prefers recursion over iteration, or if he has some ideas to optimize) the candidate might come up with the closed-form expression [wikipedia.org] instead, and if I didn't accidentally know this particular example, I might consider it wrong.

        Bringing a laptop, and running some tests on the program, there is no question if the proposed solution works or not. If it doesn't work, the candidate might still be lucky that I spot some bug in an otherwise good solution and mark it down to nerves.

        --
        Registered IRC nick on chat.soylentnews.org: qkontinuum
    • (Score: 2) by tibman on Wednesday March 08 2017, @09:58PM (1 child)

      by tibman (134) Subscriber Badge on Wednesday March 08 2017, @09:58PM (#476743)

      We just stopped doing FizzBuzz this last week because all but one candidate had done it already. Not only that but three candidates were taught FizzBuzz in school because "you might need it to get hired". We wrote up our own coding challenge for Bowling. Lots of fun exceptions to the rules in that one.

      --
      SN won't survive on lurkers alone. Write comments.
      • (Score: 2) by q.kontinuum on Thursday March 09 2017, @09:26AM

        by q.kontinuum (532) on Thursday March 09 2017, @09:26AM (#476918) Journal

        Good to know :-) Luckily I have some other questions/tasks in my portfolio as well. (In our company, everyone working in a technical position has to conduct interviews once in a while, and we don't get specific question-catalogues to ask. Everyone has his own set. HR gives us a standardized feedback form, but what we ask the candidate to come to our evaluation is entirely up to us.)

        --
        Registered IRC nick on chat.soylentnews.org: qkontinuum
  • (Score: 4, Interesting) by Anonymous Coward on Tuesday March 07 2017, @11:16PM (8 children)

    by Anonymous Coward on Tuesday March 07 2017, @11:16PM (#476214)

    Funny though how all the brownies seem to manage these with no problem, apparently. Or maybe it's a "test" everyone is supposed to think they failed and the management can point to it if you ever come at them for not hiring you. The real reason you were disqualified though is because your name is not Sanjay or Raj.

    • (Score: 5, Insightful) by MostCynical on Wednesday March 08 2017, @12:03AM

      by MostCynical (2589) on Wednesday March 08 2017, @12:03AM (#476232) Journal

      More likely the real reason you were not hired is your daily rate is 50 to 100% higher than someone with a special work visa.
      Also, the test means the company has *proof* no local was able to do the job, so they *had* to hire the visa-holder.

      --
      "I guess once you start doubting, there's no end to it." -Batou, Ghost in the Shell: Stand Alone Complex
    • (Score: 2) by DeathMonkey on Wednesday March 08 2017, @12:19AM (5 children)

      by DeathMonkey (1380) on Wednesday March 08 2017, @12:19AM (#476241) Journal

      Or, maybe they're just smarter than you are.

      • (Score: 0) by Anonymous Coward on Wednesday March 08 2017, @02:10AM

        by Anonymous Coward on Wednesday March 08 2017, @02:10AM (#476269)

        Nope. Because I don't work in IT.

      • (Score: 2) by VLM on Wednesday March 08 2017, @02:28PM (3 children)

        by VLM (445) on Wednesday March 08 2017, @02:28PM (#476440)

        There is a strange bit of insight in there, in that it can be a cultural test.

        So if you're interviewing at a H1B place, among the Asians, saving face is extremely important and honesty is way down on the list, I mean its nice but its way down there in their cultural priority list. At a "old white guy" place its usually the other way around and a little humility asking questions and showing a desire to learn is cool, for goodness sakes don't tell an obvious lie, and you always do what you said you'd do as if your old drill instructor is looking at you, would this guy make a good apprentice or soldier type thing?

        So H1B company interview asks to prove P=NP and the cultural fit answer is to nod your head in a guru like manner while saying yes I know all about that, we studied that at IIT (everyone from India went to IIT, most are lying of course and know american HR won't check international references), no problem, this will be an easy task to do the needful, but I will have to email the correct answer to you tomorrow, OK? Needless to say no answer is ever emailed and the next day you act like the conversation never happened.

        So white guy company interview asks to prove P=NP and the cultural fit answer is something like fleshing out the details and talking strategy and being reasonably humble while admitting you have no idea how to do it but am willing to learn and put in the sweat to get it right and lets cooperatively work on a team and hey boss I respect your advice and experience on this topic and stuff like that.

        The wrong answer at both companies is going all "Leon from Bladerunner".

        The closest thing I did to flipping out in an interview was getting REALLY pissed off they basically lied on the phone and in the job description so I was like F all these people F this company F this interview process F wasting one of my vacation days to meet these liars F it all, so I stopped being serious and started flirting with the HR girl who pretty much giggled and poker-faced it, I was a lot younger back then and I think if we were at a bar rather than a job interview it might have worked out, she was reacting better than some girls where things did work out, but whatever. No I didn't get a date. My lines were awful. I remember the old guy VP of engineering or whatever he was, snickering at my bad lines. The only bad line I remember specifically was the stupid HR question about explaining how you identified and resolved a difficult personnel problem so as you can guess I went down the path of meeting a beautiful and smart woman at a job interview and as for solving it is she busy tonight?

        • (Score: 2) by Phoenix666 on Wednesday March 08 2017, @03:23PM (2 children)

          by Phoenix666 (552) on Wednesday March 08 2017, @03:23PM (#476474) Journal

          That's a good story. The only time I intentionally blew an interview was with the CIA. They spent the whole day running me through scenarios designed to see how well you can think on your feet, how well you can keep your composure when you're surprised, etc. Basically stupid mind games all day, all of which were terribly transparent and whose solutions were painfully obvious. The dumpy, over-the-hill thirty-something woman who was interviewing me claimed to be the head of the Europe Station, and started flirting with me the more I sailed through the scenarios, throwing little French phrases and exclamations into her patter with tosses of her hair. It was so ridiculous that when we arrived at the end I decided to fuck with her and see how well she kept her composure in the face of an unexpected turn of events. She asked me if I had any questions, and I asked her what she would say to the people who say the CIA is nothing more than a pack of mindless bureaucrats running around pushing paper and competing with each other for the butchest lingo. Well, she did not keep her composure. Three months later I saw her picture in the New York Times, in Russian custody for spying.

          --
          Washington DC delenda est.
          • (Score: 2) by VLM on Wednesday March 08 2017, @05:07PM (1 child)

            by VLM (445) on Wednesday March 08 2017, @05:07PM (#476533)

            That's interesting, my experience with the feds WRT security clearance decades ago was they continued to ask the same dumb questions over and over.

            I later read that WRT lie detectors people who try to beat the test, memorize their cover story so well they never make a mistake, but casual stuff that is true and isn't a cover story will have minor small variation.

            So they ask like 20 times who your five closest friends were in high school and you give the same five every time because you're sick of the question that sounds like a fake memorized answer, whereas if you'd randomly insert and remove a girlfriend or two they'd accept that as true and leave you alone and clear you.

            For older people security clearance is all about addiction and credit problems which is sort of easy duty for them, but for kids all they can work with is finding out if you hung out with the druggies or the commies. I think it took me like six months to get cleared and be deployable.

            • (Score: 2) by art guerrilla on Saturday March 11 2017, @02:41PM

              by art guerrilla (3082) on Saturday March 11 2017, @02:41PM (#477751)

              i will repeat my one experience with so-called 'lie detectors' along while back...
              had some buddies who were lying, scamming, corner-cutting salesdroid types... (but great guys ! 8^)
              they went to work at radio shack after 'passing' (?) lie detector tests (NO WAY they told the truth), and asked if i wanted a job there...
              needed a job, went to take the test, and answer as honestly and completely as i can, about everything...
              guy asked whether i had ever used cocaine (which i had tried a couple times a decade or so previous, never was in to it, period), and then kept asking if i had used it recently/currently (which i had NOT in any way, shape or form), and i kept saying no, because -duh- that was the dog honest truth...
              long boring story short, was told i didn't pass the test, didn't get the job...
              so, sociopathic-lite salesdroids who i have no doubt were stealing radio shack blind, got through their 'filter', while an honest, non-drug abusing (these guys were HUGE druggies, MOST ESPECIALLY including coke), potentially 'good' employee got screwed over...
              i am sure that is the one and only time that has happened...

    • (Score: 0) by Anonymous Coward on Wednesday March 08 2017, @08:22AM

      by Anonymous Coward on Wednesday March 08 2017, @08:22AM (#476373)

      "I always say life is like a box of chocolates… Sure are a lot of brown ones in there." (SNL's spoof of Jeff Sessions)

  • (Score: 3, Informative) by khallow on Tuesday March 07 2017, @11:44PM

    by khallow (3766) Subscriber Badge on Tuesday March 07 2017, @11:44PM (#476224) Journal
    First, learning how to solve such riddles is far from a waste of your time. These things do appear in the real world and various real world situations can have similar problem solving techniques. That's a lot of the reason why white interviews are popular in the first place. So I'm going to treat white board interviews for coding and IT as a necessary evil and discuss approaches for making the interview work in your favor.

    There are a bunch of things you can do to prepare for such questions and strategies you can employ during the interview to better your odds. Here's my approach:

    1) Don't start by throwing code on a board. You can get a lot of mileage without touching the board at all just by describing your mental thought processes and what you're thinking at a given phase of problem solving. Try to connect with the audience via the usual public speaking tricks (like looking at the audience, focusing on one person at a time until they acknowledge you and then moving to the next).

    2) Is the problem statement conflicting or too ambiguous? Never make a big deal of this. Real world crap has this all the time and one of the things you're showing here that you can handle this stuff. Even if they accidentally pass you an impossible or poorly constructed problem you can show off your skills at getting reasonable specifications for a project. I'd write the new specifications in a corner of the white board both so that I remember what's going on and to keep everyone honest.

    3) Is it a trick question? You're asked to sort balls by color, but there are only white balls. Again, this might be unintentional, but you can then show how you'd do things, if the trick weren't present.

    4) Use a standard bag of tricks and algorithms that you are confident in (including being able to write code for) to to specify and solve as much of your problem as possible. It's still progress, even if you can't solve a problem completely with this approach. If you can get away with high level flow or object diagrams, then do so. It's faster and less prone to error.

    5) If you can make progress, but don't know how to solve the problem outright, you can still hand-wave strategies you would try ("I'd first attempt to brute force this, but if that didn't work, I'd try...".

    6) If you don't have a clue, say so and have a stock answer. "Sorry, as a DB specialist I never had much exposure to DSP. I'd read up via google on how the FFT is used to construct low pass filters, download appropriate libraries, and pray it works as advertised."

    7) Get a feel for their development and management style. For example, if they use a development approach that is heavy on test cases, you'll probably want to spend some time discussing how you'd make test cases for your solution from simple data checks to complex use cases.

    8) Don't lose it. You will make mistakes, bad things will happen, or you're receive criticism that you don't have ready answers for. Use these as opportunities to show that you can deal with the unexpected and keep going. "Sorry, I just don't see my mistake here on how this list ending is going to blow up. But the runtime program sure will. I'd have to catch this error, debug and step through the linked list code, and see where the faulty linking breaks down."

    9) Think about following up. Discussion during the white board interview could be a useful icebreaker for a near future conversation either during the interview process or later if you're looking to network.

    Always look at interviews as an opportunity not a burden. You get a chance to visit a place, see a little of its inner workings, and get a feel for whether this is a place you want to work for - meaning this is a two way exchange of information. They're not going to waste employee time with a large number of interviews so it's a high value contact.
  • (Score: 4, Interesting) by xpda on Tuesday March 07 2017, @11:49PM (5 children)

    by xpda (5991) on Tuesday March 07 2017, @11:49PM (#476226) Homepage

    When I interview someone, I almost always try to find a question or problem that they can't answer. I'm not looking for their ability in a particular niche. I want to see how they handle it, and how they communicate. "I don't know" is what I'm looking for in many cases, either with or without some supporting information or guesses. If you don't know an answer, don't get flustered. Give clear, concise, accurate answers. If it's "I don't know", say "I don't know" and then explain how you'd find out.

    • (Score: 3, Interesting) by Snotnose on Wednesday March 08 2017, @12:31AM (1 child)

      by Snotnose (1623) on Wednesday March 08 2017, @12:31AM (#476245)

      When I used to interview people I'd start with dirt simple questions and get progressively harder. After about 40 minutes or so I didn't expect you to be able to answer the question, I wanted to see how you handled it. When your face falls and you say you have no clue I explain you weren't expected to, the fact you got that far meant you got a thumbs up from me, and let the interviewee interview me.

      Had 1 guy who ran me out of questions. Hired the guy, he was the most brilliant engineer I've ever worked with.

      --
      Relationship status: Available for curbside pickup.
    • (Score: 4, Funny) by e_armadillo on Wednesday March 08 2017, @12:54AM (2 children)

      by e_armadillo (3695) on Wednesday March 08 2017, @12:54AM (#476249)

      That reminds me of a colleague's story about how he got hired at our company. They gave him 20 minutes to study the features of the product and then he was to pitch the product. After he was done pitching, the lead interviewer said, "Half of what you just said was completely wrong . . . but I believed you!"

      --
      "How are we gonna get out of here?" ... "We'll dig our way out!" ... "No, no, dig UP stupid!"
      • (Score: 1, Funny) by Anonymous Coward on Wednesday March 08 2017, @06:09AM (1 child)

        by Anonymous Coward on Wednesday March 08 2017, @06:09AM (#476352)

        Trump?

        • (Score: 3, Funny) by FatPhil on Wednesday March 08 2017, @09:36AM

          by FatPhil (863) <{pc-soylent} {at} {asdf.fi}> on Wednesday March 08 2017, @09:36AM (#476381) Homepage
          Can't be - studying the features would have required being able to read.
          --
          Great minds discuss ideas; average minds discuss events; small minds discuss people; the smallest discuss themselves
  • (Score: 2, Interesting) by SomeRandomGeek on Wednesday March 08 2017, @01:46AM (13 children)

    by SomeRandomGeek (856) on Wednesday March 08 2017, @01:46AM (#476258)

    I've been interviewing software developers for about 15 years now. I think the interviewer's perspective may be valuable.

    • Many more unqualified candidates apply for software jobs than qualified candidates. Perhaps because the qualified candidates eventually get offers, and the unqualified ones keep trying.
    • The cost of hiring an unqualified candidate is much higher than the cost of passing on a qualified one.
    • Unqualified candidates can be confident, personable, experienced, and good story tellers. Similarly, qualified candidates may lack all of these qualities.
    • The trick is to craft interview questions that qualified candidates will pass on a bad day, and unqualified candidates still won't pass on a good day.

    In my opinion, any kind of "chit-chat, establish a rapport, tell me about your experience" technique is too easily gamed. Riddles, and many puzzles, are structured around already knowing the answer or having a flash of inspiration. They give random results.
    My preferred interview question is a problem solving challenge, like "write a program to do X." These questions actually combine many smaller tasks, each of which reveals something about the candidate. Does the candidate stop to ask about requirements, or do they just assume? Do they organize their code, or is it spaghetti? A surprising number of candidates have difficulty writing loops. If the candidate gets stuck, I provide assistance. Eventually, almost all candidates complete the assigned task. That is not the point. Because the question is not really about the candidate producing the "right" answer, but about giving me the opportunity to observe them solving a problem by writing software.

    • (Score: 3, Interesting) by Thexalon on Wednesday March 08 2017, @02:04AM (2 children)

      by Thexalon (636) Subscriber Badge on Wednesday March 08 2017, @02:04AM (#476265)

      Having been on that side of the table, I've found that the simplest FizzBuzz problem more often than not trips up the truly unqualified candidates. Because, as you point out, they don't understand loops, rarely really grasp if-elseif-else constructs, and in some cases even variables. The difference in a nutshell: A qualified candidate came in, took one look at the problem, said "Really?", typed out a correct answer immediately and handed the laptop back. An unqualified candidate came in, read the problem, and spent 15 minutes wracking his brain, with me giving him a significant hint about 10 minutes in, and he still didn't get it.

      And I completely agree that hiring an unqualified candidate is approximately the most dangerous thing you can do. I've seen the aftermath of hiring the proverbial Paula Bean [thedailywtf.com]: There were moments in the code where you could tell "This coder just began to understand the concept of an array!" and similar moments of epiphany.

      --
      The only thing that stops a bad guy with a compiler is a good guy with a compiler.
      • (Score: 2) by Snotnose on Wednesday March 08 2017, @02:27AM

        by Snotnose (1623) on Wednesday March 08 2017, @02:27AM (#476276)

        Yeah, when I interviewed people I started with easy questions and got progressively harder. Fizzbuzz was usually the 3rd/4th question, about 10 minutes into the interview, and it was the biggest weeder I ever found.

        Of course, that was before google was so popular, now I expect every incompetent idiot to google "interview questions" and learn fizzbuzz.

        --
        Relationship status: Available for curbside pickup.
      • (Score: 3, Insightful) by SomeRandomGeek on Wednesday March 08 2017, @03:33AM

        by SomeRandomGeek (856) on Wednesday March 08 2017, @03:33AM (#476306)

        I've worked with some of the Paula Bean's of the world, and the mind does boggle. But they are not the worst developers to work with. The worst developers can spend an afternoon arguing with your team's otherwise most productive developer, then go back to their desk and inject a defect, to be found later at great expense. By comparison, doing nothing at all hardly seems that bad.

    • (Score: 2) by JoeMerchant on Wednesday March 08 2017, @02:59AM (8 children)

      by JoeMerchant (3937) on Wednesday March 08 2017, @02:59AM (#476288)

      I interviewed "graphics programmers in C language" from 1995 through about 2010, always with the sequence: read resumes, call in promising candidates - do the chit chat, and give them "the test." The job was always some kind of graphic programming, to be executed in C - these skills were always listed on the resumes', 90%+ passed the chit chat test and boldly went on to take "the test." The test was to take an existing C program that draws an empty box around the borders of the screen. Extend that program to draw 10 cycles of a sine wave linearly decaying from 90% to 10% of the height of the box as it goes (hand sketch of decaying sine wave provided.) Working development environment provided, just type your code in the editor, press play to test your code - no time limits.

      ~50% give up quickly and walk away.

      ~40% soldier on bravely for 30 minutes or more, sometimes hours, but never get anything going.

      Over the years, only about 6 candidates ever successfully completed the task. Interestingly, two of those (separated by hundreds of miles and many years) insisted on drawing an exponentially decaying sine wave instead of the specified linear decay. Most who passed (and I'm including the exponential decay wierdos), passed easily - typically completing the task within about 15 minutes. One only passed with an incredibly generous amount of help, hiring him was a mistake. One who openly admitted they could not pass the test (and didn't have the skills on her resume) was hired as a very successful software tester. One insisted she could finish if she could go back to "consult some resources" at school, and, indeed, she did return the next day with the solution, and a low cut blouse - we asked her to retake the test on-site with a small variation - she declined.

      --
      Україна досі не є частиною Росії Слава Україні🌻 https://news.stanford.edu/2023/02/17/will-russia-ukraine-war-end
      • (Score: 3, Interesting) by bzipitidoo on Wednesday March 08 2017, @07:17AM (3 children)

        by bzipitidoo (4388) Subscriber Badge on Wednesday March 08 2017, @07:17AM (#476365) Journal

        Wish I could have had more interviews like yours. What I kept running into were bullcrap interviews where I can't get past the initial screening to get to the tests, if there were any. So many companies are horrible at interviewing people, sometimes intentionally because they have a hidden agenda which may be to hire an H1B, or the boss's nephew who stinks at coding but needs a job. Can even be straight up discrimination. I've noticed some Indians strongly prefer fellow Indians over Americans. Sure, it's illegal, but how do you prove that there's bias?

        The first thing the HR weenie does is invent bullcrap reasons why most of my experience does not actually count. For instance, I taught C/C++ for several years. But all they have to do is apply "those who can't do teach", and cross off 5 years of relevant experience. Oh, and I also get tagged for having lied about my experience since I was supposed to know I shouldn't have counted the teaching job. Then they whittle it down further by tossing some job experience because it was unpaid because the company was going bankrupt. Volunteer work for open source projects? Cross that off, doesn't count if you didn't get paid. Okay, open source for which you did get pay? Cross it off too, it's open source, and open source is not serious software, it's low quality hobbyist garbage, so it doesn't count. I go from over 10 years of relevant experience to under 2 years, and am summarily dismissed for not having enough experience. Not that I want to work for a company that pulls stunts like that anyway.

        That kind of malarkey happens when employers are inundated with candidates and are desperate to winnow the pile of applicants way down. It has little to do with the competence and skills of the applicants, and everything to do with how tight the job market is. Competence and skill is not irrelevant, but it's definitely not the top criterion. When they can't get applicants, then it's the other way around. "We need a Perl programmer" "I know C++ and Java, but never used Perl." "Good enough, you're hired!"

        • (Score: 2) by FatPhil on Wednesday March 08 2017, @11:17AM

          by FatPhil (863) <{pc-soylent} {at} {asdf.fi}> on Wednesday March 08 2017, @11:17AM (#476396) Homepage
          Fuck, I've never worked a day in my life if those are the criteria!

          Personally, I'd value OSS work, in particular hobby work done for no pay, at least as highly as handle-turning just-for-the-pay-cheque work - at least it shows motivation (if indeed it does show motivation).
          --
          Great minds discuss ideas; average minds discuss events; small minds discuss people; the smallest discuss themselves
        • (Score: 2) by JoeMerchant on Wednesday March 08 2017, @02:05PM

          by JoeMerchant (3937) on Wednesday March 08 2017, @02:05PM (#476432)

          The market seems to be heating up a bit - turning in favor of candidates. Get in while you can, it will swing back the other way soon enough.

          Sadly, some places HR is very distant from the R&D/software departments, so getting past HR is an entirely different game from actually working with the people you'd work with - kind of double jeopardy.

          --
          Україна досі не є частиною Росії Слава Україні🌻 https://news.stanford.edu/2023/02/17/will-russia-ukraine-war-end
        • (Score: 0) by Anonymous Coward on Wednesday March 08 2017, @04:35PM

          by Anonymous Coward on Wednesday March 08 2017, @04:35PM (#476512)

          For what its worth, many many white americans are downright rude and even reject resume because it has an Indian name. I once pointed this out and was told that it is a correct strategy to weed out bad programmers. Similarly in my experience, Indian managers are downright abusive to Indian developers, especially if the Indian manager has managed to get a green-card/citizenship.

      • (Score: 2) by VLM on Wednesday March 08 2017, @02:49PM (3 children)

        by VLM (445) on Wednesday March 08 2017, @02:49PM (#476448)

        Interestingly, two of those (separated by hundreds of miles and many years) insisted on drawing an exponentially decaying sine wave instead of the specified linear decay.

        Let me take a (not so) wild guess, both EE turned programmers. I bet the linear decay guys did something simple like multiply a y-axis gain factor like the reciprocal of the X pixel value whereas the EE guys, having successfully completed DSP class, tried to implement a IIR DSP filter using like 5000 lines of assembly code. If you want to troll them ask them to prove their solution is provably stable or if passband ripple is showing up on the screen. Or if you really want to mess with them, the comments probably indicate if they used a tsyhebyshev, butterworth, or elliptic design and whichever one they used, tell them they chose the wrong one, LOL.

        Its been a long time but IIR filters have an exponential decay curve so asking an EE about sine wave decay is like waving a red cape in front of a bull, they're gonna go all DSP because they suffered thru a semester of designing the math for IIR DSP filters that is, in fact, exponential decay of a sine wave when you remove the signal from the input.

        EE RF is fun but personally I think filter design is about as exciting and fascinating as an accounting audit. Still, it'll pay the bills.

        • (Score: 2) by JoeMerchant on Wednesday March 08 2017, @03:04PM (2 children)

          by JoeMerchant (3937) on Wednesday March 08 2017, @03:04PM (#476458)

          One was an EE, but I believe they both stuck with the exp() library function (after all, it was supposed to be a quick test)... One had a bit of angst about how to make 10% at the end, do you measure amplitude at the extreme right side of the screen, or peak of the last wave? The non-EE was a self-taught OpenGL programmer - young kid, we hired him. Funny thing was, we gave them 30" monitors, and he liked some kind of pink colored chat board or something, when I'd walk up to his desk, his face would be illuminated pink by the screen, then he'd click quickly and the pink light would go away. I don't want to know what he was looking at, but I wish he wouldn't have insulted my intelligence by being so obvious about it.

          --
          Україна досі не є частиною Росії Слава Україні🌻 https://news.stanford.edu/2023/02/17/will-russia-ukraine-war-end
          • (Score: 2) by VLM on Wednesday March 08 2017, @04:47PM (1 child)

            by VLM (445) on Wednesday March 08 2017, @04:47PM (#476522)

            I believe they both stuck with the exp()

            Ugh cheaters should have implemented the whole DSP filter not merely simulated its response. Still you look at trailing edge waveforms long enough, "all sine waves should exponentially decline" its their nature LOL.

            My second guess would have been seismograph interpreters but that's almost like "the engineers of geology" so it all boils down to they were engineers of one sort or another.

            some kind of pink colored chat board

            4chan color? Look on the bright side you can only control how you feel, not how he acts, and at least he's showing respect by giving you 100% of his attention when you walk up. I'll click perfectly legit stuff down when people walk up to me in meat space, just to signal to them that I'm not ignoring them while they talk, if they thought it was important enough to physically walk over, I'll respect their gesture enough to make a gesture of my own of minimizing all my windows. If it wasn't super important they would have email, IM, slack, etc.

            • (Score: 2) by JoeMerchant on Wednesday March 08 2017, @06:22PM

              by JoeMerchant (3937) on Wednesday March 08 2017, @06:22PM (#476605)

              some kind of pink colored chat board

              4chan color?

              Is that what 4 chan looked like in 2007? I've only seen 4 chan screen captures on Reddit...

              Anyway, I never made a thing of it with him - you're right, it's a degree of respect, but I also honestly believe he had no idea just how dramatic the color change on his face was.

              --
              Україна досі не є частиною Росії Слава Україні🌻 https://news.stanford.edu/2023/02/17/will-russia-ukraine-war-end
    • (Score: 0) by Anonymous Coward on Wednesday March 08 2017, @02:02PM

      by Anonymous Coward on Wednesday March 08 2017, @02:02PM (#476431)

      Right, the interviewer's problem is to figure out what is going on inside the person's head.
          Can he communicate and think logically under pressure, does he have a useful base of knowledge to draw from, does he bluff.

      The CTCI stuff can do this for skills for writing programs, but leaves much to be desired in the area of figuring out what the programs should do.
      For that, you need domain questions outside programming.
      This is more interesting because it requires finding an intersection between the applicant's interests and the interviewer's.
      Finding any technical area where the person has experience/knowledge/understanding from a deep dive is usually a good sign, especially if it was as a hobby.

  • (Score: 2) by Pslytely Psycho on Wednesday March 08 2017, @03:10AM (1 child)

    by Pslytely Psycho (1218) on Wednesday March 08 2017, @03:10AM (#476298)

    As non-programmer outside of all this, could this just be a way of justifying 'we can't find qualified people so we need H1-B's?'

    Just some ignorant guessing.

    --
    Alex Jones lawyer inspires new TV series: CSI Moron Division.
    • (Score: 2) by Snotnose on Wednesday March 08 2017, @03:25AM

      by Snotnose (1623) on Wednesday March 08 2017, @03:25AM (#476304)

      No, it's more "I'd rather take the somewhat useful local dude for $100k instead of the cheap dude from India at $30k".

      --
      Relationship status: Available for curbside pickup.
  • (Score: 2) by fishybell on Wednesday March 08 2017, @04:33AM

    by fishybell (3156) on Wednesday March 08 2017, @04:33AM (#476325)

    I just did a video interview with Triplebyte. It only wasn't a whiteboard interview in the sense that I could type on my own computer. The questions were essentially exactly the same.

  • (Score: 0) by Anonymous Coward on Wednesday March 08 2017, @05:01AM

    by Anonymous Coward on Wednesday March 08 2017, @05:01AM (#476336)

    I have been doing this for a few months.

    I am seeing several different types.

    The 'where will you be in 5 years' types. They know what they want actually. They have 0 problems in 'I will train you'. These are actually fairly rare. But you see it here and there in the upper level interviews. I had 2 of them today and a technical interview. There will be screwups in their org as they do not filter them. They do mostly contract to hire. So if you dont work out they just dont renew.

    The 'test takers'. They know they do not want a screw up. They are usually unsure of their actual business. But a screw up they do not want. They will use tests that rate you at 90% or better to only get the job. When one question about some nuance of a language that you forgot about years ago can knock you by 3-5%. Had one guy say 'I want you to crank out this project in a week'. It was *easy* a 2-3 month project. Having done a few in my time I knew this. I looked at him and said 'that would be quite the trick'. Didnt get a call back on that one. Course the recruiter said he has not call back at all for anything so maybe he is flaky. That was a month ago.

    The impossibles. They ignore you. Anything you do they ignore. It is a black box. Call them? Straight to voice mail. Email? Ignored. Suddenly you are closed out with no reason given. You find out you are closed out because the job is just 'gone'. No 'thank you but no' Just nothing. I suspect these are being farmed out to H1Bs but can not prove it. They just had to post to fulfill some internal requirement.

    The emailers. They don't ignore you. They just reject you. But at least they can make their job software communicate. You just did not happen to fill out their acronym soup properly.

    Then you get the 'puzzle' guys. These guys... I swear. They want to pretend they are the best of the best and googles engineering org is beneath them. I have worked with that type. They do not act this way. I have one coming up that they want me to take an actual IQ test (not a programming test). Another one I applied for and went through his tests actually said he wants 'Mozart and not Salieri' in the summary of the job. These are the sorts of people who think you should have been working with C++17 already for 2 years. This book is the best for these sorts https://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/0984782850 [amazon.com] . She also has a set of videos on youtube that go through her problems nicely. It is a good refresher of all that junk you have forgot about in CS. The stuff you only use once and awhile as by this point most of it has been burred into the SDKs and libraries.

    Above all I have noticed one quality. These people are flakes. I honestly think one of my recruiters is on coke. Two of them have no idea how to use the phone. One works her ass off and has found me 3 different places. One of them seems to *love* email he sends a position almost every other day, no interviews out of it. Many will ignore you if that 1 single job didnt work out.

    Another thing I have noticed? In the past 6 months jobs have dried up. Oh there is plenty of action on the boards from a handful of companies. But nothing seems to be filled. A couple of cities I have been trying to move to went from 40+ places hiring to 4-5 large companies only with jobs. I have also noticed many of these companies are being ultra picky. They can afford to be. Many of the ones where it is tracked I see 100+ applications to one position. I am also getting 2-3 recruiters calling me on the same position. When I press on other positions they ghost on me.

  • (Score: 0) by Anonymous Coward on Wednesday March 08 2017, @06:07AM

    by Anonymous Coward on Wednesday March 08 2017, @06:07AM (#476351)

    Thinking up good questions takes time and most people are fucking lazy. It's easier to grab a puzzle problem from Google than think (at least in the short term).

  • (Score: 2) by bradley13 on Wednesday March 08 2017, @07:09AM

    by bradley13 (3053) Subscriber Badge on Wednesday March 08 2017, @07:09AM (#476362) Homepage Journal

    At a guess, part of this is trying to establish basic competence. You have 50 applications for a position, all with beautifully crafted CVs and apparently good references. Of those 50, 25 are people the last company was glad to be rid of.

    If you have letters of reference, maybe there is a hint, and maybe not. I once had a letter of reference, where the only positive thing was that the person kept their desk very clean. That's unusual, though. So how do you tell who's competent, and who is bullshitting? You don't have time to wade through 50 portfolios of code, so you have to narrow the field, ideally by eliminating the "programmers" who can't actually program.

    So the idea of a couple of simple technical problems is to provide a first filter. The old FizzBuzz wasn't a bad example: it didn't require you to remember trivia, but did require a bit of thinking on your feet, since it's not as easy as one thinks at first. If it knocks out a couple of the competent people, because they're bad at riddles, that's life. The real goal is to knock out all of the incompetent ones, and it will do that.

    That said, I agree with what another poster wrote: small companies are different. They are more likely to take time to understand your history, your portfolio. They may actually call your references. It's a different (and, imho, better) world to live in.

    --
    Everyone is somebody else's weirdo.
  • (Score: 1, Insightful) by Anonymous Coward on Wednesday March 08 2017, @07:50AM (2 children)

    by Anonymous Coward on Wednesday March 08 2017, @07:50AM (#476369)

    I'd really enjoy it if we could go a few months without this "those darn interview questions are hard!!!" posts.

    I friggin LOVE the whiteboard section!

    This is a chance for not only the company to interview you, but also for you to vet the company.

    This is the part where you're in charge and it's probably your first and last chance to seize control of the interview process and turn the tables.

    You're going to find that the whiteboard interview boils down into 2 camps.

    #1 "specific skills", they're looking to see if you know the tools you claim to know how to use. They want to see you reference at least some of the syntax of the language. The interviewer in this case is probably just someone from HR and has no real skill themselves. In this case, you just bluff your way through it, it's a breeze, there's something in the job description and they want to see and to prove that you need to know the right buzz words. If they have no basis of reference you can literally make shit up here. Just appear confident, be confident, because the interviewer just wants someone who's confident and can pronounce the right buzz words on the check list. The answer here was in the job description, so memorize that ahead of time.

    #2 "analytical skills", in this case the interviewer is someone you'll be working with, possibly every day. If they're doing this right, then what they're looking for is not a specific algorithm, but the thought process you go through in order to come to an answer. They're also deciding if they want to work with your scraggly incompetent unconfident ass. This is an incredible opportunity for you!

    The person interviewing you is someone you'll be working with, the question is going to be related to something they're tussling with whether they're aware of it or not. I usually turn this into a collaborative whiteboard session and use the time to demonstrate my ability to lead by getting the interviewer to give me the answer. How? By turning the tables on the interview process. This person either knows the answer already, or you're helping them figure out the answer. Either way, no matter what answer you provide, it's not going to be good enough.

    You need them to give you their answer and you do this by asking questions as you go through it.
    Then as they start giving you the answer they want and you start seeing the bigger picture, then you just say things like "you know your answer is great, but have you considered .... ?" or "Wow, my answer would have been .... but honestly your answer is better. Even if I don't get this job today, I've learned something new, thanks for that."

    So the real answer here is don't lock up like you're 16 again, it's prom night it's your first date ever and the head cheerleader is your date!

    Go into the interview with the mindset that no matter what the job is, who it's with or how much it pays. You don't need THAT job, hell you don't even need A job, you're looking to fill idle time or you're in the process of deciding whether to leave your present employer because they've offered a smaller raise than you wanted or your deciding whether or not to go back to a 9 to 5 from contracting because 20hr days are the norm while contracting.

    Either way, keep in mind that the whole interview is about 2 things, confidence and competence and competence really is a secondary concern because no matter what your background you're going to have re-learn everything their way. Just be flexible, adaptable and confident everything else takes care of itself.

    • (Score: 2) by theluggage on Wednesday March 08 2017, @01:30PM

      by theluggage (1797) on Wednesday March 08 2017, @01:30PM (#476418)

      I friggin LOVE the whiteboard section!

      It sounds to me that there's an important distinction between the "whiteboard programming challenge" (write me a simple sort routine -> now tell me why it is shit -> what would you do if you had to sort a table with 100 million entries*?) and the "whiteboard compsci trivia quiz" (write down the algorithm for Fullers's Tangential Dropsort).

      I'd also use "Here's 100 lines of code - how many bugs can you find?" - and if the first words out of their mouth are "brace style" or "it isn't written in Haskell" show them the door.

      * Correct answer: use an existing library designed for big-data DBMS, or at least look up an algorithm written by someone who did their whole fucking PhD on sorting large datasets. Or did you want me to sit in my cubicle for a few weeks re-inventing the wheel?

    • (Score: 2) by VLM on Wednesday March 08 2017, @03:00PM

      by VLM (445) on Wednesday March 08 2017, @03:00PM (#476455)

      They want to see you reference at least some of the syntax of the language.

      That aspect makes me nervous sometimes. I use emacs, the last time I typed and indented a right parenthesis was ... a long time and a couple languages ago ...

      Also I'm lazy and paranoid so I put all the brain cells on testing and system level stuff and I'll look something obscure up online every single time. two decades screwing around with mysql and I still occasionally pluralize INTERVAL types despite having made that mistake a zillion times, but I never do anything really dumb, however. Oh here's another good one, you'd think after 20 years I'd have memorized that DAYOFWEEK() result index starts at 1 is Sunday but every time, including typing this post, I have to look it up, or I do something dumb like Monday=0 or whatever. Hilarious. I suppose I wouldn't want a lower level job where my only thinking task is remembering that Tueday=3 or WTF anyway.

  • (Score: 0) by Anonymous Coward on Wednesday March 08 2017, @08:57AM (2 children)

    by Anonymous Coward on Wednesday March 08 2017, @08:57AM (#476377)

    First off, I have been programming 20 years. What a bunch of whiners. You really ought to know that bubble sort is O(N^2) without a second thought since it is just two loops. And puzzles should give you a chance to show off that deep deep mental stack you've developed from those many years of solving the tough problems that the kids always come calling for help on.

    I think the only relevant comment I saw was how they're not really there to hire you anyway on many interviews because it is often just an H1B paperwork shuffle.

    • (Score: 0) by Anonymous Coward on Wednesday March 08 2017, @01:55PM

      by Anonymous Coward on Wednesday March 08 2017, @01:55PM (#476430)

      Yeah, well, I've been programming for 40 yrs. (70's) and you're an idiot. Also: everyone knows Big-O. Tell me, smart-guy, what are the Little-O or Omega complexities of a bubble sort.

    • (Score: 0) by Anonymous Coward on Wednesday March 08 2017, @03:45PM

      by Anonymous Coward on Wednesday March 08 2017, @03:45PM (#476484)

      First off, I have been programming 20 years. What a bunch of whiners.

      Well, suck this then: find minimum sum of a non-contiguous sequence of N elements.

      Layman terms: have an array of positive values representing the strength of links in a chain. The cost of cutting a link is proportional with the strength of the link. Find the minimal cost of cutting the chain in N+1 pieces.

      For N=2 (three segments, two cuts) - time limit to solve: 20 mins (actual interview test).

      General solution for arbitrary N - time limit to solve: 3h.

  • (Score: 2) by Phoenix666 on Wednesday March 08 2017, @04:05PM

    by Phoenix666 (552) on Wednesday March 08 2017, @04:05PM (#476490) Journal

    I took a different tack than what most have talked about here. I suck at those kind of gotcha tests in interviews, so I avoid them. I know I can build solid systems because I have done so many times. (There's even one guy at Kaplan, the test-prep company, who has built an entire division and his career there on some CLI perl scripts I wrote there 20 years ago when they brought me in to run QA on an online test-prep product; I know he did because 15 years later he emailed to ask me to do some more work for them, and when I went in to talk to him about the job he asked me to update the scripts I had written and introduced me to his lackies who were still using the CLI scripts I had written with the ReadMe that I threw in with it.) So I know I can deliver.

    I realized that the pop quiz shit is what the HR drones and low-level coders use to play gotcha with candidates. It's an ego trip they enjoy meting out because normally they're the low man on the totem pole in the office. It's much better to get directly in front of the hiring manager, who typically does not give a shit about ego trips and is much more interested in what you can do to solve his problem. There are two sure-fire ways to do that.

    First, come in as a consultant. HR people handle employees, managers handle consultants. Second, find a good agency and use them. They almost always work directly with the manager, not through HR. Very few places, even very big ones, take the time to be so process-driven that managers will route everything through HR to cross all the t's and dot all the i's. They have real issues to resolve that have millions of dollars at stake, that are weeks behind schedule, and will directly affect their personal bonus and career prospects. They want the answer now, now, now. And because they want the answer now, now, now it's very easy to employ a simple social hack once the interview has begun: ask them what their needs are and connect the parts of your resume to a solution they need.

    They actually really appreciate it because who has the time & patience to run you through a panoply of bullshit gotcha questions like, "Where do you see yourself in 5 years," when there are a dozen fires burning outside the door of their office that they're not tending to while they're talking to you. And if you, having turned the interview around, find that you really don't have the background necessary to solve their problems, or don't feel like faking it until you do, you can candidly tell them that you're not the right fit. That wins you big points with them, and they might remember you when something else comes along later that might be a fit. If you know somebody else who would be a fit, offering to connect them to the hiring manager deepens their good impression of you (especially since in that case they wouldn't have to pay an agency's high fees, if you came through the door that way).

    Also, another reason to avoid these kinds of gotcha quizzes in interviews is that walking into them is a mistake. Rank-and-file coders get quizzed like that. If they pass and get hired, they are treated like cattle, like a commodity. You live a marginal existence of abuse and contempt, of seething while the marketing jerks add 50 requirements after the code base has been finalized and the manager nods because the head marketing jerk told a funny joke and surely he's right--do what you're told, code monkey. Much better to come in as an exceptional talent who can think outside the box and electrify a team. It's sexy, and the PHBs will pay top dollar for it. That's where the margin is. Also, it insulates you to a large degree from being victimized by the H1-B scam we all know about. Better than that is to come in as an exceptional talent at a managerial level, because the margin on that is even better.

    Finally, if you approach the job search process that way, using these vectors to get in at a more lucrative and satisfying level, then the psychology of the process switches from your being a beggar at the banquet, hoping to be found worthy to receive the crumbs they brush off the table, to a self-directed adventurer with a jaunty cap on your head, a whip in one hand, a pistol on the other, and a witty remark at the ready. The former is supine, the latter glowing with confidence.

    Which one would you hire for a lot of money?

    --
    Washington DC delenda est.
(1)