I like to ask a wide variety of technical questions targeted to the candidate's seniority during interviews. My favorite C# question focuses on converting an Int64 into an Int32. Hopefully, this isn't something you need to perform often (poor design) but occasionally we have to clean up after the other guy, right? ;-) (If you interview with me and are reading this post-consider it a gimme...and hopefully you learned something anyway.)
Situation: We have an Int64 "b" I need to convert into an Int32 "a". How should we set a = b in the safest manner (i.e. no data loss)? Here are some options:
Line 15 does not compile throwing a "Cannot implicitly convert type 'long' to 'int'. " exception. Line 17 properly raises an OverflowException.Line 19 does _not_ throw an exception. a's value incorrectly becomes 1569325055. Line 21 properly raises an OverflowException. In my opinion, the style in Line 17 is the best because it leverages the Fra…
I don't use regular expressions daily but when I do I always find myself starting from scratch-trying to download some tool. And it's never the same one I used the last time so I have to re-learn an interface. Here's an excellent regular expression tool leveraging AJAX...it even includes a nice cheat sheet.
Props to Steve Jobs for finally calling a spade a spade and dismissing DRM as an ineffective solution to rights management. I'm all for protection of author/artist rights but DRM just isn't getting the job done. DRM is simply the major record/movie houses trying to solve the problem with technology. We see this all the time in business. It's easy to treat everything like a nail if all you have is a hammer. Get creative. Come up with a solution that works-hint: it's not technology.