Python笔试面试题总结(一)

时间:2022-07-23
本文章向大家介绍Python笔试面试题总结(一),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

最近一直在面试找工作,总算是决定去一家公司入职。这里对最近这半个月的一些笔试面试题进行分享,希望对大家有帮助。今天首先总结笔试题部分,明天将慢慢给出答案,并给出面试题总结。大家可以先进行参考,看看是否都能做出来。

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

程序题

  1. 关于多继承问题,扩展需要了解 MRO
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
  1. 关于装饰器
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
"""
  1. 关于可变类型做函数参数,需要解释原因
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、如果现在要设计一个商品抢购的活动,你会用到什么技术?

愿关注我们的人都能找到

属于自己的皮球