更新:2020年5月10号

惭愧惭愧,我已经叛逃Python 4年了,加入了Java阵营,主要是大数据领域被Java、Scala占领了。

工作中真正的核心竞争力还是写出整洁的代码和架构,面向对象的思维(原则与设计),模式的使用。以及复杂性解决方法,抽象、分治、领域设计。

但很尴尬的是这些偏软的东西(思维与设计)比较难甄选,所以面试官还是会通过细节的东西去判断你的能力,如语言的特性,底层的原理,源码等。我始终认为这种面试是不健康的,特定细节的东西可以在使用时再去调研,但解决问题的能力,整洁的代码和架构并不是短期可以突击的。

希望国内面试能早日实现理性。

更新:2015年11月

后记

最近我也面试了不少童鞋,我发现能达到要求的真的少之又少,很多hr都说Python是最难招聘的岗位,我想是有道理的,这真的很值得我们去深思?

我想有一部分原因是Python这门语言造成的,会写Python的人很多,但写的好的人很少,大部分都把Python当做脚本来写,缺乏面向对象,模式的思想。想想Java,大家都习惯了接口,实现分离,设计模式在Java中也喊了很多年,尤其是ssh三大框架一出,用着用着就理所当然的认为就该这么做,虽然也有点坏处,但对企业级Java开发无疑是一大进步。

反观Python,尤其是生成器,协程,元类给Python注入了很大的灵活性,想写的Pythonic有不小难度,但其实Python高级特性就那么几个,干掉了也就没有了。

当你觉得Python遇到了瓶颈,不妨停下来好好想想。研究研究设计模式,想想重构,了解领域驱动设计,敏捷开发,再回来读读以前写的代码,当眼界变高了,代码也就美了。

当然思想的提高不是一朝一夕,模式,原则会经常让你纠结,纠结就会思索,思考就走出了自己的路,当然条条大路通罗马。

数据库等存储技术是研发工程师迈不过的坎,对关系数据库以mysql举例来说,你必须清楚的知道什么字段选择什么类型,类型字节大小,限制条件,这东西也很容易理解,多想想即可,比如set类型,要支持交并等操作,1个字节只能存8个类别。数据类型搞定了,下面就是索引了,mysql索引种类?主键,唯一索引,普通索引。索引类别,BTree索引,hash索引。索引的优缺点,mysql的索引查找原理,join原理(大部分都是nested loop),以及一些特殊的情况,比如mysql子查询慢等。其实到这里研发工程师就差不多,当然你可以继续深入下去,比如读写分离,集群管理,甚至一些参数调优。

革命尚未成功,同志任需努力!!!!

更新:讨论区挺热闹,有人说好简单,有人说好难,其实我觉得这只适合面试2~3年工作经验的后端工程师。真的没有问

很难的题目,只是可能你平时没有注意。

在这里我推荐几本书吧

python参考手册,绝对让你更上一层楼

图解密码技术,密码入门不二之选

mysql技术内幕第五版,有点厚当手册读读,要有耐心,高性能mysql也强烈建议读读

effective tcp/ip programming

为什么评论区有这么大差异?我想是个人经历不一样吧,如果是搞web的对操作系统这块和密码技术会偏弱,但如果是系统工程师或是游戏服务端这块会明显偏强。

吃午饭的时候我就一直在想这个问题,我觉得重点不是Python而是后端工程师,因为Python只是系统的一部分,linux基础操作要熟吧,sql要懂吧,消息队列要知道吧,git要熟悉吧......木桶理论,每一环都不能落下,精通其中一两环就更好了。基础功扎实,新东西学得快,代码写得溜,命令敲得顺,bug解的好,妈妈再也不用担心我天天加班了~~~

一.语言

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.对称加密与非对称加密区别?

3.如何生成共享秘钥? 如何防范中间人攻击?

五.杂

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

是否紧跟时代潮流?逛不逛微博,刷不刷知乎?

可能你觉得我问的好细,但这好多都是平常经常遇到,并需要解决的,细节更能体现一个人。

python工程师-如何面试Python后端工程师?相关推荐

  1. python后端开发工程师做什么-如何面试Python后端工程师?

    更新:2020年5月10号 惭愧惭愧,我已经叛逃Python 4年了,加入了Java阵营,主要是大数据领域被Java.Scala占领了. 工作中真正的核心竞争力还是写出整洁的代码和架构,面向对象的思维 ...

  2. ipython控制台 绘图 后端_如何面试Python后端工程师?

    之前17年的时候在CSDN写过一篇初级面试总结,写完之后盗链的比较多,然后最近找工作的时候,又输出了一篇,算是中级python的面试总结吧,全文如下: 时光荏苒,岁月如梭,一转眼,又到了春暖花开跳槽季 ...

  3. Python后端工程师面试题目分享,求职面试之前先来看看!

    Python后端工程师面试题目有哪些?下面就跟着小编一起赶紧来看看吧! 面试是公司挑选职工的一种重要方法.它给公司和应招者提供了进行双向交流的机会,能使公司和应招者之间相互了解,从而双方都可更准确做出 ...

  4. python算法工程师面试_算法工程师的面试经历及总结

    2017年即将过去,今年是忙碌的一年,从2月17还没开学就来学校,到现在12月初,工作的事情终于尘埃落定,现将这一段经历写下来,希望能帮助来年找工作的学弟学妹,同时,对自己来说,也是一年的工作总结,总 ...

  5. Python后端工程师学习路线——大学版

    作为一名Python后端工程师,需要具备计算机基础知识.Python语言基础和相关技术栈的知识,包括数据库.Web开发.框架等.在这篇博客中,我将从大一开始,讲解如何规划学习路线,以成为一名Pytho ...

  6. Python后端工程师之2022年5月技术栈大盘点

    Python后端工程师之2022年5月盘点 盘点就web后端进行讨论: 后端开发技术栈: 开发:基于Python虚拟环境进行标准开发. web框架:flask.tornado.fastapi 路由:设 ...

  7. 软件测试工程师应该学Python还是学Java?

    对于一个软件测试工程师来说,选哪一门语言来入手编程一直是件非常纠结的事情,当然立志做一辈子功能测试的人除外. 当你学完软件测试基本理论,掌握业务测试流程,功能测试可以搞定,数据库和linux玩的也很溜 ...

  8. 鲸鱼游戏后端开发工程师职位面试过程回顾

    2019独角兽企业重金招聘Python工程师标准>>> 面试 Intro 简单介绍下面试的前置情况. 面试的公司是鲸鱼游戏,职位是后端开发工程师,开发语言C++. 这篇博文主要是为了 ...

  9. python工程师月薪多少-Python全栈工程师为何这么火薪资这么高看了才知道

    (文章转载于网络) 我每天听见全栈工程师这个成语. 这么很多小伙伴还是不明所以,什么是全栈工程师?咋回事全栈开发用Python?Python Web全栈开发到底有多高薪?今天就来为大家解读一下. 啥是 ...

最新文章

  1. Applet相关知识
  2. boost::noncopyable介绍
  3. 增强MyEclipse的代码自动提示功能(测试结果不是很爽)
  4. Windows Hello 可绕过漏洞进行身份认证
  5. 时间戳类型的字符串 {Timestamp@15601} “2021-07-14 18:56:53.0“ 变成带T的Object类型 2021-07-14T10:56:53.000+0000 处理
  6. 【无一时】的意思和解释
  7. android qq 微信绑定,QQ或微信互联快捷登录怎么绑定微信提醒?
  8. 带动态行的工作流需要我们自己做的
  9. java 转换成大写_java实现将数字转换成人民币大写
  10. 关于纳什均衡与博弈论
  11. 网吧部分机器耳麦line in线要重插一下才能说话的设置
  12. struct和typedef struct的区别
  13. Windows exploit初探-栈溢出
  14. GP232RL替代FT232RL国产USB转串口/UART芯片
  15. 地图sev-clt文件详解
  16. kali工具详细说明----------密码工具
  17. 车载摄像头贵是道理的!它的规格真的不一般!
  18. 易恢复EasyRecovery15电脑数据恢复软件
  19. Win10开启照片查看器
  20. vue关闭严格语法检查

热门文章

  1. Entity Framework 数据部分更新之Attach Detach
  2. SQLSERVER 查询存储过程内容,主要是通过关键词查询相关的存储过程使用
  3. java字符串类型常量拼接与变量拼接的区别
  4. jquery的实时触发事件(textarea实时获取中文个数)
  5. Windows进程间通信的各种方法
  6. 《玩转.NET Micro Framework 移植-基于STM32F10x处理器》--微软中国.NET Micro Framework项目组工程师所作之序...
  7. 《信息检索导论》第三章总结
  8. 怎么用python读取csv文件、并且是读取行-python读取csv文件指定行的2种方法详解...
  9. 如何读取csv文件中第n行数据python-python数据处理之如何选取csv文件中某几行的数据...
  10. python3基础教程廖雪峰云-廖雪峰Python3教程---实战day1-day13总结