360算法工程师初面总结

来源:互联网 发布:模拟网络攻击软件 编辑:程序博客网 时间:2024/06/06 10:21

360算法工程师初面总结

因为想进360,所以随意投了算法工程师(360PHP研发好像不怎么招),没想到过了,通知面试。上午上班结束就请半天假去360面试。很是匆忙,虽然连续几天背了大量的网络、安全、PHP、数据库相关的知识,但是完全忽视了算法(这里也说明了目前的短板就是算法)。到了三元桥(绕了半个多点就是过不去,三元桥附近修的太乱了),到对面做401路到王爷坟,旁边360大厦。坐了几分钟就有面试官来找了。在一个面试间开始面试。

  • 面试前的准备
  • 面试前期
  • 面试中(岗位相关的技术问题)
  • *面试后半段
  • 回来的路上
  • 写给自己的总结

面试前的准备

 此前参加过新浪、去哪儿、贝贝、今日头条、360的网申、笔试,有过的也有没过得,主要是我前期没打算参加秋招(觉得自己技术还不够,希望能在实习期间成长一下明年参加春招),但是都通知面试了所以试一试去见见场面。在新浪的面试我的另一篇博客中也有写。总体觉得今年我遇到的面试都还算可以,不是特别难。面试官看我答不上来时(问题其实相对简单没有网上说的那么难,又不是BAT,大家都还算客气),会给提示和降低问题的难度。特别是新浪的面试官,感觉还是不错的。 而这次的360(虽然我是PHP研发的,但是面的是算法工程师),所以有些心理准备。但是前期准备的时候忘了(尴尬),一顿背OSI模型、网络协议、PHP常见算法题、设计模式、数据库(连sql存储我都没有放过,以防面试造火箭入职拧螺丝的尴尬,我尽然看了sql存储,自己都吓一跳);然后去了三元桥,在哪转啊转,就是转过去街对面的公交站,搞得我过了面试时间(后面慌了,很影响面试,后面再提细节)。等很久的401路到了王爷坟。360在左手边,很好找。当时看见360大厦我的第一个想法就是360真的缺人面试应该不难(后面验证了我的想法),那么多房间的大厦,明显能感受到只用的很少的房间,大量的空着,给人一种荒凉的感觉。还有360的B北入口写着“为人民服务”。我觉得这蛮符合我的气质的(喊着为人民服务的口号干损人利己的事)。

面试前期

在大厅打电话通知HR,几分钟下来了面试官(我以为是hr),谁知是技术面,跟一般的互联网公司不一样啊(不按套路出牌)。直接来技术面,我就紧张了。加之前面以为错过了面试,然后整个人就慌了。面试官慈眉善目的,一种忧郁和老实巴交的中年人。(不是精明强干的人,但是技术应该不错。)自我介绍,我说的稀烂,因为我不知道他想让我说什么,他就说介绍一下自己,我说了自己的基本情况然后说了实习和学校的一些简单奖项。在我要介绍我的优秀战绩和项目经验的时候我问了一下他我需要介绍项目的细节和获奖的比赛细节(礼貌性,因为有的面试官会有时间直接问项目经验和算法研究的经历什么的)。他说“这个不用”。(雪崩了,我的优势,我的最擅长的东西被忽略了,此时我就知道这次面试糟糕了),然后我后面做的一切都为了不让我在这面试的1个多点里太尴尬。

面试中(岗位相关的技术问题)

 接下来直接就是正题,说“我们做点算法题吧”。
  1. 合并数组
    有2个有序数组(从小到大)a,b,合并到c中有序。这很简单,我当时直接就答了2种解法。然后他说“你实现一下,哪种都行”。我用PHP写了一下。这时我发现我手写代码不行。我怎么弄就是搞不出来,越来越慌。我当时觉得这明明是很简单的问题啊,怎么就写不出来呢?搞了很久。后面面试官提了一下,“你看啊,只需要比大小,然后下移,然后在比较”,我,,,,,;(我只是写不出来,算法我知道,你说的我刚讲过。我,,,)但是我也不能说,对不起我手写代码不行,我写不出来但是算法原理和思路我都知道。第一次在面试中栽得这么惨。阴沟翻船!!
  2. 654321变为123456。
    一个数字是654321变为123456。这是送分题,但是也栽了。我做出来了,但是从面试官的反应来看,对我手写的代码很不满意。然后这题基本是不算分的感觉。
  3. 问我简历上说,你擅长什么技术?我说PHP、数据库什么的研发吧。你这写的C语言,会吧?我能说不会吗?但是出来实习后就没有碰过C了。此处算是我硬接招。死扛。
  char  *  f()  {        char buff[1024];        // 其他操作,,,        return buff;  }

这段代码有问题吗?什么问题?
我下意识就说有问题。但是什么问题这就,,,。后来才反应过来,这问题不就是char* 和char[]的问题吗?失误严重啊!而且当时我觉得这问题我很熟悉(学过C语言的都遇到过这问题,课本上有的。但是怎么想就是想不起来)————–
4. C++问题,virtual

 virtual  function (); //          function (); // 
2者的区别。虚函数我答上来了。(C++学过呢)。但是面试官说,不问虚函数。就是纯粹的区别!  绕晕我了。现在看来,这是多态啊!!!!
    virtual  function (){}; // 虚函数    virtual  function ();// 多态,纯虚函数
  1. 棋子问题(面试官无奈的送分)
    题目原本是在棋盘上,面试官不想太明显所以:
一个数组100个空间1到100;,每次下1或者2个子去占1或者2个空间,问最后谁赢。

我觉得是谁先下谁赢。当时没想起来怎么算的,但是我很肯定我见过这种题。

面试后半段

经过上面挣扎,面试官无奈的说“你还有什么问题?”我能感受到面试官的失望。而且后面聊的时候他也说我把这些简单的题想复杂了。这些题其实很简单的。然后我对自己的表现也很失望。但是还是得聊啊。谈了谈书和360算法工程师和百度等公司的算法工程师的差距还有行业的什么情况。面试官说“算法工程师未来是没问题的,360在这方面的投入是空前的”。这完全是在扯淡了。我还没听说那个公司会不投入经历搞算法和大数据的!
面试官后面很耐心的安慰我,“你还年轻,学校学的可能会忘,但是学的方法总是要捡回来的”,还拿他自己举例子。说了很多,人真的很好,蛮希望有这样的老大的。然后就是职业素养真的很高,看人真的很准(我实习了3个月我上司对我的总结,面试官在不到1个小时的面试中就总结出来了,可惜当时没问我该如何走出当前的困境)。全程最多是失望,但是没有任何的不悦和言辞上的不快。
推荐了3本书: 设计模式是不管什么语言的都必看的;Effective C++和More Effective C++是C++要学的,看了会很有提高!

回来的路上

面试结束了,虽然面试官后面一直在强调技术问题我们后面约时间再聊,后面约时间再聊。但是我也明白这是没有机会了。除了360的大门我都不知道一路怎么回到住所的。只知道进三元桥地铁站的时候太阳很大,很耀眼。而出沙河高教园地铁站的时候,天好黑。感觉我在地铁中待了好久好久。

写给自己的总结

读书吧,多读点书。后面可能还要完成实习。然后要做好手里的工作。多读点书,各方面的。面试的准备要充足,技术、项目、算法都得会。
根据已有的经历,所谓大公司的面试其实并不难,只是问的比较全面。
然后我觉得我不知道我想要什么!我可能什么都想要吧。这次面试对我影响挺大的。虽然我还没有看出有什么实质性的影响,但是我能感受到。

谢谢面试官的耐心和后面的安慰吧。真挺好的!

砥砺前行                                 2017年11月19日  北京 海淀
原创粉丝点击