Interviewing candidates

I've been interviewing a lot of candidates lately and so often wish I could help them out and push them in the right direction.

This thread is for people on both sides of the interview to ask questions, make comments, and say the things they wanted to say. Happy friday night motherfuckers.

Attached: whiteboard.jpg (681x776, 114K)

I had one a year ago after graduating. I got so nervous I couldn't even write one line of code I just stood there for an hour.

I haven't applied to a job since, I have no idea how to recover my life.

Attached: c01.jpg (535x767, 68K)

Guess I'll start. The first 20 seconds are the most important, I've probably made my decision within your first sentence.

>My fav. question to ask recent grads.
I give you a text file with ten-million rows. It is mixed with Chinese characters, emojis, and U.S. currency.
Write a program to strip out the rows with U.S. currency without loading the full data set into memory.
In the language of your choice.

I haven't been on the side of the interviewer, but I have seen people perform interviews.

In my experience, the interviewing process is not rigidly defined--you ask the guy literally whatever you want and then give the yes/no to whoever's up the pipeline.
In fact in many companies I suspect the process is something like "Hey Dave you wanna interview this kid? Yeah, sure. Cool, it's in 15 minutes. What the fuck? *furiously looks up interview questions online* *the interviewee can see the website reflected in Dave's glasses"

How do you structure your questions?
We often judge purely based on algorithms simply because there doesn't seem to be a better way to judge a person's intelligence and problem solving capabilities.
Some of us make stages of questions, where we give the interviewee easier or harder questions based on how much they struggled on earlier questions.

Are the us currency entries marked by $

Signs point to you being a colossal fuckup and the kind of person who people refer to as "mentally unstable homeless incapable of holding a job for long periods of time."
You should see a psychologist and find a solution for your excessive anxiety while you and your family can afford it.

Being honest, unless you're literally in sales, the interviewer isn't judging your ability to stand up and perform. The job is one suited towards introverts who will all day stand behind a screen, and meetings will show your "face" as the two initials which make up your name.

The only decent cause you have to be nervous is after the interview, because the interviewer will give you a pass on being autistic, so long as you aren't argumentative and antisocial.

In place?

I've been to a psychologist about it, I can kind of do a bit of social stuff now. But I have no idea how to make people look at my resume and not dismiss it for the gap.

you mean without loading everything at once? would line by line or character by character be okay?

Hopefully you know exactly what you want from a candidate -- there should be different expectations for an intern and a senior engineer. E.g. for an intern I want to know if they can pick things up and listen well, so I send them a short coding problem beforehand, and then discuss ideas and improvements during the interview and see how they react and work with me. For a senior engineer I care how they interact with people and general philosophies, so I probe their opinions on things like personal conflict and code reviews. But the most important thing is that I'm consistent between interview so that I can compare one answer to the ones before it.

Dismiss it for the gap??? Say anything, I don't care at all what you did -- you could have been finding yourself in Japan or spending time with your mother. All I care about is that you can program and I can work with you.

I have interviewed a couple of candidates at my company, but in my company we usually don't ask those point-blank generic questions... The process goes something like this:

> HR screening for making sure they aren't not a psychopath or retarded
> We email the candidate with a very small programming project, related to the position they are interviewing for
> The candidate can ask for how much time they want to complete the assignment, as long as they show some kind of planning (of course this is part of the evaluation)
> I schedule a meeting for the candidate to tell more about them and explain the code they wrote to me

In the end, I write a report recommending or not the hiring (which is most of the time respected). I like this process very much, I think it evaluates better the candidate and puts them under less stress

If anyone here wants it, I think I can come with an example of small project for a given position

The issue I suspect is that people are just throwing away your resume before even talking to you--which is a problem of you not submitting enough resumes.
People will throw away your resume for less.
There are more companies, more interviewers, and more positions in the world.

If you have a friend in the industry; and by friend I mean someone who knows you're not a fuckup and are capable of doing good work, an industry referral is as good as a guaranteed interview.

Ok. I just find it so hard to get the image of the sneering Indian man breathing down my neck 2 feet away.

It was my worst nightmare come true.
I have a friend at google and one at fb, I've been wanting to ask them but unsure if I could handle the interview.

>If anyone here wants it, I think I can come with an example of small project for a given position
Go for it

Also curious, but depends a lot on the position. What are you hiring for? Electrical Engineering? Pure math?

>Google
grind your algorithms and if you fuck up you get a one year or so cooldown before you can apply again. Since it's you, you're probably put it off until you feel confident (will never happen) so you might as well learn to suck it up and treat it as an opportunity to experience failure and pick yourself back up.

>facebook
dunno

>Doing interview
>Guy mentions FizzBuzz
>Try to be funny and reply, "No thanks I only drink Diet Coke"
>All three interviewers just stare at me without saying anything for a full minute
>The fourth one points at the door and tells me to never apply there again
>Can no longer get any job because every time I apply they always, "Oh god you're that Fizzbuzz guy"
>This has been going on for 5 years

I want to die.

Attached: When you're all out of yay.jpg (867x630, 246K)

The philosophy is understandable, but now to try to convince my coworkers. We've only had to interview interns so far, not a big deal yet.

time to move to another country

Attached: sensible chuckle.gif (720x404, 405K)

Had a great interviewing experience a couple weeks ago and got the job
However, I hesitated on writing a thank you email to the interviewer
I wanted it to be something unique that they hadn't already seen
I ended up not sending anything
I'm thinking about hand-writing one since I'll see them at orientation
Do interviewers care that much if you don't send them a thank you note?

> couple weeks ago
too late.
> got the job
they're you're co-worker now

They'll think you're being a suckup and want to suck their dick.

Dude get your mouth off their cock
>since I'll see them at orientation
Just say hi and treat them the same way you would treat any other person or coworker. Shoot the shit, maybe talk about how your interview went.

Don't be a sperg.

My company makes systems for automating industrial operations management. I work with some of the back-end services with AI-related stuff. It is expected from the candidate some proficiency with basic algorithms/math and some software engineering.

An example test might go something like that (not putting too much effort into that, friday night and all):

Based on the Hexagonal Architecture (Alistair Cockburn), write a RESTful service for solving the Knapsack Problem with a predetermined set of items stored in a database. Write unit and functional tests where you deem necessary.

You may use any language and frameworks you are comfortable with.

you're looking for competent programmers that know how to solve the knapsack problem in a common web paradigm and write unit tests for it? that's terrible. you're going to find someone who knows a little math, a little full stack, and a little software engineering instead of individual people who are experts at one of those.

we're both girls though

>the Hexagonal Architecture (Alistair Cockburn)

Attached: 1504574456786.png (804x702, 428K)

Attached: 1497480105985.png (1039x988, 1.16M)

I don't think a junior dev should be put through a whiteboard interview because they don't have the experience of writing code by hand. Specially if they are fresh out of college.

If you're interviewing for a senior position, on the other hand, that changes everything. A senior dev has no excuse not being able to write a program by hand. Of course typos should be forgiven. One thing is not being able to remember std::mt19937 another thing is not knowing the structure and syntax of the language.

>knapsack problem
simple dynamic programming that's taught in most classes; and he said this is an example of a take-home problem anyways, they can just google the answer.
>REST API
you do this once in any framework and you have it down for life

>any software engineering, Alistair Cockburn
probably the part where most people will have trouble, but I bet OP isn't looking for a perfect answer or implementation anyways.

To be quite honest, I'm not expecting anyone to ace that test. Mostly who delivers a working solution gets a recommendation, as the enormous majority of the candidates don't even give it a try.

Well, you should read up, even if you don't like OOP

This. I expect the candidate to be able of explaining in detail the solution to the problem, though. And if you said the phrase "REST API" I would ask you what is REST.

> don't even give it a try
iktf

This. I can not fathom why anyone would think a whiteboard interview is okay for junior or intern positions. In my case I have no experience outside of my classes (hence why I am applying for internships) so I have no experience writing code by hand for the sake of it. Just seems really retarded.

I feel like I'm a pretty good interviewer. I've jumped jobs a lot because I had shitty employers and I got a pay raise each time. I'm finally at a job I like, though. The most important factors in a job for me are that there are nice, intelligent, people, a company that values engineering, and of course a high salary.

However, I haven't been able to get a job at big companies like Google and Amazon. They always ask me dumb shit like graph search algorithms and complex math shit. There is absolutely no way you guys use that in your jobs. How do people get jobs there? Do they actually memorize all these pointless algorithms just to suck Google's cock? Or do they get lucky enough to get sane interviewers?

Me again. I'm pretty bored so gonna type up a story of my most memorable interview.

>just got laid off my first programming job after a year
>start to panic since it's still early in my career and it's hard to find work without experience
>interview for a front end dev position out of desperation
>in the interview, talking to two older front end dudes
>they ask me what kind of job I'm looking for
>tell them I don't like javascript that much but I can see the value of it in the web and it would be good to know
>they ask why I don't like it
>I talk about why static typing is superior and say I don't really like dynamic typing
>the rest of the interview is them mocking me, acting like I'm an idiot for not liking javascript
>at one point they ask me to describe what happens when you make a request in the browser
>talk for 10 minutes about ACK and packets and whatnot
>they tell me that was the best answer they've ever heard and that clearly I memorized some answer that an interview prep gave me
>tell me I'm unqualified for the job and I leave
>thankfully I end up doing backend Java work after that, but Jesus christ what is wrong with front end devs

Honestly I feel that any jobs in computer science or software carry the stigma that you have to be a genius to work that job because "computers are so hard!" when that isnt the case today.

It ties into the larger problem of needing experience to get a job and needing a job to get experience.

exactly. I have been stuck in that loop for some time now and it is really frustrating.

honestly at the point where they started mocking you for disliking javascript you should have just left the room and said "I didn't want to work with spergs anyways"
Burned bridge with some no-name startup, maybe they'll learn a thing or two about being overconfident pricks.

I keep getting the same reply from interviewers when I follow up
to paraphrase:
>"You were a strong candidate, and we wanted to hire you, but there were other applicants who we felt looked better in the position."
Is this code for diversity hires, or do I just need to actually get better?

I'm not even in one of those big ones, and I make a living mostly on graph search and "complex" math shit. See my post I agree that's not the kind of stuff you should ask for in a interview, though. It's such a high-stress situation, and not at all like whatever you would do in your work life... Maybe draw the graph in the whiteboard and explain the algorithm with arrows and such, but I agree that writing code in the board is retarded.

that's code for you have autism

the reality is that if you're not FAANG, you're probably not receiving hundreds of applications for a single position and thus have no leeway to idiotically attempt to look for 10Xers with 50 billion years of experience in creating the universe from scratch.
They take what they can get, and chances are what they can get is you.

You do have to be fairly intelligent to be good at programming. But yeah you don't need to be anywhere near genius level. Not sure why they expect that kind of thing, I guess because they have so many people applying they have to do some dumb bullshit. But then they complain about a lack of engineering talent. Assholes.

Yeah I probably should have, but like I said I was desperate. I was hoping I could at least convince them to let me talk to their java guys.

>they tell me that was the best answer they've ever heard and that clearly I memorized some answer that an interview prep gave me

so are you supposed to be fucked for being prepared to answer a question in an interview? would not having any answer given the opposite outcome for not getting the job? guess you dodged a bullet with not having to deal with those people

I think at that point they just thought I was stupid and they were trying to fish dumb answers out of me for laughs. In a normal interview that would be a good answer.

What is sed.

And we're done.

>I'm not even in one of those big ones, and I make a living mostly on graph search and "complex" math shit.
You're not writing graph searches yourself every time you need one though, right? You should be using a library. It's good to know these algorithms and what they do, when to use them, etc., but asking someone to write it from memory in an interview is retarded.

Front end dev is THE most retarded area in programming. You really dodged a bullet there.

But as a hint, if you're talking about ACK packets in a web dev interview, you are probably going too low level. You could ask to be sure, but chances are they are only interested in layers 5+ of the OSI model.

No, not even that. They told me the answer they were looking for was something like "it sends a GET request to the website".

What I want to do most is smack headhunters and parents who tell this kids to embellish their resume. We have great BS detectors, and if you claim expertise or deep experience with something, it's fair game.

If you say you know C and C++ both, and can't even give me a single sentence explanation of what they do or which is for what language, you're out. If you don't know some esoteric tidbit, or don't know something in the standard library, that's fine as long as you're honest about it. Even admitting you haven't touched it in years and your knowledge is rusty is ok, if you can show you still know the broad strokes.

A question about algorithms is a metaphor for intelligence.
If you understand how to execute a well known algorithm out of a bunch of algorithms you could have possibly known, or if you can just invent a similar algorithm out of nothing, then chances are they can just train you in whatever subject area you need to be proficient in and you'll absorb it like a sponge.

There is a time and a place for interviewing people on the specific domain you intend them to work on, but interns and fresh college grads are such a mixed bag that it's not worth assuming anything about their knowledge.

We once got an intern who was a junior from an ivy league CS program, that didn't know what an IP address was.

So I passed interview #1 for a summer internship. It went really well. The job would basically be learning about full-stack webdev with Angular.js on the front end and ASP.net on the back end.

They want be to tour the company for most of the day, as well has have a second more-technical interview. I've been brushing up on SQL and javascript, but I'm still feeling nervous about how I should prepare. What kind of questions should I ask? What kinds of interview questions do employers typically ask for a full-stack job? I really don't want to fuck this up, as it'd be my first internship.

>that didn't know what an IP address was.
Wait, that was one of my coworkers.
The intern didn't know what localhost was.

Sure, the very basic ones are easy to find in a library. The slightly less basic ones (such as ID-A* for example) aren't that simple to find in a well-maintained library, depending on your stack.

When you get at the more advanced (and useful) stuff, such as temporal planning, chances are you will have to implement it yourself, but you can always check the books.

Yeah you're right, for someone fresh out of college it's perfectly fine to ask algorithm questions since that should be fresh on their minds. Google will ask algorithm questions no matter your background... actually I've heard the front end interviews are easier.

I keep dead ending in the final interview for all my recent job exploits. The first interviews go easy because I did some interesting projects at my last job that I can talk about, but when it gets to that last interview they suddenly remember they have to fill a spot and forget all that. Is it really just about BSing that last step to get in the door? Getting real frustrated wasting all this time because engies can't weed people out at earlier stages.

It's not your fault, they just found some tranny or nigger to fill the diversity quotas

"Research."
>researching what?
Anything you want, kid, but be prepared to answer minor questions about it.

i remember once an interviewer describing a generic function and asking me what it did and i got lost in the weeds trying to correct his syntax and merely explain it in a general way, after ruminating some time on it it seems he was merely describing a generic function at the time that was converting celsisu and Fahrenheit but i didn't describe it that way. i merely said he was applying a generic formula to some real number he was passing to it and getting some real number back.

i'm pretty sure it ended up costing me the job. feels brainlet man.

What's the encoding?

>generic x3
>merely x3

i've had this interview for a uni internship, but the project was way beyond the level of a second year uni student and got critiqued on my C# using something to interact with powershell specifically as opposed to being more modular which wasn't even part of the assessment.
Point is, those are certainly better than whiteboard tests, but still suck if not done well

Any examples of positive vs negative first 20 seconds?

well i am sorry, i am currently merely generically drunk

whoops. this post was merely meant for:

Buzz cola is the shit. Fuck those NPCs with no humor.

Attached: 123423512341234.png (624x352, 235K)

had my first technical interview today since college. actually stumbled on defining inheritance.. still got asked to go in for 3rd interview though..

>What kind of questions should I ask?
ask about company engagement in the community, how the office is, working hours expectations, dress code...

also, fuck angular

He's the guy throwing the party right?

I know it's shallow, but personal hygiene is the first impression you give. Cut your nails, pluck your eyebrows, shorten your nose hairs, and wear deodorant. Not entirely sure how to put it, but don't be a redditor. I'm not there to connect with you, just work with you. Answer the actual questions I ask -- don't ramble on about something entirely different. Ask me about myself, and act interested in my work. If you can do those things you don't even have to get the rest right, just have to cooperative and nice.

Attached: 1532835488803.png (924x572, 537K)

I have a hard time believing people would get that hung up over a shitty joke for 5 years.

Made me chuckle
Can't you just get away with 'hey, it's just a joke' excuse?

Attached: 1533783891540.jpg (600x600, 51K)

I never pursued the issue. It's none of my business what the guy chooses to do with his life as long as he doesn't make the pathetic display of not knowing localhost a second time

Work for a FAANG company, I do two questions, sometimes three. I don’t make people write code, just describe an algorithm, and write out key parts like the Opt in DP or recursive step. Everyone else makes you write code so, I figure you’re either smart enough to learn or you’re good enough.
First question is usually easy if you have a decent background in algorithms you should clear this.
>ex: find me the local min of an array
I would say 70% / 80% will pass the first question. I look here for your ability to analyze the problem and reduce the problem, once you’ve proved you have some ability to analyze and approach the problem, I’ll Guide you along if it’s taking too long.
Second question I choose from a graduate algorithms course I took. I fully expect people to fail. No one has legitimately solved it on the spot. Some people try to pretend they’ve never seen it and give me the solution (don’t ever do this btw) in which case they either get a question whose solution involves the Fourier Transform
> ex: I have two arrays of ordered objects that map to each other in some way (I.e a1 < a2, but m(a1) != b1) . design a data structure that has exactly N space, and facilitates < O(n) search time.
Usually there’s 20 minutes left at this point, so what i evaluate is how you handle stress, and and approach a problem that you probably have no clue how to solve, and certainly don’t have enough time to

Are all technical interviews easy if you just paid attention and did decently well in your algos and data structures classes? The three questions I got during my last job hunt:
>implement a common sorting algorithm
>implement a common data structure
>dynamic programming
Not going to be interviewing for a while, since I got the job, but for the next time I'm on the job market: did I just get lucky with easy questions, or is this what I can expect from most everybody?

Kinda just depends, I feel like it’s largely dependent on the company, and just luck. Usually they’re not super hard questions just upgraded fizzbuzz, but they can still catch you off guard if you’re rusty. Senior level positions usually have more domain specific stuff

>Guy interviewing me has an incredibly thick indian accent
>Can't understand a word he's saying
>He starts yelling at me
>Calls in another guy to explain what he's saying to me
>He has an incredibly thick Vietnamese accent
>They both start yelling at me

Attached: aids.jpg (334x274, 42K)

Did you get the internship? You should get used to (possibly quite harsh) code reviews, but that doesn't mean you were below expectations, as these take-home tests are challenging on purpose.
Good design and tests are ALWAYS expected. At the bare minimum you learned that.

I've noticed that only other women send me thank you notes after our interviews. These thank you notes do not factor into my assessment of whether to hire you. In fact, I've already written a report about you (with a Strong Hire, etc) vote for each stage of the interview process before you even have a chance to write the note.

Last interview I went to, they had the whiteboard all set up like they were going to make me do some dumb whiteboarding exercise, but we ended up just having a two hour chat and they offered me the job before I walked out.

Dude, that is when you realize you're wasting your time. That is when you walk out of the interview.

Have you ever hired anyone who drew a dick on the whiteboard?

>Signs point to you being a colossal fuckup and the kind of person who people refer to as "mentally unstable homeless incapable of holding a job for long periods of time."
Temple OS needs a new High Priest.

Something from a manga that isn't absolutely useless? Well color me red and fuck me with a shovel! Now I've actually seen it all.

Attached: mr-bean_still01.png (1475x1476, 646K)

That edge is pretty sharp lad, don't cut yourself.

Attached: 1502078029696.png (499x338, 38K)

this is how it should go if you are competent and know that you can find a job easy:

>walk in office
>see a shitskinned hindu walking around
>leave

This is a possibility that I have to live with.

Attached: I happen to be an idiot.jpg (996x720, 81K)

>Tfw all three of those things
I keep getting the boot for unacceptable social behavior kek

Well it does, why do you even give a shit about going into details about some protocol that could be interchanged by something else in the future. An addressing protocol exact function is trivial information its about the bigger picture.

PC1 asks shit from PC2 over a network which may or may not return it. That's literally all it is in the end.

1. Read it into a stream.
2. Write each character to a new file until you encounter $. Move forward in the stream without writing anything until you hit a CR/LF/CR+LF.
3. goto 2

with open('in.txt', 'r') as i, open('out.txt', 'w') as o:
o.writelines(line for line in i if '$' not in line)


Why is Python so comfy?

>> ex: I have two arrays of ordered objects that map to each other in some way (I.e a1 < a2, but m(a1) != b1) . design a data structure that has exactly N space, and facilitates < O(n) search time.
I don't understand question, formalize it more ples.

a
foo$bar
b

you print

a
b

should have been

a
foo
b

>strip out the rows with US currency
You shouldn't be printing "foo".

Sure let's do it your way too, then

with open('in.txt', 'r') as i, open('out.txt', 'w') as o:
o.writelines(line[0 : line.find('$')] for line in i)


This one has a few gotchas: It will cut at the first $ and will write an empty line if it starts with $.

Still max comfy

Console.WriteLine(
string.Join("\r\n",
File.ReadLines(@"C:\input.txt")
.Where(x => x.IndexOf('$') != 0) // skip $ if it's the first char in a line
.Select(x => x.IndexOf('$') == -1 ? x : x.Substring(0, x.IndexOf('$'))) // stop at first $
)
);

output is
a
foo
b

if input.txt =
a
foo$bar
$
b