最近一直在面试找工作,总算是决定去一家公司入职。这里对最近这半个月的一些笔试面试题进行分享,希望对大家有帮助。今天首先总结笔试题部分,明天将慢慢给出答案,并给出面试题总结。大家可以先进行参考,看看是否都能做出来。
1
基础笔试题
1、xrange() 和 range() 的区别,等价于 Python3 与 Python2 中 range() 的区别
2、list、tuple、set、dict 分别是什么
3、多进程与多线程的区别
4、什么是生成器(也是常问的面试题)
5、如果实现列表去重,可参考前面文章:笔试题答案分享
6、is 和 == 的区别,可参考前面文章:Python编程笔记(二):==和is
7、*args 和 **kwargs 有什么作用,那 * 和 ** 分别有什么作用,可参考前面文章:Python每日一题
8、什么是 lambda 表达式,有什么作用
9、什么是闭包?有什么应用?
10、如果实现 1~100 的求和
11、functools.wrap() 有什么作用 (面试时问装饰器时也会问到)
2
Python Web笔试题
1、什么是wsgi
2、什么是MVC,它是设计模式吗
3、wsgi的服务器有哪些
4、Ngnix和Gunicon分别有什么作用
5、项目上你们是怎么部署代码的
6、通过什么工具管理代码和扩展库
7、举例你最熟悉和最喜欢的 Python Web 框架,并说出理由
8、你用过哪些 Python 爬虫的框架库,说说它有什么好处
3
程序题
class A(object):
x = 3
class B(A):
pass
class C(A):
pass
print(A.x, B.x, C.x) # 3 3 3
B.x = 4
print(A.x, B.x, C.x) # 3 4 3
A.x = 5
print(A.x, B.x, C.x) # 5 4 5
def b(func):
print("bbb")
def wrap(*args, **kwargs):
print("wrap")
return(func(*args, **kwargs))
return wrap
@b
def a():
print("aaa")
a()
a()
"""
bbb
wrap
aaa
wrap
aaa
"""
def t(a = []):
a.append(1)
print(a)
t()
t()
4
编程题
1、实现二分查找
2、实现简单的二叉树,并实现层次遍历与深度遍历
3、实现字典的 key 取交集
4、实现一个 LRU ,使得查询、删除与添加的时间复杂度为O(logn)
5、嵌套列表的扩展,如[1, 2, [3, [4, [5, 6]]]] 输出为 [1, 2, 3, 4, 5, 6]
5
项目大题
1、如果有一个千万级的抽奖活动,你作为负责人,会怎么去设计这个系统
2、如果现在要实现一个简单用户登录系统,支持多个第三方站点登录,比如微信、QQ等。你会如何设计表结构?为什么会这样设计
3、如何实现单点登录
4、如果现在要设计一个商品抢购的活动,你会用到什么技术?
愿关注我们的人都能找到
属于自己的皮球