python基础面试题
1 python2、python3的差异
1.1 print成为函数,可以传参数,如指定分隔符 sep = '|' 1.2 编码问题,python3 不再有 unicode 对象,默认 str 就是 unicode 1.3 除法变化。python3 除号返回浮点数,整除用 // python3 改进 1.4 类型注解(type hint)帮助 IDE 实现类型检查,可以安装 mypy 静态类型检查器 1.5 优化的 super() 方便直接调用父类函数 1.6 高级解包操作。a, b, *rest = range(10) 1.7 keyword only arguments。限定关键字参数 def add(a,b,*, c): return a + b + c add(1,2,c=3 1.8 chained exceptions python3 重新抛出异常不会丢失栈信息 1.9 一切返回迭代器 range、zip、map、dict.values,etc. are all iterators. 1.10 生成的 pyc 文件统一放到 __pycache__ 1.11 一些内置库的修改,urllib、selector 等 1.12 性能优化等 python3 新增 1.13 yield from 链接子生成器 1.14 asyncio 内置库,async/await 原生协程支持异步编程 1.15 新的内置库 enum、mock、asyncio、ipaddress、concurrent.futures 等 熟悉一些兼容2/3的工具 six模块 2to3等工具转换代码 __future__
2 __new__和__init__执行顺序
3 python常见的魔术方法有哪些,作用是什么
4 继承 object 的类,与没有继承 object 的类有什么区别
5 单例模式、工厂模式是如何实现的
6 两个类、或者两个实例相加,用哪个魔术方法实现
__add__
7 python上下文管理要实现什么魔术方法
__enter__ __exit__
8 sqlAlchemy加载机制
9 mysql 存储引擎 innodb 与 myisam 的区别
10 mysql 事务描述一下
11 接口响应慢,从网络、数据等层面有哪些优化的思路
12 正向代理、反向代理是什么
13 nginx策略有哪些,多个 ip 如何配置只访问一台机器
14 docker 启多个容器,容器之间的依赖关系怎么做
15 prometheus query 语句
16 elestaticsearch 选举机制
17 redis 选举机制、模式
18 有没有用过消息队列,使用模式