Python后端开发三年经验,应该达到什么样的技术水平才算合格?
比如你面试一个三年的 python 后端 大概会问哪些问题 或者觉得哪些东西非常重要呢?
Python后端开发三年经验,应该达到什么样的技术水平才算合格?
没有女朋友的都合格?
三年经验的后端开发,技术上应该能独立负责一个中等复杂度的服务模块了。核心是能闭环解决问题,不只是写CRUD。
技术上要扎实:Python玩得熟,至少精通一个Web框架(Django/Flask/FastAPI),懂异步和并发。数据库方面,不只是会用ORM,得明白索引、事务、锁是怎么回事,能优化慢查询。缓存(Redis)和消息队列(RabbitMQ/Kafka)得在项目里实际用过,知道怎么选型和解决常见问题。
架构上要有感觉:能理解微服务、RPC、API设计原则(RESTful/gRPC),会设计合理的表结构和接口。代码质量要高,会写单元测试,代码结构清晰。
简单说,就是能从一个需求开始,自己设计、开发、测试、部署,直到上线稳定运行,中间出问题也能快速定位搞定。
总结:能独立负责一个服务模块的全流程开发与维护。
hr ?
只问你三道题,如果不百度能直接答上来你就是合格的三年后端。
( 1 )协程优点和缺点是什么?
( 2 )类定义中使用了 __slot__属性能起到什么作用?
( 3 )什么叫弱引用?主要的用途是干什么?
没有女朋友怎么面向对象编程?怎么写 python ?
答不上来。。只有快一年。。
问语言细节很没意思的,特别是 Python 这种瞎搞也不会爆炸的语言(
如果实在要问,我大概会出这些题:
1. 描述一下 type 与 object 的关系。
2. 叙述以下 metaclass 的应用场景,给一个实现例子。
3. 描述以下 package 的打包过程以及常见的坑。
4. 谈一下你认为最好的 Pyhton based infrastructure 结构。
5. 如果要你设计 Tensorflow Python Client 的实现,你会怎么处理?
6. 谈一下 Python 的优势与劣势。
7. (现场看你答得怎么样再随机出题)
一个也不会,python 入门一个月
#3 已经背下来了 我现在已经是合格的后端了😊
马克一下
python 可是面向 pypi 编程啊
非程序员,但也学了一段时间 python,说下自己的看法,针对有工作经验的面试,难道不是问你都做了哪些项目的哪些功能,然后根据你的回答去找一些知识点去考察这个人的技术水平?协程等 python 高级知识点,没有用到项目上,有考察的必要?
一题不会 gg
我应届。这几个都会。。。
我看拉钩上面招聘的 python 向来都是要求精通的啊。。。三年怎么的也得能写出 flask 这种框架把。。 如果三年还搞不出来怎么好意思去大拉钩投简历呢。怎么好意思写精通呢。
2 年 python,表示一个也回答不上来
我也在思考这个问题,工作快三年了,现在是 python django 方向,发现现在也就是一直增删改查,并没有什么提高,感觉这样下去迟早要被淘汰的,目前还没有想持续学习的方向,很着急,很害怕!
对于市面上普遍的 三年 python 后端 翻译一下大概就是能够实现一个比较抽象的任务 比如(独立完成实现一个登录系统)
同时写好完整的测试 在需求迭代的时候能够持续的发布 保证代码的质量~
对于这样的工作 语言的细节绝对不是考察的重点 换句话说 你百度 5 分钟就能搞明白的问题 都不会是我在面试的时候关注的重点 而且你的目的大约只是实现业务逻辑的话 其实用不到语言层面太多的特性的 (比如我们公司几十万行 python 后端代码 感觉从来都没用到过弱引用 slot 连类的重载都很少用上~)
毕竟 大部分人的工作都不是写 Flask 框架 写 requests 库, 不过说回来 你得时刻保持一颗学习的心 万一哪天 CTO 拉你去写公司内部的 requests 库了呢
对于一个 3 年的后端, 我大致会考察以下这些点
* 基本的算法 数据结构 和解构问题的能力 大约等于能不能写一个棋类(随便什么棋类)的模拟
* 对代码的重构能力 (写出好的变量名称 /提取常用的组件)
* 代码的结构能足够的清晰 简洁 (从而能写出足够清晰简介的测试)
* 对框架的熟悉 (python 特有) 其实你本来用的别的语言 学学怎么用框架也是分分钟的事情 看两个 example 就上手了
* 学习能力
* 沟通能力
我刚学一年半,因为有学 Android 和写过协程爬虫,感觉都能答上来。(然而我后端很烂,觉得问题和后端没什么关系)
初学者
( 1 )协程优点:相对于进程省资源,相对于线程,没有共享数据段,更安全。缺点。。。
( 2 )插槽,只能使用插槽里声明的变量,控制动态添加变量。。
( 3 )弱引用不会增加引用计数,用途。。。
对于 PHP 程序员来说独立实现一个登录系统是入门水平。。。。。
似曾相识
来,键盘给你,你来敲个 flask
3 年左右应该不限与 python 了,后端方向除了该注重本职工作的,也应该对服务器的常用软件配置熟悉,数据库的优化等都要会吧
#22 入门都谈不上吧,自己搭个框架才是入门水平,可以用第三方的路由和模板引擎。
不敢吭声
嗯嗯,这个回答很 general…
其实这些就是概念,我想那位兄弟想问得不是这层
py 的语法,也就元编程稍微难一点,其他都没什么好问的吧!后端主要不应该是除开语言之外的其他技能么?
弱引用几乎没用到过 但是这三个问题大概都是语言上的问题吧
难道不会问一些有关于设计和架构方面的问题吗
肯定不限于语言的
正好最近也在思考这个问题,看了一圈,@tangyouze 的回答和我面试时的考察基本一致。
那种教科书上才会提到的知识点我是不会考察的。
上面问的我都不会,瑟瑟发抖,我是不是要失业了
看了一圈回答就这个靠谱。。 具体的知识点都是可以很快学会的。重要的是解决问题,拆分问题的能力。 但是现实是您这样子的人很少,就算楼主去面试也同样有可能被不懂的人给毙掉(被那些不懂的在一面的时候拿俩那种百度的垃圾问题给干掉。。。。)。
我是黑一下拉钩上的那些公司。。毕竟人家要求高的很。 让我搞个 flask 这样厉害的我是搞不出来,但是搞个可以用的还是可以搞出来的。
给你一门新语言 比如 lua 你觉得多久能上手 一个星期够么 还是有任务只能闲暇看看的
自己搭框架还是太难了,不过有人写了系列文章照着做就不太难了。
想着学门后端,考虑过 go,但本地没机会;刚还看 Python 的,一看这么多 3 年的大佬只能干这些事,那么····
知乎即视感
想问刁钻的问题,怎么都能问出来!问实用的,没几个能问
线程啊、内存泄露啊,必须的,人家 java 都这样。
可惜没有 jvm
slot 真没见过几次实际运用的
本该一个月学完的东西,一用用了三年,所以你懂的
好吧。。。
可以可以
这么说我合格了,,
mark
m
面试的问题必须理论和实践相结合,目的是为了快速了解对方的水平,所以问题要精练、典型、有实效性。
我问的三道题,都是后端开发非常需要的技术点。你不能把后端狭隘地理解为用 Django 和 Flask 开发个 web 后端主要的工作就是 CRUD。比如让你用 socket 直接写个几万并发用户安卓音乐 app 后端呢?
( 1 )协程优点和缺点是什么? -----对于 Python 实现并发的重要解决方案之一
( 2 )类定义中使用了 __slot__属性能起到什么作用? -----海量的同类实例大幅减少内存占用的方案。
( 3 )什么叫弱引用?主要的用途是干什么? -----自己写缓存组件时常用的技术点,进而要理解 GC 的工作原理。
那直接出算法题…
emmm.才看过几天 python 的路过。我觉得面试官先问项目,然后根据项目问,项目是如何优化并发、如何优化的内存、如何优化缓存之类的会比较让人理解。毕竟大家使用的技术不会那么一致吧╮(╯▽╰)╭还可以一起讨论讨论有什么更好的方案什么的
mark
如果做业务,看工程能力…说白了大部分时候都是些业务代码,算法啥的知道就行了。语言细节也不重要,不记得不能搜么…
好多人答题一把好手,写起代码气死人
m
我工作两年不到,年后开始找工作,遇到过的高频考察知识点主要这些吧:
1.常见语法 GIL
2.常用数据结构算法手写
3.MySQL 索引 /锁 /事务实现原理,给查询会不会用到索引之类的问题
4.Redis 数据结构的实现,持久化主从复制实现
5.RPC ,这块接触很少,我只用过 Thrift,讲了一个自己实现的带有容错降级功能 Thrift 连接池,这部分基本就过了
6.MQ ,Kafka 原理之类的
7.上面说的协程考察过 gevent 的实现
还有面试官问过服务发现相关的知识,没用过表示不知道。
谢谢各位
协程优点是相比线程更省资源, 因为不像线程切换会陷入内核态;缺点是学习有一定成本, 并且有些协和实现不好 debug
__slot__用得比较少;
弱引用的话, 以前缓存用过;
已经 2 年不搞 py 了…
gevent 为啥用起来有点火葬场的感觉😄
mark
语言特性没啥好考的,反正 Python 语法规范也不详细
元类可以考一考,用的机会不多,但是读 ORM 和其他框架源代码的时候有可能看到,理解元类的话能帮你更好地了解框架实现
Decorator 可以考一考,这个在实际编码中还是用得很多的
数据库索引设计和优化的一些基本原则得考,这个大部分情况下都会用到
简单的算法得考一考,一点算法都不懂的工程师写出来的代码有时候会让人很无语
如果是 Web 后端的话,HTTP 协议得熟悉吧,常见的头常见的方法的语义得能准确说出来吧
还有就是给一些简单的函数让被试者说说如何应该实现的单元测试(其实这个问题很多人都答不好)
剩下的就是根据被试者的领域来决定如何问问题了
看楼主头像 我想起了跑步机
m,都是大佬
战略性 mark
看到那个问 slot 属性的,
妈个蛋,习惯按 Ctrl + enter 换行了,又重复发了。



