Python Interview Questions
yeryomin.igor at gmail.com
yeryomin.igor at gmail.com
Mon Jul 9 02:39:41 EDT 2012
On Tuesday, 30 October 2007 21:24:04 UTC+2, Tim Chase wrote:
> > I have used Python for a couple of projects last year and
> > I found it extremely useful. I could write two middle size
> > projects in 2-3 months (part time). Right now I am a bit
> > rusty and trying to catch up again with Python.
> >
> > I am now appearing for Job Interviews these days and I am
> > wondering if anybody of you appeared for a Python
> > Interview. Can you please share the questions you were
> > asked. That will be great help to me.
>
> While I haven't interviewed precisely for Python, I've been
> on the other (interviewing) end and can offer a few of the
> sorts of things I ask. I don't expect perfect answers to
> all of them, but they show me a range of what the
> interviewee knows. I try and give a scattershot of
> questions from the following areas to try and narrow down
> where they fall in terms of pythonability, and then grill
> more deeply around the edges that I find.
>
> Basic Python:
> =============
> - do they know a tuple/list/dict when they see it?
>
> - when to use list vs. tuple vs. dict. vs. set
>
> - can they use list comprehensions (and know when not to
> abuse them? :)
>
> - can they use tuple unpacking for assignment?
>
> - string building...do they use "+=" or do they build a list
> and use .join() to recombine them efficiently
>
> - truth-value testing questions and observations (do they
> write "if x == True" or do they just write "if x")
>
> - basic file-processing (iterating over a file's lines)
>
> - basic understanding of exception handling
>
> Broader Basic Python:
> =====================
> - questions about the standard library ("do you know if
> there's a standard library for doing X?", or "in which
> library would you find [common functionality Y]?") Most
> of these are related to the more common libraries such as
> os/os.path/sys/re/itertools
>
> - questions about iterators/generators
>
> - questions about map/reduce/sum/etc family of functions
>
> - questions about "special" methods (__<foo>__)
>
> More Advanced Python:
> =====================
> - can they manipulate functions as first-class objects
> (Python makes it easy, but do they know how)
>
> - more detailed questions about the std. libraries (such as
> datetime/email/csv/zipfile/networking/optparse/unittest)
>
> - questions about testing (unittests/doctests)
>
> - questions about docstrings vs. comments, and the "Why" of
> them
>
> - more detailed questions about regular expressions
>
> - questions about mutability
>
> - keyword/list parameters and unpacked kwd args
>
> - questions about popular 3rd-party toolkits (BeautifulSoup,
> pyparsing...mostly if they know about them and when to use
> them, not so much about implementation details)
>
> - questions about monkey-patching
>
> - questions about PDB
>
> - questions about properties vs. getters/setters
>
> - questions about classmethods
>
> - questions about scope/name-resolution
>
> - use of lambda
>
> Python History:
> ===============
> - decorators added in which version?
>
> - "batteries included" SQL-capible DB in which version?
>
> - the difference between "class Foo" and "class Foo(object)"
>
> - questions from "import this" about pythonic code
>
> Python Resources:
> =================
> - what do they know about various Python web frameworks
> (knowing a few names is usually good enough, though
> knowledge about the frameworks is a nice plus) such as
> Django, TurboGears, Zope, etc.
>
> - what do they know about various Python GUI frameworks and
> the pros/cons of them (tkinter, wx, pykde, etc)
>
> - where do they go with Python related questions (c.l.p,
> google, google-groups, etc)
>
> Other Process-releated things:
> ==============================
> - do they use revision control
> (RCS/CVS/Subversion/Mercurial/Git...anything but VSS) and
> know how to use it well
>
> - do they write automated tests for their code
>
> Touchy-feely things:
> ====================
> - tabs vs. spaces, and their reasoning
>
> - reason for choosing Python
>
> - choice of editor/IDE
>
> Good luck with your interviewing and hope this helped,
>
> -tkc
More information about the Python-list
mailing list