python-面试QA

语言

  • 讲讲日常开发中都用到了那些Python内置的模块
  • 推荐一本看过较好的python书籍?
  • 装饰器、迭代器、yeild的理解
  • 高阶函数、内置模块的使用
  • 元编程、魔术方法、并发的理解
  • Python解释器运行机制
  • 垃圾回收原理
  • 多线程,GIL
  • 标准库线程安全的队列是哪一个?不安全的是哪一个?logging是线程安全吗?
  • py适合的场景有哪些?当遇到计算密集性任务怎么办?

操作系统

  • tcp/udp的区别,tcp粘包是什么回事,如何处理?udp有粘包吗?
  • time_wait是什么情况?出现过多的close——wait可能是什么的原因?
  • epoll,selete的区别。边缘触发,水平触发区别。

存储

mysql,redis。内存包含rdbms、nosql及缓存。
mysql:

  • mysql字符集和排序规则
  • varchar与char的区别,大小限制。utf8字符集下的varchar较多能存多少个字符?
  • primary key和unique的区别
  • 外键有什么用,是否该用外键。外键需要索引吗?
  • myisam与innodb的区别。innodb的两阶段锁定协议是什么情况?
  • 索引有什么用,大致原理是什么?设计索引有什么注意点?

redis:

  • 什么场景用redis,为什么mysql不适合?
  • redis的事务,事物模拟原子+1操作?原子操作还有其他的解决方案吗?
  • redis内存满了怎么办?

安全

web安全:

  • sql注入怎么产生,如何防止?
  • xss如何预防?htmlescape后能否避免xss?
  • csrf是什么?django是如何预防的?

密码技术

  • 什么是分组加密,加密模式有哪些?ecb、cbc模式有什么区别?为什么需要iv向量?
  • 简述https的过程
  • 对称加密与非对称加密区别?
  • 如何生成共享密钥?如何防范中间人攻击?

  • 是否关注新技术啊?golang,rust是否了解?numpy,pandas是啥鸟?

  • 模块,包,库,框架和容器
    模块 = 一个.py文件
    包 = 多个py文件,携带一个self.py连接起来
    库 = 多个包,框架frameworks相当于多个库搭成的开发软件,与软件software不同。集成的范围不同,譬如买台电脑来使用,自己配置硬件组合与选择整机购买不可选择硬件的区别。
  • 装饰器、迭代器和yeild是什么?
    A:1、同一个类下,调用嵌套函数(即装饰器),作为前置限制说明,传递函数的参数,提供某个生命周期的作用域。
    2、iterable = iterator(argumeng){for循环语句等使variable增大的代码块}。调用含for语句的嵌套函数或类,相当于循环语句的拓展。
    3、生成器generator = yield(argment),参数为函数。yield的出现为了控制内存占用,避免迭代过多。

反射是什么?
“耍流氓的方式”
getattr,hasattr,setattr,delattr,获取、查询、设置、删除成员


数据类型:
参数argument
形参parameter=*arg / 仅传一个参数
对象object
变量variable
可迭代iterable

你可能感兴趣的:(python-面试QA)