Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Talk to me about the GIL. How does it impact concurrency in Python? What kinds of applications does it impact more than others?
- How does Python's garbage collection work?
- What is the difference between range and xrange? How has this changed over time?
- Here's a function. Optimize it for me.
- How do you iterate over a list and pull element indices at the same time?
- I'm getting a maximum recursion depth error for a function. What does this mean? How can I mitigate the problem?
- How do you enforce ordering for a dictionary-style object?
- How does Python's list.sort work at a high level? Is it stable? What's the runtime?
- What's the difference between a list, dictionary, and array in Python?
- What does this list comprehension do?
- Here's a class hierarchy with some methods defined. When I call this function, what gets printed?
- What is monkeypatching? How can you do it in Python?
- What are some caveats to pickling? Marshaling?
- How many ways can you append or concatenate strings? Which of these ways is fastest? Easiest to read?
- Print me the full pathname of every file in this directory tree.
- What's wrong with this function?
- What's your preferred editor? (vim, of course - anything else and they fail.)
- 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
- Do they know a tuple/list/dict when they see it?
- When to use list vs. tuple vs. dictionary 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
- 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__)
- 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 keyword arguments
- 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
- Decorators added in which version?
- SQL-capable DB in which version?
- The difference between “class Foo” and “class Foo(object)”
- Questions from “import this” about pythonic code
- 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)
Advertisement
Add Comment
Please, Sign In to add comment