只是单纯的娱乐向吐槽,因为我的滴滴面试表现也并不好。只是各种公司的很多面试都有这样类似的问题,就是非常模板化,发这个帖让被校招虐的各位一起吐槽一发……
让我写一个匹配 IP 地址的正则表达式。面试这个环境下我真写不出来……
看我简历知道我的主力语言是 python。 问我:python 的函数参数是传值还是传引用?
我说当然是传引用。
面试官用好心引导我的语气问到:一定是传引用吗?
我心想,面试官怕不是心里一直有个面试模板,而且是个错误答案。 只好回答:网上有很多人说 python 的函数参数是不可变对象时传值,可变对象传引用,但是我理解的是都是传引用,只是在改变不可变对象时,重新创建了一个对象。
这个时候才满意地点了点头。其实我心里想的是你自己但凡在函数里把参数的 id 打出来看过一次都知道答案是什么了,而不是应该只看了网上的博客或者 python 面试题大全就来面试别人。
问我 python 进程和线程的区别。 先回答了进程和线程的区别,然后补充 python 里的线程由于全局锁的原因,不能并行执行。 结果面试官点头之后,总结了一下他的观点,原话是“嗯,python 是进程模型的”……
问我快排平均时间复杂度,回答 O(nlogn);问我什么时候快排时间复杂度会到 O(n^2)。
回答:当你每次要做交换前,取的比较值都是里面最大或最小的时候。
然后面试官反复问了几次,那到底是什么情况下呢?
我心里已经知道,他想要的答案是待排序的数据已经排序或者倒序的情况。但是快排是有很多种写法的,如果你不幸和我一样看的是 MIT 的算法公开课,那么按这个课程里的快排写法绝不可能达到 O(n^2)。(每次取前三个,用三个的中位数当比较值)
然而这是面试,我只好回答:要看你的算法是怎么写的,如果你每次都取第一个,那么在待排数据已经排序好或者倒序的情况下就会是 O(n^2)。
然后这个时候满意地回复了“嗯”。
其实这才是我心里真正的槽点,前面都是技术细节,面试官学过但是忘了或者记的个错的也没什么。
三面的槽点就是我没有参加三面。
大家都知道有个套路是让你“等通知”,但是他们是通知了我,而且没有下文。虽然我面试表现确实不佳,但是这个也让我很不爽。
二面完微信公众号和牛客网通知二面通过,于是我那个下午足足在电脑前等了数个小时,第二天再查看,面试已经结束。
1
kuaner 2017-10-17 09:16:40 +08:00 1
说句不中听的话,感觉 lz 心态有点崩
个人觉得面试官没啥特别大问题 |
3
hanxiaoqiang 2017-10-17 09:21:06 +08:00 via iPhone
面试官问的问题说实话很基础……
|
4
kindjeff OP 补充一下😂主旨不是说问题难,也不是说面试官很差,面试官明显都比我厉害的多,只是有一些槽点拿出来说一下。
|
5
aheadlead 2017-10-17 09:26:10 +08:00
同觉得面试官问得还合适…
17 年校招的时候 还问我 JVM 的 GC 实现… 但是居然放我鸽子 很生气 印象-=10000 |
6
yoa1q7y 2017-10-17 09:26:11 +08:00
这俩问题很基本吧。。
|
7
gray10 2017-10-17 09:26:45 +08:00
我也感觉,面试官没啥大问题啊,没到要吐槽的地步。。。。,“等通知”也正常啊,说明你的面试表现没到立即拍板要你的程度,人家想再看看其他人和你比较下而已。
|
8
bolide2005 2017-10-17 09:29:31 +08:00
讲道理,你这个心态不被选中的概率会很大,因为你带着抵触的心理在回答问题,面试官能感觉到这种不合作的态度,相同条件下,肯定会优先选中更积极的面试者
下次面试前,先做个换位思考,如果你是面试官,对面坐个应届生,问点基础问题,甚至故意抛出个错误的选择看看他有没有思考过这方面的问题会不会中招,不是正常思路吗? |
9
rrfeng 2017-10-17 09:32:12 +08:00 via Android 1
觉得自己比面试官牛逼系列
|
10
kindjeff OP @bolide2005 你说得对,但是其实我吐槽的点就是这个面试过程本身呀。
|
11
Plsea 2017-10-17 09:51:26 +08:00
辣鸡杰夫找啥工作 看源源就够了
|
12
Kilerd 2017-10-17 09:59:31 +08:00 via iPhone 3
看到你说 python 传参是传引用的就知道你基础不好了。
正则写不出来,证明少写正则或者 google based 快排复杂度那里也表现得很一般 如果你不幸和我一样看的是 MIT 的算法公开课,那么按这个课程里的快排写法绝不可能达到 O(n^2)。 你试试全部都是 0 的数组排下序是不是 o(n2)复杂度? 还有你把 GIL 想得太简单了,python 的开发者也不是吃素的,当你用 threading 之类的标准库的时候,某些时候确实会打破 gil 的局限。 我认为你的问题在于:(个人意见,不好听可以不接受) 1 基础不扎实,态度也不咋地 2 基础不扎实带来的面试效果极差 3 当问你传参方式时,如果可以很好的回答问题,你可以扩展到 python 对小型数字的优化处理 4 问到进程线程的时候,你怎么可以不回答异步协程呢?(知识面太窄) 5 没问到 python 的 gc 都算你好运了 6 如果我是面试官,我对你的印象就是“这小伙子也就这样” |
13
u2386 2017-10-17 10:08:31 +08:00 via iPhone
传参传对象。
|
14
qianlv7 2017-10-17 10:09:07 +08:00
python 应该叫函数传参应该是传 reference to an object
https://stackoverflow.com/questions/986006/how-do-i-pass-a-variable-by-reference |
15
qianlv7 2017-10-17 10:12:51 +08:00
python 对于传不可变对象时, 并不会创建新值,因为既然对象已经不可变了,传原对象的引用不会有任何副作用
|
16
kindjeff OP |
17
yangyaofei 2017-10-17 10:37:43 +08:00 via Android
@Kilerd 关于 GIL,请问你说的那个是怎么打破限制的?
|
18
maskerTUI 2017-10-17 10:44:35 +08:00
匹配 IP 地址这种基础正则都写不出来,建议还是多加强基础吧。
|
19
WindowPain 2017-10-17 12:37:49 +08:00
原来在滴滴当个司机要会这么多东西。
|
20
D3EP 2017-10-17 12:40:59 +08:00 via Android
Python 是传引用吗?对 Python 不熟。不过感觉应该和 Java 很像,传的是引用的拷贝吧。还是按值传递。
|
21
secondwtq 2017-10-17 13:03:17 +08:00 via iPhone
面试套路化对于大多数人是好事,看国外某些公司的面试都套路成什么样子了
|
22
tuomasi 2017-10-17 13:06:50 +08:00
你答的太好了,可能老板 hold 不住
|
23
haddy 2017-10-17 13:50:31 +08:00
Python 是传引用啊……还是说我们对引用的理解不一样?指向对象的东西就叫引用,莫非有人理解成 C++之类里的引用?
|
24
haddy 2017-10-17 14:07:27 +08:00
查了下 wiki,好像好复杂。不要在意我刚才随便乱说的话…… https://en.wikipedia.org/wiki/Evaluation_strategy
|
25
rozbo 2017-10-17 14:45:51 +08:00
哎,驾照是越来越难考了。。。
|
27
zythum 2017-10-17 18:58:11 +08:00
面试官没毛病,流程没毛病。反正确实 驾照是越来越难考了
|