作为一个男生,我真的不想去抨击一家公司或者去评判一家公司,毕竟秋招以来真的是自己太菜了,所以被面试刷掉从来没有去抱怨什么。
但是拼多多的面试官真的需要这么恶心人吗?
提前批一面:我是在9月回学校之后才正式找的秋招,开始投递简历,9月中旬面的提前批,这是我秋招以来第一次面试,一面面试官给我的感觉非常好,怎么说呢,虽然面试的是java服务端开发,但是一面面试官看我简历上的项目跟算法有关,问了很多算法知识😂,其实基础知识问得倒是很少。
值得注意的是一面面试的编程题我只写出了逻辑,现在来看肯定不是最优解,但是面试官还是照着我的代码问我思路,并且虽然没运行出来,还是问了下一些边界问题,按照我的代码应该如何处理,这是我第一次面试,体验总分10分我给10分,这种面试我只会觉得自己太菜😂流下菜鸟的泪水
-----------------------------------------------------------------------------------------------------------------------------------------
提前批二面:这次面的很基础,都是Java的常规题目,比如接口和抽象类的区别,然后设计模式有哪些,最后两道代码题也很常规,一道是用1-100的随机数生成一个满足80%概率的1-20,20%概率的21-100,都需要均匀分布,不知道我当时思路对不对,但是面试官也没怎么评价,这次面试我
给打7分吧,因为没有特别的好感或者差感,面试官没有故意刁难人,面试官给我最大印象就是应该是个大佬,问题都不是提前想好的,每次问问题先抬头闭眼睛想个几秒😂。
------------------------------------------------------------------------------------------------------------------------------------------
正式批一面:从这个面试官开始我就觉得态度比较不好了,明显给人的感觉就是不是很想要你,所以对一些问题一定要找到你不会的点,当然这也不排除面试官就想考察你的知识深度,举个例子,当时说sychronized的锁,让我介绍下,除了一些基本的公平非公平,重入的基础知识,我还说到了
sychronized的优化,现在针对自旋锁,锁消除的优化,然后最后说道了内存屏障,说到这里我说不下去了,毕竟我也是个菜鸡,然后面试官就问那内存屏障到底是怎么做的呢,底层是如何实现这个内存屏障的,我确实不知道也没有往下说了。还有一些其他的例子,比如ArrayList的扩容为什么是1.5倍。
但是这些问题说实话还是我的能力有限,我相信大佬可能都能给面试官聊晕😑。然后编程题应该算中等吧,如何对一个数组进行或排序 ,比如【1,2,2,3】进行两两或运算后成了【2,3,3,3,3,3】。这次我给打7分吧,因为这确实有自己能力的欠缺。
----------------------------------------------------------------------------------------------------------------------------------------
不知道哪一批客户端一面:10月11日HR给我打电话问我有没有意向去客户端,我当时还特别开心感觉拼多多还能捞我,但是噩耗就此开始了。一上来面试官就说不知道为什么会有服务端的来面客户端,然后说你自我介绍下吧,我说了下个人的情况和项目。面试官直接开始提问了。
第一个问题:进程和线程有什么区别;答:网上的一大堆balabala ;面试官:就没了?答:线程下面还有协程,;面试官:下个问题。
第二个问题:知道死锁么?举个例子;答:线程1占有A资源,请求B资源。线程2占有B资源,请求A资源。
第三个问题:说一下排序算法?;答:balabalabal;
第四个问题:那你说一下现在1TB的文件,只有500MB空间,怎么使得文件有序?答:这个问题我回答的不是很好,我一开始以为TOPK问题,就说堆排,然后说到中途,我说明了下堆排好像完成不了这个任务,然后我说明快排虽然时间复杂度会高,但是应该可以做到完成这个任务,比方
第50000个元素,记录比他大的元素个数和比他小的元素个数,那么最终可以完成这个排序;这里我回答还没有回答完,面试官就说:你为什么问题不想好了在回答,你又说堆排又说快排,你要用几个方法来做这个事情?说过的东西随便改?
到这里我都觉得其实是我的问题,这题我觉得应该是个常规题,面试完我也查了一下,这应该设计到多路归并排序的外排序和内排序,可能我答的跟面试官预想的差很多。
面试官:那你说一下这个死锁的条件和怎么解决。答:四个条件balabala,然后按照破坏各个条件说了一下。重点就在这里,我说JAVA当中的reentrantlock会产生死锁,为了满足您所说的死锁的避免推荐使用sychronized,因为JVM层面会检测和避免死锁;
面试官立马***:我问你java了吗?你的意思是别的语言没有死锁还是怎么得?C语言就没有?我从头到尾问过你java了吗?你跟我说Java又说jvm干嘛?
我立马蒙蔽,这什么意思,我展开说一下死锁就被怼,我当时都不知道说什么好,沉默了20s,我说不好意思面试官,我理解错了,实在不好意思。
关键问题是,我一开始就像面试官确认了我的语言是Java,他也表明之所以捞我是因为客户端也是用java开发的这些都是相通的。
之后的问题要么是计算机网络,要么是操作系统,反正一定不问Java,这个面试官我确定是用Java做开发的,这也是他一开始自己来说明的情况。
----------------------------------------笔试题--------------------------------------------------------------------------------------------------------------------
然后面试一直僵持到写代码环节,题目是给定一个长度2n的数组,n个奇数,n个偶数,现在要使奇数在奇数下标位,偶数在偶数下标位。 这题我的思路很直观,直接对数组进行遍历,当发现不足的元素,直接跟它的元素内容的下标进行交换,这样保证这一位元素是正确的(注意这里有问题,因为元素
的值的大小可能不在0~2n之间,所以这个方***越界),我就问面试官,我要说一下我的思路嘛。面试官玩手机低着头:没必要,你也可以说但是我不会评价。我说那算法的要求应该是原地置换空间复杂度o(1)吧,面试官低着头一句话不说。
那我就只能自己写代码了,写了个原来思路的代码,面试官说你确定吗,你看一下,然后我改了一下一些边界问题,然后面试官看了下,因为中途有个for(int i=0;i<n;i++)这里的i应该是不需要自增的,所以我说,不好意思,这个i应该不需要自增。面试官直接***:那我刚刚代码不是白看了?你这相当于又
改了。我让你改了吗?我说不好意思不好意思,这里我没注意。
然后面试官说了你这题目条件都没用完,能正确吗?我想了下,因为n个奇数,n个偶数,所以实际上应该对每个元素找他下一个位置,这个位置应该也满足这个元素的条件(比如0应该在0号位,1应该在1号位,但是实际是1,0,所以调换他们两就行,这样两两交换时间复杂度很低),然后我说了下我思路,
面试官也没说对不对,然后低着头玩手机。我问:我需要改一下吗?还是。(因为之前那段代码是不允许我碰的,里面其实还有个问题就是要记录下哪些元素被改过了,面试官意思是你不能动你写好的代码,因为你让我跑了)。面试官:你的意思是我们到这里结束?那也可以。我说:不好意思,那我改一下吧。
改完之后,面试官也没说什么,就直接反问了。说实话我没想到这个面试官还有反问环节。
------------------------------------------------------------------------------------------------------------------------------------------------------
秋招感想就是自己太菜了,但是有的面试官真的太侮辱人了,你可以不要我,那你直接把我刷了没问题,你为什么捞了还要怼人。我也不是个爱打抱不平的人,我一共就写过一个帖子,还是因为我很想去米哈游公司发了个许原贴,拼多多这辈子是无缘了,我面的也不算少了吧,真的第一次被这样怼。👿
祝那位面试官心想事成,感觉头发也不太多了,注意下身体。好人一生平安,最后在祝牛客的各位小可爱成功上岸!!!!!!!!!!!!!!!!!!!!!!!!!!!!!最好不要去面捞你的拼多多!!!特别是那种不是你的意向岗位!!!!!!!!!!!!!
全部评论
(39) 回帖