总结了10道题的考试侧重点,供参考: 
1.How are arguments passed – by reference of by value? 
考的是语法,基本功,虽说python程序员可以不用关心堆栈指针那些头疼的东东,但传引用和传值的区别还是必需清楚的。个人感觉从python中一切都是对象的角度看,第一题问传值还是传引用其实是考官有意看面试者是不是概念清楚,真正希望考生回答的是哪些对象传递到函数中是只读的或者说不可变的。

2.Do you know what list and dict comprehensions are? Can you give an example? 
印象中 list and dict comprehensions 语法比一般循环的实现简洁了很多很多,不过说实在的由于之前用多了其他语言,后来转用python的话真不太习惯。

两个常见的例子:

>>> print {i : chr(65+i) for i in range(4)} 
{0 : 'A', 1 : 'B', 2 : 'C', 3 : 'D'}

S = [2 * x for x in range(101) if x ** 2 > 3]

3.What is PEP 8? 
第3题 PEP8是众多pythoner们使用的编码规范,很多公司已经直接使用PEP8了,如果连看还没看过的朋友请马上看下吧:http://www.python.org/dev/peps/pep-0008/ 
面试中如果你还能说说PEP7,以及使用它们的感受,相信考官肯定会给你加分。

4.Do you use virtual environments? 
是不是有独立配开发环境的能力。 virtual environments 给开发人员进行多版本、多环境下的开发调试带来了极大的便利,很难想象没有Virtualenv,多版本开发有多头大,不是不成,别跟自己过不去不是。 
推荐: 
http://pythoncentral.org/how-to-install-virtualenv-python/ 
https://pypi.python.org/pypi/virtualenv

5.Can you sum all of the elements in the list, how about to multuply them and get the result? 
>>> data = ['5', '4', '9'] 
>>> sum(int(i) for i in data) 
18 
>>>reduce(lambda x, y: x+int(y), data, 0) 
18

>>> data = [5, 4, 9] 
>>> sum(data) 
18 
>>> reduce(lambda x, y: x*y, data) 
180 
>>>

6.Do you know what is the difference between lists and tuples? Can you give me an example for their usage? 
list 和 tuple 的不同首先是的语法,相同点都是类似数组的容器,都可以保存任意类型的对象,不同是tuple中的元素不可变,list中的元素是可以改变的,因此list比tuple多了一些管理其中保存元素的方法,如append, insert, pop, remove, sort, reverse等。

值得一提的是 Python 2.6 开始有了tuple 的子类 collections.namedtuple 可以通过元素的名字访问tuple了 (因为它具有 attribute 语法) ,当然还可以进过元素索引下标访问。

常见的例子是:

import collections 
freturn = collections.namedtuple('freturn', 'fee fie foo fum')

def f(): 
... 
return freturn(fee, fie, foo, fum)

#读取返回值:

r = f() 
print r.fie # 相当于print r[1] , 但是提高了代码的可读性

7.Do you know the difference between range and xrange? 
使用中最大的区别是在内存上,另外还可以看下stackoverflow里的解答:http://stackoverflow.com/questions/94935/what-is-the-difference-between-range-and-xrange

值得注意的是python3里的range函数相当于python2的xrange。

8.Tell me a few differences between Python 2.x and 3.x 
希望你对新老产品都有所关注, 2/3的区别参考: 
http://docs.python.org/release/3.0/whatsnew/3.0.html 
http://www.python.org/dev/peps/pep-3000/

9.What are decorators and what is their usage? 
@classmethod大家一定都用,关于Decorators的说明(by Bruce Eckel): 
http://www.artima.com/weblogs/viewpost.jsp?thread=240808

http://www.python.org/dev/peps/pep-0318/ 
Decorators for Functions and Methods

10.The with statement and its usage. 
典型的pythonic语法

python 面试必读的更多相关文章

  1. Python面试真题答案或案例

    Python面试真题答案或案例如下: 请等待. #coding=utf-8 #1.一行代码实现1--100之和 print(sum(range(1,101))) #2.如何在一个函数内部修改全局变量 ...

  2. Python面试 【315+道题】

    Python面试 [315+道题] 第一部分 Python基础篇(80题) 为什么学习Python? 因为看到python的发展趋势,觉得需要与时俱进,第一点,python开发速度极快,能快速完成一个 ...

  3. 10个Python面试常问的问题

    概述 Python是个非常受欢迎的编程语言,随着近些年机器学习.云计算等技术的发展,Python的职位需求越来越高.下面我收集了10个Python面试官经常问的问题,供大家参考学习. 类继承 有如下的 ...

  4. Python面试基础篇

    1. 为什什么学习Python? Life is short, You need Python 2. 通过什什么途径学习的Python? pass 3. Python和Java.PHP.C.C#.C+ ...

  5. Python 面试中 8 个必考问题(转载)

    Python 面试中 8 个必考问题 1.下面这段代码的输出结果是什么?请解释. def extendList(val, list=[]): list.append(val) return list ...

  6. 常见的25个python面试问答

    常见的25个python面试问答 说到好用简洁的大数据技术,除了Hadoop.R等等,Python也是其中熠熠生辉的一员,因而广受企业和商家的青睐.求职季,不少应聘者在面试相关职业时都被要求掌握Pyt ...

  7. python面试笔试题汇总

    Python面试攻略(嗨谈篇) 110道python面试笔试题汇总,你能答对几道? Python 面试问答 Top 25 2018 年最常见的 Python 面试题 & 答案

  8. 服务器文档下载zip格式 SQL Server SQL分页查询 C#过滤html标签 EF 延时加载与死锁 在JS方法中返回多个值的三种方法(转载) IEnumerable,ICollection,IList接口问题 不吹不擂,你想要的Python面试都在这里了【315+道题】 基于mvc三层架构和ajax技术实现最简单的文件上传 事件管理

    服务器文档下载zip格式   刚好这次项目中遇到了这个东西,就来弄一下,挺简单的,但是前台调用的时候弄错了,浪费了大半天的时间,本人也是菜鸟一枚.开始吧.(MVC的) @using Rattan.Co ...

  9. Python面试常考点之深入浅出链表操作

    Python面试常考点之深入浅出链表操作 在Python开发的面试中,我们经常会遇到关于链表操作的问题.链表作为一个非常经典的无序列表结构,也是一个开发工程师必须掌握的数据结构之一.在本文中,我将针对 ...

随机推荐

  1. C#的提交表单方式主要有两种WebClient与HttpWebRequest

    根据黄聪:C#模拟网站页面POST数据提交表单(转) using System; using System.Collections.Generic; using System.IO; using Sy ...

  2. Codeforces Round #167 (Div. 2)

    C. Dima and Staircase 线段树维护区间最大值. D. Dima and Two Sequences 由于模数不一定为质数,所以通过拆分质因数来做阶乘取模. E. Dima and ...

  3. linq之将IEnumerable<T>类型的集合转换为DataTable类型 (转载)

    在考虑将表格数据导出成excel的时候,网上搜的时候找到一个特别合适的公共方法,可以将query查询出来的集合转换为datatable 需引用using System.Reflection; publ ...

  4. 获取当前3Ds MAX版本

    昨天看到群里有人问,并贴出了飞浪大大的源码,又对比了一下自己以前写的,顿时觉得弱爆了哈哈~ 飞浪: fn getVer = ( v = (maxversion())[] / then return v ...

  5. [课程设计]Scrum 1.1 NABCD模型&产品Backlog

    多鱼点餐系统WEB NABCD模型 & 产品Backlog ● 一.NABCD模型  1) N (Need 需求) 为了解决餐饮企业在同行中的竞争优势,减少顾客到店后的点餐.等餐及结算过程消耗 ...

  6. javascript的this

    关于JavaScript中的this的取值: 函数在创建的时候,会创建两个隐藏属性:函数的上下文.实现函数行为的代码(调用属性):以及prototype属性.length属性. 函数在调用的时候,除了 ...

  7. js 常用方法

    1: 五秒后跳出提示框 setTimeout("alert('已经过了五秒了')",5000) 2:  十秒后自动关闭窗口 <script language="ja ...

  8. [Linux] - Docker 常用命令

    # 运行docker # -it表示前端运行 docker run -it centos /bin/echo haha # 后端运行并映射80端口 docker run -dt -p : --name ...

  9. linux eclipse c++

    几年前使用过eclipse c++,最近两年没有怎么使用.其中细节,忘的差不多了.最近费很大劲,总算找了回来.真是好记性,不如烂笔头啊! 现在将使用过程中的一些细节,总结如下: 1.安装eclipse ...

  10. 浅谈mybatis中的#和$的区别

    1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111&qu ...