Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
John Matrix
Apr 27, 2004

GREAT AMERICAN DIPLOMAT

Goonamatic posted:

Im currently interviewing.

Trying to do as many online tests as possible.

Found this one which Im having trouble with -- -- got the test but couldnt get the answer in the self certification test

http://codility.com/

Anyone else able to give this a go & see how they go?

This is very addictive.

As for things I look for when I interview people...

I look for people who are good problem solvers. Maybe they don't know how to solve a particular problem, but I enjoy listening to their thought process while they are thinking of the problem, even if they get it wrong. I don't care if someone has a degree or not, but they should have knowledge of algorithms, data structures, etc (things that are typically included in degree coursework).

Specifically, I mainly interview for .NET positions, so I also look for people who are staying up-to-date with the latest framework. Things like Linq, MVC Framework, etc. Maybe they haven't used these in a practical setting, but it shows that they are interested in development and are at least staying abreast of the newest technologies.

Here's a scenario that'll fail someone immediately and I always screen with it...

Q: What type of collections do you use most?
A: Array, ArrayList

Q: What is a Generic List?
A: (vague, uncertain response)

This tells me they're stuck in .NET 1.1 and speaks worlds about their coding habits and standards.

I also want to reiterate the fact that I'd rather you say "I don't know" to a pointed question, rather than spew bullshit. It's a waste of both our time. An exception to this would be answering an open-ended question or theoretical problem. For example I may ask something like this...

Q: What is the difference between a clustered and non-clustered index?
A: Clustered indexes are stored sequentially on disk.

If they don't get this right (or tell me they don't know), I'll tell them the answer, and then ask...

Q: How many clustered indexes can you have on one table?

If they didn't get the first question right, then they should at least be able to deduce the answer to the follow-up based on the answer I gave them (ONE).

A more advanced question to test problem-solving skills would be...

Suppose I have an Employee table with EmployeeID (guid, PK) and Age (int). Based on use-cases, I know that I will be selecting employees based on "where EmployeeID = X" or "where Age between A and B". How would you index this table?

I'm looking for someone to think to themselves "well, if we're selecting a range of values based on Age, then I should cluster the Age index on disk to reduce I/O time". Hence, you would create a clustered index on Age and a non-clustered index on EmployeeID.

For what it's worth, most people get this wrong. However, if someone were to tell me they don't know what a clustered index is, and they're able to think through the follow-up questions based on my answer, then they are automatically on the top of my list because they've demonstrated that they can pick up and apply knowledge quickly and accurately.

Adbot
ADBOT LOVES YOU

John Matrix
Apr 27, 2004

GREAT AMERICAN DIPLOMAT

baquerd posted:

I think a better answer would be "show me your use case data", but that's just me. Perhaps you only select on Age once a month but do many selects and joins on EmployeeID daily.

I disagree, but I'm open to discussion on it. If you're scanning an index for one id, why would the database perform better when the record data is stored sequentially, being that the index is simply a pointer to the location of the data?

The only valid argument in my opinion is a performance hit when inserting and updating records, but for the purpose of demonstration is ignored. Thoughts?

John Matrix
Apr 27, 2004

GREAT AMERICAN DIPLOMAT

Kruzen posted:

:words:

I was in a similar situation at 16, but had the fortune of getting into programming projects while I was bottom-rung in the helpdesk. I quickly found that it was what I really enjoyed, and went to school to get a CS degree. The salary range depends a lot on your location and whether you're looking at an industry job or consulting position (consulting pays a bit more, but you may run the risk of traveling).

I think the web technology really just depends on your preference. There are a ton of companies on the Microsoft platform, so .NET (C#) is always hot, but at the same time, the market is flooded with .NET developers who are average at best. As for a web development platform, what kind of system administration do you do? If you're typically working in a Linux scenario, you may prefer to use PHP. If you're doing Windows/IIS, your best bet is go for .NET MVC (C#).

I don't think you're crazy for wanting to get away from IT (but this is coming from a software guy). I think the main thing should be... do you think you would enjoy software development as much, if not, more than your current line of work?

Your safest way to make the transition may be to start trying to pick up some projects at your current company, and try to shoehorn your way into a title change. Then use it as a launching pad into another company. The title change at your existing company won't earn you a huge salary increase, but the lateral move to another company is where you can see the jump in pay.

Another option would be to just start learning the crap out of this stuff on your off-time, then try to make the jump (may be quicker). Anyway, that's just some food for thought.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply