Alright, so I'm looking for some summer internships in Chicago, and right now the one I'm looking at asked that we submit a coding problem along with our resume. Thats fine and all..and I could do it in a day or two, but I just wanted some advice on how to approach the problem, or more specificly, what languages should I use, and for the more experienced people, how to make it look as presentable as possible(code and functionality, NOT design)? Its somewhat of a no-brainier to somehow incorporate Ruby on Rails, Flex, and AJAX, since those are littered throughout the job/company description. Here are the specifics of the "problem"... And finally, how do I write "unit and integration tests"? What exactly are those? Any advice would be much appreciated, I would love to submit this by Friday/Monday! Also, I have a hosting service thats fully capable of using just about any scripting and db service. Also, here is more of a description on the company, if that helps:
Questions is what languages do you know and can work with? Can you work with ruby on rails and just because its in the job description does is it fit the problem well? Right now im working on a project thats like a larger version of that system they described but using codeigniter and it incorporates OO.
Use a language you're familiar with. Its a matter of getting what they want and they didn't specify what language to use. What they are looking for is if you're capable of meeting the requirements by any means necessary. As for the other stuff.... ask them what they mean by that.
For me, I'd do it in PHP and SQL, but I see that their requirements are AJAX/Flex/ROR. If you don't know those languages, you'd be better off finding a different placement IMO, unless you already have very good OO practice and can learn new languages quickly. Unit testing is when you test each module of the code with test data you know the result for. In this instance, you'd write the functions (the modules) and pass test arguments and make sure the returned values are correct. Integration testing is testing the modules in a group, but you can use a similar process - you know the input and expected output. Did you receive that output? In addition, was the processing time/performance as anticipated? What happens when you stress test the group? Is it secure? Does it produce the correct output in every instance? etc... You are trying to prove that the units work in a group as expected, basically. You should research specification writing, as this will be part of a typical test delivery and will help you structure the testing.
I can pull that shit in less than a day using C++, but of course it will look like a terminal from Fallout since I'm too cool for GUI </jk> Now RoR, not saying its bad, its actually better than nospacesatallcantreadshit-Perl, but the fact that it relies on a propietary framework from 37signals, even with a MIT license, dunno it's not the same than LAMP. BTW, do you know C++? not braggining or anything but now that Apple has finally busted all those alternative SDKs for the iPhone (Mono, etc...) anyone who can code in that or ObjectiveC can land a job in places like these which I bet used to just port Adobe code to the iPhone.