1
julyclyde 2023-10-24 17:56:47 +08:00
是问某个库的时间复杂度?还是问应聘者写的程序的复杂度?
如果是后者,那不是理所当然吗? |
2
XxxxD 2023-10-24 19:47:42 +08:00
这种还好吧
|
3
sadfQED2 2023-10-24 19:50:55 +08:00 via Android 1
除了 java 面试官,其他任何语言的面试我都没遇到过问这种问题的。java 出身的面试官动不动就是 xxx 方法是不是线程安全,xxx 方法怎么实现的,xxx 框架怎样工作的
|
4
learningman 2023-10-25 01:35:30 +08:00 via Android
这和语言有啥关系,这不常识吗
|
5
loolac 2023-10-25 08:42:18 +08:00 1
@learningman 但实际用不到,只有衡量代码质量是能用到。但代码写的好了,到最后也没用。因为暂时找不出更优化的算法来了。现在的软件,时效性比质量更加重要。
|
6
tigerstudent 2023-10-25 08:54:07 +08:00
只是用来过滤一部分本科课程学得渣的人而已
|
7
hoopz 2023-10-25 09:31:02 +08:00
我反正不问,就是开发个 CRUD 应用,要啥时间复杂度。。。
如果面试官问了,无论是真用,还是企业/部门文化就这样,如果你又不会,那就说明双方不匹配呗,换一家面:) |
8
rev1si0n OP @julyclyde 问的:list 插入元素的时间复杂度,咋的他自己还有能力改造不成。
@learningman 我觉得这在实际应用中很少见,如果是性能相关的工作那当我没说,但是都用纯纯 Py 了,几个真会在乎那几毫秒呢。 |
9
Morxi 2023-10-25 10:16:53 +08:00
我之前一个本地文件遍历(只获取文件名和大小)拿纯 C 写不到 1000ms ,同事写的 Py 跑了 20 分钟还没遍历完,帮他去掉了重复递归之内的算法脑瘫操作时间优化到了十几秒
|
10
wsn 2023-10-25 10:48:06 +08:00
都用 py 了,还用考虑性能嘛
|
11
NoAnyLove 2023-10-25 12:00:39 +08:00
为啥不会,都明明白白写在官方 wiki 上了,算作常识吧。基本上能过滤调那些就只会 Python 语法的人
|
12
rev1si0n OP @NoAnyLove 怎么,内置的数据结构还需要你去优化吗,按你的道理来说,原来我只是个会点 Python 语法的人,失敬失敬。
|
13
NoAnyLove 2023-10-25 13:15:23 +08:00
@rev1si0n 了解 Python 基本数据结构操作的时间复杂度就等于要让你去优化内置的数据结构?你这是怎么得出这个因果关系的?简单来说,了解它有助于选择合适的数据结构去实现需要的应用场景。我只是如实表达自己的观点而已,你不同意也没必要在这里阴阳怪气
|
14
rev1si0n OP @NoAnyLove 那你又是怎么得出不记得 On01 就是只会点语法的呢,你也没有必要在那里显得多高级,来用你的理论+常识去写一个 https://github.com/rev1si0n/lamda ?
|
16
NoOneNoBody 2023-10-25 13:54:34 +08:00 1
问这个问题能过滤掉一批非科班出身的,例如我
但科班出身的写 python 却又不多,筛孔太小,会导致剩下可选的人太少,这是另一个问题 纯 python 写不出什么大用途的项目,往往依赖的都是三方包,但引入包后又怎么判断时间复杂度呢? 所以,招 python 应该会更偏向重视调试能力,而不是理论知识 另一种可能是看有没有优化意识,就是第一次写就开始考虑减少循环次数,而不是不管三七二十一直接全遍历,懂复杂度的人往往都有这种意识。所以目的不是考复杂度知识,而是自行优化的意识和能力 |
17
karatsuba 2023-10-25 15:51:12 +08:00
考一些底层数据结构知识吧,毕竟是个程序员都熟练使用 python ,总要过滤一下
|
18
HyperionX 2023-10-25 16:14:14 +08:00
你要是刷题的话应该知道把,最基本的数据结构,大一大二就学。
|
19
MoYi123 2023-10-25 16:39:13 +08:00
@rev1si0n 不是故意找你茬啊, 一个 4.3k star 的项目 0pr, 50 个 issue, 感觉和我所熟悉的项目不太一样啊.
|
20
UN2758 2023-10-25 17:42:09 +08:00
看简历或者要求,如何我面试,看到你是科班毕业,我大概率会问,比如 python 的 sort 实现是 TimSort,是归并排序的优化版本,复杂的你猜都应该猜个 O ( nlogn )
|