想找一份 
 Python开发 
 工作吗?那你很可能得证明自己知道如何使用Python 
 
。下面这些问题涉及了与 
 Python 
 相关的许多技能,问题的关注点主要是语言本身,不是某个特定的包或模块。每一个问题都可以扩充为一个教程,如果可能的话。某些问题甚至会涉及多个领域。 
  
 
   我之前还没有出过和这些题目一样难的面试题,如果你能轻松地回答出来的话,赶紧去找份工作吧! 
 
 
    
 问题1 
 
 
   到底什么是Python 
 ?你可以在回答中与其他技术进行对比(也鼓励这样做)。 
 
 
    
 问题2 
 
 
   补充缺失的代码 
 
 
    
 def  
 print_directory_contents(sPath): 
 
 
   """ 
 
 
   这个函数接受文件夹的名称作为输入参数, 
 
 
   返回该文件夹中文件的路径, 
 
 
   以及其包含文件夹中文件的路径。 
 
 
   """ 
 
 
   #  
 补充代码 
 
 
    
 问题3 
 
 
   阅读下面的代码,写出A0 
 , 
 A1 
 至 
 An 
 的最终值。 
 
 
   A0 = dict(zip(('a','b','c','d','e'),(1,2,3,4,5))) 
 
 
   A1 = range(10) 
 
 
   A2 = [i  
 for i  
 in A1  
 if i  
 in A0] 
 
 
   A3 = [A0 
 
     
  for s  
  in A0] 
  
 
 
  
    A4 = [i  
  for i  
  in A1  
  if i  
  in A3] 
  
 
 
  
    A5 = {i:i*i  
  for i  
  in A1} 
  
 
 
  
    A6 = [[i,i*i]  
  for i  
  in A1] 
  
 
 
  
     
  问题4 
  
 
 
  
    Python 
  和多线程( 
  multi-threading 
  )。这是个好主意码?列举一些让 
  Python 
  代码以并行方式运行的方法。 
  
 
 
  
     
  问题5 
  
 
 
  
    你如何管理不同版本的代码? 
  
 
 
  
     
  问题6 
  
 
 
  
    下面代码会输出什么: 
  
 
 
  
     
  def  
  f(x,l=[]): 
  
 
 
  
     
  for i  
  in range(x): 
  
 
 
  
    l.append(i*i) 
  
 
 
  
     
  print lf(2)f(3,[3,2,1])f(3) 
  
 
 
  
     
  问题7 
  
 
 
  
    “ 
  猴子补丁 
  ” 
  ( 
  monkey patching 
  )指的是什么?这种做法好吗? 
  
 
 
  
     
  问题8 
  
 
 
  
    这两个参数是什么意思:args 
  , 
  *kwargs 
  ?我们为什么要使用它们? 
  
 
 
  
     
  问题9 
  
 
 
  
    这些是什么意思:@classmethod, @staticmethod, @property 
  ? 
  
 
 
  
     
  问题10 
  
 
 
  
    阅读下面的代码,它的输出结果是什么? 
  
 
 
 
  
  问题11 
  
 
 
  
    阅读下面的代码,它的输出结果是什么? 
  
 
 
 
  
  问题12 
  
 
 
  
    简要描述Python 
  的垃圾回收机制( 
  garbage collection 
  )。 
  
 
 
  
     
  问题1 
  3 
  
 
 
  
    你有过失败的经历吗? 
  
 
 
  
     
  问题1 
  4 
  
 
 
  
    你有实施过个人项目吗? 
  
 
 
  
    真的? 
  
 
 
  
     
  结语 
  
 
 
  
    我给出的这些问题时,有意涉及了多个领域。而且答案也是特意写的较为啰嗦。在编程面试中,你需要展示自己对语言的理解,如果你能简要地说清楚,那请务必那样做。我尽量在答案中提供了足够的信息,即使是你之前从来没有了解过这些领域,你也可以从答案中学到些东西。我希望本文能够帮助你找到满意的工作。 
  
 
 
 
   来源:SDK.cn