[Tutor] Python Interview Questions..

ian douglas ian.douglas at iandouglas.com
Wed May 25 00:50:48 CEST 2011


To expand on Martin's questions, when I've interviewed in the past, I've 
asked (or been asked as an interviewee) questions that investigate 
critical thinking, like those silly-sounding questions of "how many golf 
balls would fit in a bus" or "how many windows are there in Seattle". 
Those kinds of questions are meant to gauge how you think through a 
problem, not necessarily coming up with the correct answer.

When giving an interview, I ask interviewees to write samples of code. A 
popular one is to write the Fibonacci algorithm in code, or how to write 
a quick-sort or merge-sort algorithm. Being familiar with some of these 
computer science principles will show your familiarity with lower level 
understandings of how software works. It also helps identify people who 
are self-taught and only know higher level operations, and those who 
have gone to college/university for computer science or formal software 
development training.

Another favorite of mine was asking a candidate to write a piece of code 
that took a paragraph of text as a parameter, and while maintaining the 
order of the sentences, reverse the order of the words in each sentence. 
So "The sky was blue. The grass was green." would become "blue was sky 
The. green was grass The."

Good luck on your interviewing.

-id


On 05/24/2011 03:11 PM, Martin A. Brown wrote:
> Hi there,
>
>   : Hey I'll be appearing for Job Interviews and wondering if anybody
>   : of you appeared for a Python Interview Or if on the other end as
>   : an interviewer.   Can you please share the questions asked?  
>   : That will be of great help :)
>
> I would point out that there are many types of interviews.  There's
> the technical screen, which is what it sounds like you are asking
> about, but there are other types of interviews that tend to focus on
> drawing out your approach to problems or your mindset.  With the
> latter type of interview, I would only suggest that you know
> yourself.
>
> If however, you are worried about the technical content of an
> interview, it is possible that having my list of questions may help
> you.  It may also hinder you, because the set of questions that I
> ask may differ dramatically from another technical interviewer.  We
> are a fickle lot, prone to ask questions we (think we) know the
> answers to, which may differ from what you know [0].
>
> With that said, here's a subset of the questions that I commonly use
> when interviewing candidates for a technical screen--I would rarely
> ask all of these.
>
>    * What's your favorite stdlib module?  (And, why?)
>    * Distinguish a dict() and a set().  When would I use which?
>    * Distinguish a tuple() and a list().  When would I use which?
>    * What's the risk of 't = sys.stdin.readlines()'?
>    * What's an iterator?  Why would I care?
>    * When should I use 'with'?  Is there any advantage?
>    * What's a regex?  Why not just use string matching?
>    * What does os.stat() return?  For what is this useful?
>    * What's WSGI?  Why would I use it?
>    * What are ElementTree and lxml?
>    * What's a decorator?
>    * What (unit) testing tools exist and how would I use them?
>    * What does 'raise' do?  What does 'pass' do?
>    * Describe Python's inheritance model.
>
> And, some others that are geared more toward those who have written
> network (or SQL) applications:
>
>    * What's a file descriptor?
>    * What's a socket?
>    * How do I create a listening socket in Python?
>    * What's a signal?
>    * How do I talk to a SQL DB from Python?  Any other DBs?
>    * What tools are available for calling an external process?
>    * What's a queue?
>    * What's a thread?  Are there any (special) concerns about
>      threads I should have as a Python programmer?
>
> If you have some familiarity with Python (particularly in a
> Unix-like environment) many of these questions would be familiar to
> you.  I would get some idea of your facility with the language and
> the underlying operating system from the accuracy and comfort with
> which you answered.  You might also find one or two of these
> (mis)leading and might want to tell me about corner cases that you
> as a developer have faced.  That would also be interesting to me as
> a technical interviewer.
>
> -Martin
>
>   [0] http://www.quotationspage.com/quote/12220.html
>
>
>
> _______________________________________________
> Tutor maillist  -  Tutor at python.org
> To unsubscribe or change subscription options:
> http://mail.python.org/mailman/listinfo/tutor
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20110524/a0db59c8/attachment.html>


More information about the Tutor mailing list