When I've done / issued these kinds of tests before in interview, it's usually on a shared notepad - ie you'll be given a link to follow and you can write pseudocode / in the language of your choice - The interview panel will typically be able to see as you type. A lot of the time what I'm trying to ascertain is:
- Does the candidate know basic programming concepts?
- Can they explain the code their writing?
- Is their problem solving process methodical?
Remember, I don't care if your code compiles, or actually runs (unless the interviewer actually stipulates that), I'm looking for your methodology, your thought process. Generally if the candidate says nothing out loud, I'd ask them to talk me through their solution at the end, and ask if they could solve it in any other way (optimisation, trade offs, scaling). Another alternative is that you comment your code as you write, for your own reference and the interview panel's.
You'd be surprised how very simple problems can yield a really solid impression of a candidate's problem solving skills, and raw programming ability. Something like, output a Fibonacci sequence for x iterations is a nice and simple problem, but I've set more complex ones... see here for a list of some to maybe practise yourself.
Don't be afraid to email the person conducting the interview and ask for clarification on how the programming test will be issued, ie, do you need an account on anything? - it shows a bit of thinking ahead, if nothing else!
Edit: Pierre's comment is another possibility, I actually had no idea that skype had interview specific functionality!
Hi,
So i just did the interview. The programming was just a Word file on which were 3 questions that I had to answer and return in 20 mins. For those interested the questions (using Perl, Python, Bash) were:
Thanks for following up with the actual content! Seems like generic data handling and knowledge of how to analyze relevant datasets, which seems fair.
Fair enough, provided 20 mins and that the 3rd one is just a psuedo code
What did you use?
I'd have used
Edit: I believe there is some other BASH command that can also break a file into chunks
Kevin, there is one, called split
Yes I used split to do the first thing. For the second one, I reused some code I had
prefix=${name_file%%_*}
andsuffix=${name_file#_*}
to get the prefix and the suffix of the file name and I used a for loop to insert the string in the file names (i couldn't test the code since i didn't want to lose time in restarting my computer and all and I just realized that the thing that would have work wassuffix=${name_file##*_}
). And for the last question, I tried to write up something but I wasn't really confident on what the pipeline should accomplish so I said, in a nutshell, Quality control -> trimming -> alignment -> count the reads FPKM style -> analysis in R.Okay, just be aware that FPKM is not great for differential expression analysis across samples. It would result in a higher false-positive rate when compared to, for example, TMM (EdgeR) or DESeq2's normalisation methods.
Hope that you get the job! I interact with researchers at the Marsden.
Ok, thanks for the heads up !
How to have technical and coding interviews over Skype https://blogs.skype.com/tips/2017/08/25/how-to-have-technical-and-coding-interviews-over-skype/?eu=true
I didn't know Skype had such a feature. Thanks!