1
chenqh 2018-03-12 20:04:14 +08:00
没有女朋友的都合格?
|
2
jakobliao 2018-03-12 20:04:20 +08:00 via Android
hr ?
|
3
xpresslink 2018-03-12 20:29:22 +08:00 1
只问你三道题,如果不百度能直接答上来你就是合格的三年后端。
( 1 )协程优点和缺点是什么? ( 2 )类定义中使用了 __slot__属性能起到什么作用? ( 3 )什么叫弱引用?主要的用途是干什么? |
4
IanPeverell 2018-03-12 20:45:14 +08:00
@chenqh 没有女朋友怎么面向对象编程?怎么写 python ?
|
5
Molita 2018-03-12 20:56:28 +08:00 via Android
@xpresslink 答不上来。。只有快一年。。
|
6
huntzhan 2018-03-12 21:08:07 +08:00 13
问语言细节很没意思的,特别是 Python 这种瞎搞也不会爆炸的语言(
如果实在要问,我大概会出这些题: 1. 描述一下 type 与 object 的关系。 2. 叙述以下 metaclass 的应用场景,给一个实现例子。 3. 描述以下 package 的打包过程以及常见的坑。 4. 谈一下你认为最好的 Pyhton based infrastructure 结构。 5. 如果要你设计 Tensorflow Python Client 的实现,你会怎么处理? 6. 谈一下 Python 的优势与劣势。 7. (现场看你答得怎么样再随机出题) |
7
klgd 2018-03-12 21:51:01 +08:00
一个也不会,python 入门一个月
|
8
misaka19000 2018-03-12 21:58:05 +08:00 1
@xpresslink #3 已经背下来了 我现在已经是合格的后端了😊
|
9
welkinzh 2018-03-12 22:24:13 +08:00
马克一下
|
10
chenqh 2018-03-12 22:37:06 +08:00
@IanPeverell python 可是面向 pypi 编程啊
|
11
dreampython 2018-03-12 22:43:30 +08:00 via iPhone
非程序员,但也学了一段时间 python,说下自己的看法,针对有工作经验的面试,难道不是问你都做了哪些项目的哪些功能,然后根据你的回答去找一些知识点去考察这个人的技术水平?协程等 python 高级知识点,没有用到项目上,有考察的必要?
|
13
okzpy9425 2018-03-12 22:49:45 +08:00
@xpresslink 我应届。这几个都会。。。
|
14
okzpy9425 2018-03-12 22:51:05 +08:00
我看拉钩上面招聘的 python 向来都是要求精通的啊。。。三年怎么的也得能写出 flask 这种框架把。。 如果三年还搞不出来怎么好意思去大拉钩投简历呢。怎么好意思写精通呢。
|
15
Mojy 2018-03-12 22:57:49 +08:00
@xpresslink 2 年 python,表示一个也回答不上来
|
16
Mojy 2018-03-12 23:01:24 +08:00
我也在思考这个问题,工作快三年了,现在是 python django 方向,发现现在也就是一直增删改查,并没有什么提高,感觉这样下去迟早要被淘汰的,目前还没有想持续学习的方向,很着急,很害怕!
|
17
tangyouze 2018-03-12 23:24:04 +08:00 14
对于市面上普遍的 三年 python 后端 翻译一下大概就是能够实现一个比较抽象的任务 比如(独立完成实现一个登录系统)
同时写好完整的测试 在需求迭代的时候能够持续的发布 保证代码的质量~ 对于这样的工作 语言的细节绝对不是考察的重点 换句话说 你百度 5 分钟就能搞明白的问题 都不会是我在面试的时候关注的重点 而且你的目的大约只是实现业务逻辑的话 其实用不到语言层面太多的特性的 (比如我们公司几十万行 python 后端代码 感觉从来都没用到过弱引用 __slot__ 连类的重载都很少用上~) 毕竟 大部分人的工作都不是写 Flask 框架 写 requests 库, 不过说回来 你得时刻保持一颗学习的心 万一哪天 CTO 拉你去写公司内部的 requests 库了呢 对于一个 3 年的后端, 我大致会考察以下这些点 * 基本的算法 数据结构 和解构问题的能力 大约等于能不能写一个棋类(随便什么棋类)的模拟 * 对代码的重构能力 (写出好的变量名称 /提取常用的组件) * 代码的结构能足够的清晰 简洁 (从而能写出足够清晰简介的测试) * 对框架的熟悉 (python 特有) 其实你本来用的别的语言 学学怎么用框架也是分分钟的事情 看两个 example 就上手了 * 学习能力 * 沟通能力 |
18
TesterCC 2018-03-12 23:53:36 +08:00 via Android
@Mojy 同样,目前虽然做过各种各样的小项目,但是重复度很高,业务也不算复杂,在市场上几乎没有竞争力,现在因不可抗力出来面试被各种被鄙视,一首凉凉送给自己。
|
19
stonymoon 2018-03-12 23:54:16 +08:00 via Android
@xpresslink 我刚学一年半,因为有学 Android 和写过协程爬虫,感觉都能答上来。(然而我后端很烂,觉得问题和后端没什么关系)
|
20
di94sh 2018-03-13 00:02:37 +08:00 via Android
@xpresslink 初学者
( 1 )协程优点:相对于进程省资源,相对于线程,没有共享数据段,更安全。缺点。。。 ( 2 )插槽,只能使用插槽里声明的变量,控制动态添加变量。。 ( 3 )弱引用不会增加引用计数,用途。。。 |
21
di94sh 2018-03-13 00:08:16 +08:00 via Android
我觉得问问流畅的 Python 里的知识,和 python 最佳实践里的问题应该没错吧。。
|
24
lolizeppelin 2018-03-13 08:07:42 +08:00 via Android
openstack 里没出现过__slot__ 所以这玩意没什么用
弱引用 openstack 里单例模式里用来存锁 可以更快释放临时对象 package 打包过程不是很熟 反正写好 setup 文件 就用 RPM 封包了 metaclass 这种黑魔法用得少 一个是单例模式用到 还有就是接口类用到 继承接口类的就不能继承单例模式类了 以前还在 saltstack 的类封装工厂里见过 完全没有可读性 233 |
26
zhangchioulin 2018-03-13 08:35:50 +08:00 via iPhone
3 年左右应该不限与 python 了,后端方向除了该注重本职工作的,也应该对服务器的常用软件配置熟悉,数据库的优化等都要会吧
|
27
KgM4gLtF0shViDH3 2018-03-13 08:54:11 +08:00
@wekw #22 入门都谈不上吧,自己搭个框架才是入门水平,可以用第三方的路由和模板引擎。
|
28
MyDaLin 2018-03-13 09:25:39 +08:00
不敢吭声
|
29
Paddington 2018-03-13 09:31:10 +08:00
|
30
wcsjtu 2018-03-13 09:34:37 +08:00 via Android
py 的语法,也就元编程稍微难一点,其他都没什么好问的吧!后端主要不应该是除开语言之外的其他技能么?
|
31
huisezhiyin OP @xpresslink 弱引用几乎没用到过 但是这三个问题大概都是语言上的问题吧
|
32
huisezhiyin OP @tangyouze 难道不会问一些有关于设计和架构方面的问题吗
|
33
huisezhiyin OP @huntzhan 肯定不限于语言的
|
34
shellbye 2018-03-13 09:47:31 +08:00
正好最近也在思考这个问题,看了一圈,@tangyouze 的回答和我面试时的考察基本一致。
那种教科书上才会提到的知识点我是不会考察的。 |
35
bomb77 2018-03-13 09:53:52 +08:00
上面问的我都不会,瑟瑟发抖,我是不是要失业了
|
36
okzpy9425 2018-03-13 10:14:09 +08:00
@tangyouze 看了一圈回答就这个靠谱。。 具体的知识点都是可以很快学会的。重要的是解决问题,拆分问题的能力。 但是现实是您这样子的人很少,就算楼主去面试也同样有可能被不懂的人给毙掉(被那些不懂的在一面的时候拿俩那种百度的垃圾问题给干掉。。。。)。
|
37
okzpy9425 2018-03-13 10:15:35 +08:00
@shlyren 我是黑一下拉钩上的那些公司。。毕竟人家要求高的很。 让我搞个 flask 这样厉害的我是搞不出来,但是搞个可以用的还是可以搞出来的。
|
38
soulmine 2018-03-13 10:21:04 +08:00
给你一门新语言 比如 lua 你觉得多久能上手 一个星期够么 还是有任务只能闲暇看看的
|
40
hasbug 2018-03-13 10:51:35 +08:00
想着学门后端,考虑过 go,但本地没机会;刚还看 Python 的,一看这么多 3 年的大佬只能干这些事,那么····
|
41
zhuyao 2018-03-13 10:52:52 +08:00
知乎即视感
|
42
assad 2018-03-13 10:57:16 +08:00 via Android
想问刁钻的问题,怎么都能问出来!问实用的,没几个能问
|
43
ioth 2018-03-13 10:59:18 +08:00
线程啊、内存泄露啊,必须的,人家 java 都这样。
可惜没有 jvm |
44
felinx 2018-03-13 11:03:02 +08:00 1
__slot__ 真没见过几次实际运用的
|
45
BlockBlockBlock 2018-03-13 11:04:31 +08:00 via iPhone 1
@hasbug 本该一个月学完的东西,一用用了三年,所以你懂的
|
46
hasbug 2018-03-13 11:10:17 +08:00
@BlockBlockBlock 好吧。。。
|
48
icheeringsoul 2018-03-13 11:46:36 +08:00
@xpresslink 这么说我合格了,,
|
49
scp055 2018-03-13 11:48:31 +08:00
mark
|
50
zhangsen1992 2018-03-13 13:03:37 +08:00
m
|
51
xpresslink 2018-03-13 13:06:15 +08:00
面试的问题必须理论和实践相结合,目的是为了快速了解对方的水平,所以问题要精练、典型、有实效性。
我问的三道题,都是后端开发非常需要的技术点。你不能把后端狭隘地理解为用 Django 和 Flask 开发个 web 后端主要的工作就是 CRUD。比如让你用 socket 直接写个几万并发用户安卓音乐 app 后端呢? ( 1 )协程优点和缺点是什么? -----对于 Python 实现并发的重要解决方案之一 ( 2 )类定义中使用了 __slot__属性能起到什么作用? -----海量的同类实例大幅减少内存占用的方案。 ( 3 )什么叫弱引用?主要的用途是干什么? -----自己写缓存组件时常用的技术点,进而要理解 GC 的工作原理。 |
52
huntzhan 2018-03-13 13:38:00 +08:00
@huisezhiyin 那直接出算法题...
|
53
0Kelvin 2018-03-13 13:51:23 +08:00
emmm.才看过几天 python 的路过。我觉得面试官先问项目,然后根据项目问,项目是如何优化并发、如何优化的内存、如何优化缓存之类的会比较让人理解。毕竟大家使用的技术不会那么一致吧╮(╯▽╰)╭还可以一起讨论讨论有什么更好的方案什么的
|
54
ylmyyyy 2018-03-13 14:23:37 +08:00
mark
|
55
tairan2006 2018-03-13 14:37:26 +08:00
如果做业务,看工程能力…说白了大部分时候都是些业务代码,算法啥的知道就行了。语言细节也不重要,不记得不能搜么…
好多人答题一把好手,写起代码气死人 |
56
tflimon 2018-03-13 16:16:31 +08:00
m
|
57
flowarmor 2018-03-13 16:40:23 +08:00 via Android 2
我工作两年不到,年后开始找工作,遇到过的高频考察知识点主要这些吧:
1.常见语法 GIL 2.常用数据结构算法手写 3.MySQL 索引 /锁 /事务实现原理,给查询会不会用到索引之类的问题 4.Redis 数据结构的实现,持久化主从复制实现 5.RPC ,这块接触很少,我只用过 Thrift,讲了一个自己实现的带有容错降级功能 Thrift 连接池,这部分基本就过了 6.MQ ,Kafka 原理之类的 7.上面说的协程考察过 gevent 的实现 还有面试官问过服务发现相关的知识,没用过表示不知道。 |
58
noai 2018-03-13 17:13:34 +08:00
谢谢各位
|
59
quietin 2018-03-13 18:06:07 +08:00
@xpresslink 协程优点是相比线程更省资源, 因为不像线程切换会陷入内核态;缺点是学习有一定成本, 并且有些协和实现不好 debug
__slot__用得比较少; 弱引用的话, 以前缓存用过; 已经 2 年不搞 py 了... |
61
Sherlocker 2018-03-13 18:19:11 +08:00
mark
|
62
l1093178 2018-03-13 18:23:46 +08:00
语言特性没啥好考的,反正 Python 语法规范也不详细
元类可以考一考,用的机会不多,但是读 ORM 和其他框架源代码的时候有可能看到,理解元类的话能帮你更好地了解框架实现 Decorator 可以考一考,这个在实际编码中还是用得很多的 数据库索引设计和优化的一些基本原则得考,这个大部分情况下都会用到 简单的算法得考一考,一点算法都不懂的工程师写出来的代码有时候会让人很无语 如果是 Web 后端的话,HTTP 协议得熟悉吧,常见的头常见的方法的语义得能准确说出来吧 还有就是给一些简单的函数让被试者说说如何应该实现的单元测试(其实这个问题很多人都答不好) 剩下的就是根据被试者的领域来决定如何问问题了 |
63
ljcarsenal 2018-03-13 18:49:13 +08:00
看楼主头像 我想起了跑步机
|
64
iPhone8 2018-03-13 19:46:24 +08:00
m,都是大佬
|
65
rim99 2018-03-13 22:16:55 +08:00 via iPhone
@xpresslink 我能说我有点思路嘛?自学一年 python 的路过
|
66
Gatler 2018-03-14 23:27:47 +08:00 via Android
战略性 mark
|
67
zhaodashu 2018-03-15 15:42:35 +08:00
大神 请教个问题 django 项目中 migrate 更新数据库之后 出现 "'2018-03-15 07:25:44.306389+00:00' value must be either True or False." 如果您见过的话 请指点一下 感激不尽
|
68
bwangel 2018-03-16 09:29:34 +08:00
看到那个问 __slot__ 属性的,
|
69
bwangel 2018-03-16 09:30:27 +08:00
|