Fog Creek Software
Discussion Board




rigerous tech interviews

I recently went through a rigerous technical interview,
around 3 and half hours( I got the position), where I was asked pretty much everything cs related from OOP,data structures, algorithms, cryptography,OS,threads,sockets, shell scripts, automata theory, reg expressions, database queries, C++,Java, pretty much everything.
The questions both tested knowledge as well as doing problem solving given a problem.
I found the whole thing pretty draining, being asked around 50 questions in all, can other people share some of their experiences, have people been through these types of all inclusive inteviews for soft. dev positions?

Scott
Friday, April 25, 2003

You don't want any job where you don't get interviewed like that.

Think about it - would you rather work with people who know their stuff, or who know what their biggest weakness is, and where they see themselves in five years?

anon
Friday, April 25, 2003

What was this position for? I have never had any interviews like this or even close to this. I also have never used most of what I know. Do you live in the USA?

Curious
Friday, April 25, 2003

Well congrats on getting the job, personally I would've told them where to stick it! (Assuming I could afford to ;-)

If they make you go through that before they'll offer the job, what the hell are they going to be like to work for?

My guess is we'll find out soon :-)))

SteveM
Friday, April 25, 2003

The position is in the states, small company, around 7-8 software developers. The owner of the company has some software patents, and most of the developers are "toppers" from Berkley, stanford etc....
I seem to be the most underqualified among all of them.
But I don't know why I was asked such a variety of questions.

Scott
Friday, April 25, 2003

Oh.. I also had to give 5 -6 samples of C++ code

Scott
Friday, April 25, 2003

Well to get a patent takes almost nothing except filling out paperwork. You don't even need a working product just the idea. I worked with a guy who had 80 patents...of ideas only. I am still curious to know what area you will be working in, is there a product involved?

Curious
Friday, April 25, 2003

A few products, mostly regular applications, ERP systems, some algorithm development withrt. to info retreival,
mostly business applications in C++,Java

Scott
Friday, April 25, 2003

>> A few products, mostly regular applications, ERP systems, some algorithm development withrt. to info retreival,
mostly business applications in C++,Java

And they grilled you like they were looking for Stephen Hawking's clone.

I know that a lot of techies will say "great! a really meaningful interview where the interviewers really know their shit, and they hand picked the absolute best candidate!" The "appeal to geek vanity" approach.

I don't agree with this thinking at all. Again, I say that tests and interviews like this are inherently flawed. They are associated with a presumptions that verbal mastery of the subjects is equivalent to ability to perform. Mainly they're a self indulgence of egotistical companies with too much time on their hands to waste expressing their presumed superiority with a bunch of BS questions.
It *could* be that  such an interview process rejects several candidates that may be superior picks but who don't verbalize answers well or think on their feet in a test situation. The job's going to be writing code, not taking tests.
Why is it that so few techies see this, and the most gifted techies are seduced by a surface impression of a "meritocracy" that is basically just someone's huge ego at work? It's biz-apps, not primary research into cryptography, for pete's sake. And not having the street smarts to see this is a failing of most geekly types. (Scott, I'm not saying that the job isn't worthwhile or the employer's intentions are not honorable, I'm just saying that the stuff that people raise up as a "must have" often never even gets used in real life.)
I guess it's similar to the way that the prettiest girls in high school treat guys like crap and make them jump through ridiculous hoops. Act like you're unapproachable, set up some process moronically obtrusive for a "standard", and become highly desirable....

Bored Bystander
Friday, April 25, 2003

That's what they kept telling me, they are extremely selective... although I don't know if this kind of tech. interview is the way to weed out applicants.
I was asked to describe Dijstra's shorteest path algorithm, and Kruskal's algorithm from graph theory, I did not even remember them , and I'm sure most techies won't.

Scott
Friday, April 25, 2003

I have to agree with Bored Bystander.
I hope you actually will be using a tenth of what they quizzed you on and that your coworkers truly are "toppers". Anyway, its a bad market so be happy you at least have a job. It will be a learning experience in IT and real world business.

Curious
Friday, April 25, 2003

Ha ha ha sounds like fun. SteveM said it exactly like I would.

I would guess that the owner (or the interviewer) is some academic that just wanted to see if you know what "a good programmer SHOULD know". No disrespect for academics, being one myself, mostly, but some can get rather religious about things of no real importance (like computer "science", for example)...

We where once open for a PhD position. Lots of applications, all possible people. We finally sorted them down to five people. One of them had finished with top grades (and I mean, top, they where all max) but when we asked him if one particular area sounds interesting, he said, "shure, that is interesting". And what about that other one? "Shure, that too". And so on. And another guy had medium grades, some where top but most where medium, but he had really interesting ideas and was passionate about certain problems. And when he got started he could really go on about something. And yes he was smart. Can you guess who we hired?

You're wrong. We got the girl with the big tits.

No, just kidding. There was no girl with big tits among the applicants, so we settled for the guy with medium grades.

So the conclusion is that I'm wasting my time like an idiot in cs when I should be out going to movie director school right now.

Dimitri.
Friday, April 25, 2003

A senior manager at one place I worked was proud of one interview question - "Name the layers in the OSI model"
He said "only one person I ever interviewed got it right"

My reply was "maybe that's more an indicator of the value of the question than the applicants..."

Philo

Philo
Friday, April 25, 2003

Interviews like that are about boosting the ego's of the hirers, who will generally be recently out of, or closely tied with, formal learning experience (uni) where they've done all those questions in exams.

Your comment about you being the least qualified sums it up. That's the way they want things to be; that you know they're the best.

That approach is actually 1-dimensional and, in my considerable experience, those outfits don't generate good product. They get a first round of funding OK. But not a second.


Friday, April 25, 2003

Bored,

Interesting reply, how would you interview a person for..lets say a software development position.

Prakash S
Friday, April 25, 2003

I have been through all types of interviews.

* The group interview

* The meet the department manager interview

* The meet several people in a row interview

* The meet the HR/Recruiter interview and then take a battery of online tests interview.

* The meet  the HR rep but don't take any tests interview. Note: had one guy gall to tell me "I can't hire you but I just had to meet you"

* The interview with the team lead and project manager interview

However, I have never had an interview where I was verbally grilled for over 3.5 hours on technical issues! That said, I don't have a problem with this type of interview as long as most of the questions that were asked during the interview truly apply to what you the job candidate will be doing once you get hired.

One Programmer's Opinion
Friday, April 25, 2003

Doesn't microsoft do something like this in their interviews, or so I heard?

Scott
Friday, April 25, 2003

>> Interesting reply, how would you interview a person for..lets say a software development position.


I'd ask the person to submit to one of the following tests when they interview:


- Implement the solution to a coding problem on the spot. They would be given a goal, or they would be asked to formulate a goal, and would be asked to develop a solution in a given time frame. They would have access to a PC loaded with the tool du jour.

- or -


- Bring in compilable source code on some media. Ask them to load it into the development environment, and demonstrate the code. Ask them to discuss any design tradeoffs or unique problems encountered during development. Ask them to walk through debugging of any interesting functionality in the code.


The point isn't to stress them. The point is to see if they can actually do the work and can talk intelligently about it.  The only way to really know is to ask the candidate to demonstrate their craft. A secondary benefit of this would be to determine if they can work with the interviewer.


Some programmers (as well as other IT niches) have this highly defensive personalized "thing" against any sort of actual code demonstration. They claim that it's like being made to "perform" like an organ grinder monkey. I think that viewpoint is erroneous, because it's quite possible to BS as though you know the material, yet be effectively unable to synthesize a result from the raw materials.


Actually, I think that companies hiring in this field with a "black and white" mentality are in error. They think that they have to make a multi-year commitment based upon a few conversations. Why don't companies do the intelligent thing and try the candidate out on a moonlight basis on contract for a couple of weeks?

Everyone wants to jump off a cliff, which results in total anality of the decision making. Instead, take the pressure off and do a trial run of the new hire, with no make or break decision made based only upon talk.

Bored Bystander
Saturday, April 26, 2003

Makes sense, thanks.

Prakash S
Saturday, April 26, 2003

"Name the layers in the OSI model"

Bum  I could answer that question.

Those kind of interviews strike me as more a lack of being able to conduct a conversation than anything else, a cast of mind that there are verifiable objective facts about a person which make them more likely to fit in.  In reality, if you get to the interview people's minds are made up within around 30 seconds.

Simon Lucy
Saturday, April 26, 2003

Last interview, i had to write a bit in C (with pointer + bit arithmetics).

I had to write stuff on paper - and i was told that the stuff must compile correctly and that it has to work.
Then they took my sheet of paper - and returned it (you got errors!).
Don't know what they did with the stuff - i didn't see the reviewer, just the girl from HR

Needless to say that i felt like a piece of shit afterwards.
Anybody with a similar experience?

M.M.
Saturday, April 26, 2003

When I'm being interviewed I generally make anecdotal comments about the topic I'm being interviewed about. The kinds of jokes/observations/gripes that you generally only make when you've worked in the environment.
For example, once an interviewer asked me "what is the default timeout on IIS?" I answered "900 seconds, but I always shorten it to 45"
"How come?"
"I used to forget movenext's a lot"
The interview was effectively a pass at that point, and I got the job offer.

As an interviewer, I try to ask the same types of questions - as Joel points out, I want to know as much about personality as knowledge, and I think you learn more about experience by looking for anecdotal comments as from grilling.

Philo

Philo
Saturday, April 26, 2003

You guys must be doing some interesting programming. I have never been asked or even come across any of the above comments in the real world. I just contract for large companies mainly doing ERP and datawarehousing; it's incredibly dull but you make so much that it's not worth doing the hard stuff.

Curious
Saturday, April 26, 2003

Bored Bystander wrote, "Implement the solution to a coding problem on the spot..."

My guess is that some employers already do what you are advocating. However, I bet those that do only offer one type of coding problem test. While it seems to me that it wouldn't be too difficult to create a "you have 2 hours to build me a GUI based tool program" type of test such as -- create a calculator program -- I am not sure how fair such a test would be if the person being asked to take the test claims to have mostly server-side development experience or specializes in some other aspect of software programming.

Bored Bystander wrote, "Bring in compilable source code on some media. Ask them to load it into the development environment, and demonstrate the code. Ask them to discuss any design tradeoffs or unique problems encountered during development. Ask them to walk through debugging of any interesting functionality in the code"

I like this idea and I also like the idea of allowing for "flexibility" or more than one way to prove that you know what you claim to know. Also, I agree with the contract-to-hire philosophy as well.

One Programmer's Opinion
Saturday, April 26, 2003

Hi Curious,

If you don't mind could you explain how the interview process typically works for you.

Money wise, ERP and data warehousing work is great stuff to be doing. However, not too many people have the knowledge and appropriate prior work experience to be offered this type of work.

I am assuming that you send your resume to various staffing firms and they simply checkout your past clients/employers and then submit your resume to the corporate client looking for help.

One Programmer's Opinion
Saturday, April 26, 2003

If you don't mind could you explain how the interview process typically works for you.

  There isn't one.

Money wise, ERP and data warehousing work is great stuff to be doing. However, not too many people have the knowledge and appropriate prior work experience to be offered this type of work.
 
  If you know half of what was discussed on this thread then you know more thant 90% of ERP / datawarehousing "professionals".

Curious
Saturday, April 26, 2003

That is how I have been interviewed and how I interview now.  I dont see a problem with this method.  I've probably been interviewed 15 times and  have interviewed about 40, so far so good.  Bonehead hired 0.  Heck, I didnt take a company seriously if they didnt offer a hard interview.  But then again I am a hardcore programmer, with the ego to match.

B
Sunday, April 27, 2003

"what is the default timeout on IIS?"

That sounds like a question tailor made for MCXX 'pros'.


Sunday, April 27, 2003

"Bonehead hired 0."

Ok, you hired no boneheads, but of that 40 how many people did you hire?

I think strong technical interviews are a good idea, but if they are so ridiculous that nobody can survive them -- especially if many of your own employees couldn't survive them -- they can cause you to miss out on hiring good people.

T. Norman
Sunday, April 27, 2003

how much technical is too technical?

Scott
Sunday, April 27, 2003

"what is the default timeout on IIS?"

You should know it if you do web development, since it's the number you have to change because it's too damn long. It's an indicator as to whether the interviewee has ever dealt with IIS on their own machine. And from my perspective, "I don't know, but I know it's too long so I always change it" might be an acceptable answer.

BTW, I never asked that question, and I don't think I ever would, but it's the kind of question that shows if someone's done more than simply open visual studio, type, compile, run.

Philo

Philo
Sunday, April 27, 2003

Maybe it's too damn long because you don't know how to properly program high performance web applications?


Sunday, April 27, 2003

Ok, maybe that was a little harsh, but my point is that the timeout is not a one-size-fits-all setting.  It's naive and senseless to say that it's "too damn long".

Many moons ago I worked on a project that never changed the default timeout.  Why?  Because it was an internal client/server app where both parts were custom coded.  It was never an issue.  An 'inactive' client app still sent an ack, and we always terminated our connection when the app exited.


Sunday, April 27, 2003

My time is far too valuable to set aside 3-5 hours for an unknown ERP application developer with some unprofitable patents.

I would designate 45min - 1hour to talk to this type of organisation.

Realist
Sunday, April 27, 2003

Heh.
[candidate checks watch]
"Are you guys done yet? I'm getting concerned about an organization that can't judge an individual's talent in under two hours."

Man that would take some cojones...

Philo

Philo
Sunday, April 27, 2003

*  Recent Topics

*  Fog Creek Home