【面经】本周面经流水账
转眼间又到周六了,本周又有若干个面试,从周一开始几乎每天都有,下面分日期展开。
周一:在无能和无所不能的感觉中等公司约面试
周二:作业帮。
作业帮就一面,面试官是一个从百度跳过来的。问项目的时候具体问了我项目中FPGrowth算法中关于递归遍历FP-tree树的细节,没答出来。让我介绍一个ML算法,脑残的说要介绍SVM,可是SVM又特别容易忘,所以介绍的很粗糙。最后写代码:题意如下:若t1=[2,8],t2=[3,6]则表示t1能覆盖t2;若有s1={t1=[2,7],t2=[5,16]},t3=[4,10];则集合s1能覆盖t3。那么现在有集合s1和s2,判断s1能否覆盖s2?这一题主要的难点是s1中的数据t之间是存在相互叠加的部分的,如何将这些叠加部分进行归并,最后得到无叠加的部分。
毫无疑问的跪了。
感觉:自己刷题刷少了,这类线段覆盖的题应该有些套路的;对于FPGrowth算法还没完全掌握透(现在被打击之后可以安静的整理下算法了)。
周三:推掉面试,在图书馆闭关一天,琢磨FPGroeth算法跟线段覆盖问题。
周四:三进三出面百度,周四有百度两个部门同时面;
上午面了NM。一面是个安静的小姐姐,开始的时候问我简历上的项目,结果问了一个我没有怎么准备的项目,所以回答的并不好,为了挽回损失我主动请缨讲另外一个项目,由于准备充分对于小姐姐的问题我都回答上了;然后小姐姐问了我关于自己做的“智慧交通”的比赛的问题,以及CNN的相关问题;最后写代码,小姐姐出了一个如何从一个数组中等概率的找出若干个数的方法,蓄水池算法可以解决。二面是一个小哥,开始是问项目,由于我刻意引导(-_-)所以问了那个我熟悉的项目;然后小哥看完简历上写了熟悉机器学习算法(为了显示逼格高所以自己写了很多)就一个个的逐个问我各个算法,辛亏经历这么多的面试对这些算法早就熟悉了,所以总体下来没啥大错,只是后来问了一个关于模型评估的时候,实在记不住AUC曲线下面积的意义以及F1指标的写法了;代码题小哥出了一个跟小姐姐思路一样的题目,所以(–)。
下午面了DS部门,不得不说百度大厦逼格就是高啊,进去就有种高大上的感觉。面我的是DS的经理,一看就是技术大拿,因为刚坐下来就让我写代码,很简单将字符串(里面的存的是数字)转换成int数值;虽然很简单但是我却有一处卡住了,就是判断数据溢出的时候,如何判断以及溢出之后返回什么值?然后是介绍项目,非常详细的问了我关于项目的事情,问的很深,比如算法原理是什么?为什么选这个算法,除了这个算法还可以用哪个算法?比赛的时候数据是怎么处理的?为什么要这么处理?然后又是写代码,一个整数数组中连续的和最大的子数组的个数;这个是动态规划的思想,所以做对了;然后是题目的变种,若是选择的数据不能是连续的呢?这个还是动态规划,所以也弄出来了;最后给我出了一个实际应用场景的问题,比如用户输入一个Query,如何针对这些Query推送一些相近的信息?由于没有这方面的经验所以回答的很破碎,并没有达到他要求的那个点;然后他接了一个电话,接完电话之后感觉有些着急的样子,就匆匆结束了面试。。。。原本说好的今天下午会面很长的结果就一面一个小时就结束了。
出了百度大厦之后唏嘘自己这挂的有点快的时候就看到有个未接来电,回拨过去之后是NM的,约我明天再面一次。在告知我还在百度大厦之后就商议把时间改成下午;最后一面是经理面试的,其实很简单的就是问了一下项目谈了谈算法,最后就说OK了。中间有点波折的是经理告诉我我的简历被锁起来了,还是一个我没听说过的部门锁起来了,然后尽快跟DS那边的联系解锁,好安排HR面。其实当时还是很着急的但是无奈手机没电了,所以打滴回了宿舍,边充电边跟身在百度的朋友联系,想问问是什么情况,此时有电话接进来。我慌忙拨回去,被告知是锁我简历的部门要约我面试,由于是没听过的部门,所以我拒绝并要求给我的简历解锁。然后简历分分钟就解锁了。多亏手机没电,没给DS的经理打电话不然不是有些丢人了嘛。
感觉:写代码的时候对于代码的健壮性做的不够好,对于边界条件的判断,数值的溢出等问题处理的不好,所以在面DS的时候才被打脸。那个比赛的代码还有再熟练熟练呐。
周五:BOSS直聘和Music Box
上午BOSS直聘
辗转一个半小时来参加BOSS直聘的面试,十点半到的上来就是三张卷子的笔试题,题目范围涵盖:统计学知识;数据与特征处理;SQL题;Python题;shell;Awk(什么鬼);机器学习;代码题。题量大就算了题目还难,部分题如下所示:
SQL也是一题没写出来。
当时真的想一拍桌子走人的冲动。
而后是面试,在介绍完项目之后就问我比赛的时候的数据是如何用CNN的训练的,让我描述针对自己数据CNN训练的。这个我还真的没想过,只是知道图片是怎么训练的对于数据还真没想过CNN具体是怎么处理的。然后面试官就说图片是由于像素之间具有局部相关性所以可以用CNN,但是我的数据之间是不具有的,由于之前没考虑过这个问题,当时就被问趴下了。
但是后来想想其实类似图像的像素间,特征和特征之间也是具有相关性的。CNN对于图片也是操作时也是将一张图片展开成一维再处理的,当图像处在一维的时候那么和我比赛的时候将每个样本数据处理成一个记录又有什么不同呢(资料上将图片作为二维与卷积核相卷积应该是为了方便讲解吧)。当数据是一维的时候卷积核也是一维的,然后按照卷积操作线性的进行卷积操作,这完全是可以解释的。 不知这样解释是否正确若有人有经验可以一起聊聊。
下午面的是Music Box
Music Box是一家初创公司,做音乐APP的目标的海外,据说在日本很受欢迎。在这家公司面了三面,每一面都要写代码,代码又难,简直就是摧残心灵,从下午两点半一直面到下午五点半。
一面:介绍自己、介绍项目,而后详细的介绍了项目使用算法FPGRowth的原理,选取算法的原因;然后是写代码:在HDFS中,有K-V对,K是用户id,V是score分数;一个id对应多个分数。那么求每个id的Top10的分数。
代码不会写。
二面:介绍自己、介绍项目。然后是写代码:1,寻找一个字符串中最长的对称子串;如str=”dacbebcas”;返回”acbebca”;我给了一个暴力搜索的方法,说复杂度太高让优化,不会优化~~;2,简单一点写一下二分查找的代码;这个很OK;3,一个数可以被写成最少数的平方和;比如11=3*3+1*1+1*1; 74=7*7+5*5;写了一个贪心思想的算法,被证明思路是错误的,最后没写出来。
三面:介绍自己、介绍项目。然后又双是写代码:合并两颗二叉排序树。想了二十分钟,就算加上面试官善意的提醒还是不会(………)。
感受:还是自己刷题太少,代码写不出来所以面试的时候总是心虚,信心硬不起来。其次是感觉初创公司真的招人听不容易的(其实Music Box规模还可以B轮了,有80人吧),感觉那公司是想招我的,看着面试官带着期望的眼神盼着我能把题目做出来,不断在旁边提醒,还让我不要轻易放弃,当时真是觉得他们不容易啊,也越发觉得自己真的是扶不上墙啊~。
还是多写代码吧。希望offer能快的下来。