文章标题

百度实习面试(2017/2/14)


感觉是业界比较难的面试了,笑着进去的,奔溃的走出来的。感觉自己离一个普通的程序员还有些差距,更别说一个优秀的程序员了。这次面试对我整个职业发展方向和自己的未来敲了一个警钟,要认清自己的兴趣所在,自己适合做什么,应该做什么,以及如何去做。


  1. 面试内容回顾
  2. 反思与总结
    2.1 专业知识
    2.2 人生方向

1.面试内容

申请了百度的搜索部门,主要做Rank相关工作,用到的主要就是数据挖掘,大数据机器学习这些技术。本以为面试会问一些机器学习相关知识,结果完全是考察计算机基础知识,包括C++、数据结构和算法以及大数据。感觉就是:面试官会根据你的简历以及所面试岗位要用到的技术询问相关的内容,所以简历中涉及到的领域一定要做到滚瓜烂熟,至少基础的东西不能有漏洞,否则很轻易就露馅了。

1面面试官是个资深的工程师,问了我几个基础的C++问题,包括虚函数,什么是多态,然后就直接写编程题。第一题是输入“abc”,输出所有的组合结果,例如a b c ab ac bc abc ;第二题是从源字符串中删除与给定字符串中字符相同的字符。结果第一题就有点蒙了,一直想用回溯和递归实现却怎么也写不出准确程序,然后在那墨迹了有20分钟吧。第二题还比较好写个简单的,但是时间复杂度O(m*n),由于前面一道题写了半天他就感觉我代码能力不行,就直接告诉了我个O(N)的算法,然后我按照他的思路写了出来,结果边界没有考虑周全。总之一面真的很惨,之前刷编程题的时候感觉还行,真正面试的时候就完全不行了,代码能力真的跟面试水平差很多。

2面问的大数据处理的问题。比如1个G的文件,每行一个查询词,如何找出出现次数做多的100个词以及对登陆日志处理等问题,回答的不是很好,只是了解到这些大数据的题要用到hash函数,MapReduce以及bitmap等,但是要给出一个完整的很详细的解决方案就卡壳了。最后面试官评价是一个思维不够严谨,还有就是基础不够扎实,有些数据结构和算法只知其然不知其所以然。

2.反思与总结

2.1专业技能

这次面试才恍然大悟,原来自己的编程能力跟实际需求相差这么多,而且都有点让我对选择程序员这条路感到恐慌了,如果实现一个小的算法都很费劲,那以后漫长的工作岂不是更是一种煎熬吗。但是回想我这么多年专业学习的路,我确实对于动手这项能力练习的太少,有了大致的思路就感觉万事大吉了,然后不愿意去动手实现想法和算法。既然我有能力本硕都是985高校,编程这种可以靠感觉和练习来提高对我也不会是一件难事。而且,我觉得互联网和人工智能这个时代,什么行业都在往互联网上转,比如金融业火热的量化金融以及生物医学和其他学科的智能化发展,这些都离不开算法和程序的实现。所以编程是一项基本功,如果想在未来的社会立足,必须把代码水平提高到。所以这个时候不是考虑转专业,而是要及时查漏补缺!

1.认真刷Leetcode,Github以及其他开源社区寻找开源代码阅读。什么时候达到10分钟完整的解决一道题的水平,什么时候再去面试,否则就是自取其辱。
2.算法和数据结构以及机器学习再详细的学习一遍
3.参加Kaggle上的比赛,多看些别人的代码和思路

2.2人生方向

在这里提到这个话题感觉特别沉重,感觉多说不益,总之选对大方向,坚持小目标。如果你感到痛苦和艰难那几说明你在前进,关键是学会苦中作乐,不管选择如何要等得起自己的人生。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值