如何面试Python后端工程师?

开发 后端
滴滴出行数据工程师罗伊老师列了一份面试清单,这份清单并非网络上那些转来转去的面试题,而是从编程语言、操作系统、网络、数据库、Web安全等多方位考察候选人,不论你是准备找人还是找工作,都值得参考。

如何面试Python后端工程师?

金三银四,三月是个跳槽的好季节,有人忙着找工作,有人忙着招人,作为招招聘企业,如何找到一位靠谱的 Python 后端工程师是最重要的,作为候选人,找到一个心仪的公司是最重要的,只有双方各自做足的准备,才有可能达到自己的预期。

滴滴出行数据工程师罗伊老师列了一份面试清单,这份清单并非网络上那些转来转去的面试题,而是从编程语言、操作系统、网络、数据库、Web安全等多方位考察候选人,不论你是准备找人还是找工作,都值得参考。

一、语言

  1. 推荐一本看过最好的python书籍? 拉开话题好扯淡
  2. 谈谈python的装饰器,迭代器,yield?
  3. 标准库线程安全的队列是哪一个?不安全的是哪一个?logging是线程安全的吗?
  4. python适合的场景有哪些?当遇到计算密集型任务怎么办?
  5. python高并发解决方案?我希望听到twisted->tornado->gevent,能扯到golang,erlang更好

二、操作系统

可以直接认为是linux,毕竟搞后端的多数是和linux打交道。

  1. tcp/udp的区别?tcp粘包是怎么回事,如何处理?udp有粘包
  2. time_wait是什么情况?出现过多的close_wait可能是什么原因?
  3. epoll,select的区别?边缘触发,水平触发区别?

三、存储

存储可能包含rdbms,nosql以及缓存等,我以mysql,redis举例

mysql相关

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

redis相关

  1. 什么场景用redis,为什么mysql不适合?
  2. 谈谈redis的事务?用事务模拟原子+1操作?原子操作还有其它解决方案吗?
  3. redis内存满了会怎么样?

四、安全

web安全相关

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

密码技术

  1. 什么是分组加密?加密模式有哪些?ecb和cbc模式有什么区别?为什么需要iv向量?
  2. 简单说说https的过程?
  3. 对称加密与非对称加密区别?
  4. 如何生成共享秘钥? 如何防范中间人攻击?

五.其他

  1. 是否关注新技术啊?golang,rust是否了解?numpy,pandas是啥?
  2. 是否紧跟时代潮流?逛不逛微博,刷不刷知乎?

这些问题可能你觉得问的好细,但这好多都是平常经常遇到,并需要解决的,细节更能体现一个人,如果你觉得小kiss,欢迎在知乎找他,他们招人,觉得有点问题,那还等什么,多读书

  1. python参考手册,绝对让你更上一层楼
  2. 图解密码技术,密码入门不二之选
  3. mysql技术内幕第五版,有点厚当手册读读,要有耐心,高性能mysql也强烈建议读读 
  4. effective tcp/ip programming 
责任编辑:庞桂玉 来源: Python之禅
相关推荐

2012-06-28 14:23:32

Web

2011-11-16 09:47:47

JavaScript

2009-02-23 09:41:29

面试软件测试工程师

2023-10-30 08:27:50

ML后端学习机器

2020-03-17 15:15:49

Python工程师面试题

2009-06-29 10:58:08

软件工程师求职者

2015-03-17 15:29:03

创业公司后端工程师应用开发

2019-02-15 20:00:49

软件测试工程师面试

2013-09-18 14:38:06

面试

2016-09-22 16:14:45

前端设计Photoshop

2016-02-18 10:18:34

Java工程师面试考纲

2012-08-24 10:01:56

百度前端工程师

2009-09-21 15:27:17

2009-09-08 17:50:01

2009-09-24 15:16:04

CCNA网络工程师面试

2009-08-18 10:30:32

2012-10-18 15:10:51

前端工程师面试题WEB开发

2009-09-24 15:26:26

2015-08-11 13:00:03

android面试教程

2020-05-11 22:44:43

Python开发软件工程师
点赞
收藏

51CTO技术栈公众号