只是单纯的娱乐向吐槽,因为我的滴滴面试表现也并不好。只是各种公司的很多面试都有这样类似的问题,就是非常模板化,发这个帖让被校招虐的各位一起吐槽一发……
让我写一个匹配 IP 地址的正则表达式。面试这个环境下我真写不出来……
看我简历知道我的主力语言是 python。 问我:python 的函数参数是传值还是传引用?
我说当然是传引用。
面试官用好心引导我的语气问到:一定是传引用吗?
我心想,面试官怕不是心里一直有个面试模板,而且是个错误答案。 只好回答:网上有很多人说 python 的函数参数是不可变对象时传值,可变对象传引用,但是我理解的是都是传引用,只是在改变不可变对象时,重新创建了一个对象。
这个时候才满意地点了点头。其实我心里想的是你自己但凡在函数里把参数的 id 打出来看过一次都知道答案是什么了,而不是应该只看了网上的博客或者 python 面试题大全就来面试别人。
问我 python 进程和线程的区别。 先回答了进程和线程的区别,然后补充 python 里的线程由于全局锁的原因,不能并行执行。 结果面试官点头之后,总结了一下他的观点,原话是“嗯,python 是进程模型的”……
问我快排平均时间复杂度,回答 O(nlogn);问我什么时候快排时间复杂度会到 O(n^2)。
回答:当你每次要做交换前,取的比较值都是里面最大或最小的时候。
然后面试官反复问了几次,那到底是什么情况下呢?
我心里已经知道,他想要的答案是待排序的数据已经排序或者倒序的情况。但是快排是有很多种写法的,如果你不幸和我一样看的是 MIT 的算法公开课,那么按这个课程里的快排写法绝不可能达到 O(n^2)。(每次取前三个,用三个的中位数当比较值)
然而这是面试,我只好回答:要看你的算法是怎么写的,如果你每次都取第一个,那么在待排数据已经排序好或者倒序的情况下就会是 O(n^2)。
然后这个时候满意地回复了“嗯”。
其实这才是我心里真正的槽点,前面都是技术细节,面试官学过但是忘了或者记的个错的也没什么。
三面的槽点就是我没有参加三面。
大家都知道有个套路是让你“等通知”,但是他们是通知了我,而且没有下文。虽然我面试表现确实不佳,但是这个也让我很不爽。
二面完微信公众号和牛客网通知二面通过,于是我那个下午足足在电脑前等了数个小时,第二天再查看,面试已经结束。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.