Sunday, November 9, 2014

Technical Interview

So I interviewed for a technical position which is always funny. I interview people at my company and really there is no way to know whether someone is good or not, just from talking with them over the phone or having them take a test . It takes about 6 months to find out if someone is really good or not.

Anyways, I do C++, Java, Matlab, Perl, HTML, etc. I get on the phone and the guy asks me a bunch of stuff. Do I know the difference between an inner join and an outer join in SQL? Yes, I did know what that was when I needed it, but unfortunately every 2 weeks I forget, because I am dealing with all this other, how do I say it... More difficult stuff. Apologize to those who can't get SQL, with its 8 commands. I was honest and told him, I would just google it. I swear, I would be no where without google. He didn't much like that answer, so I told him, basically, if you joined two tables, the number of resulting rows would be different based on if the data was in the first, second or both tables.

He even asked what SQL stands for. I knew the answer, but I can guarantee there are some great database programmers out there who could care less what SQL stands for.

He asked what a Cursor was and I said, I basically just use rs.next() so I wasn't sure. He told me, sounding very technical that you use it with stored procedures for a database. Uh, I looked it up and its just an internal row pointer. In fact, the rs.next() uses the Cursor to track what I had read and what I hadn't.

He asked what the Singleton design pattern (if you want to know more about design patterns, Head First puts out some decent books) was and a bunch of Scrum stuff. Most of that stuff I knew, cause I am a big fan of Agile programming.

He asked about CSS (style sheets), thinking Semantic Markup, was such a big deal. I had no clue what he was talking about and then he told me it was used to keep content separate from style. Oh, that made sense. Kinda like N-Tier design. I have definitely done this type of thing, just naturally, and sorry, I couldn't tell you what the technical terms are. I mean, after changing content several times and weeding through tons of style code, eventually, you learn to just do something to keep these different anyhow. In fact, I built an automated test to run through the directions of a User's Guide. The test, generates screen captures automatically, which are included in a Word document. This way, as our application changes, all the screen shots are still valid (or easily generated), since we require the automated test to run before updating the application with new code. I have no clue what this is called, but yes I do it.

He talked about Adobe strut, which I hadn't heard of. I like getting these CS guys on the other side of the interview table. They know all the terms, but when it comes down to managing multiple threads or designing a logical flow to the application, they run in circles. Don't worry, its not just CS guys that do the jargon talk. But to backup my reasoning for laughing at these guys, when I first started, I took several C++ classes and told a seasoned veteran that I wanted to become a Software Programmer. He asked me what the different types of for loops are (uh, an infinite loop) and a bunch of other stuff, that I probably still don't know today. He told me I could never make it.

Sorry, I don't know the different types of for loops but when you need someone to write a test bed, which has built in utilities to guarantee the Event Queue is empty and threads are idle to avoid deadlock I'm your man. And I won't even know what to call it.

This post was reposted from http://sizuservices.blogspot.com/2010/08/interviewing-for-technical-positions.html, originally written on August 5th, 2010.

No comments:

Post a Comment