百度 – 机器学习面试

匿名网友 匿名网友 发布于: 2016-05-12 00:00:00
阅读 304 收藏 0 点赞 0 评论 0

之前笔试的题目大部分都记不清了,只记得里面的编程题是:

给定一个正整数向量,判断这个向量是否存在一个片段,使得反转这个片段后能够使该向量升序排列。如:1 2 4 3,就可以通过反转4 3使得向量变为1 2 3 4,即升序排列。可以输出yes,否则则输出no。

我的想法是:顺序判断向量元素,一旦出现两次降序的情况,就说明不可能通过反转一个片段得到升序排列。比如:1 2 3 6 5 4 7 9 8 10。当然由于编程水平有限,最终也没有达到accept。

百度的笔试前几道题是看图选择图中蕴含的意义与百度的哪些企业文化匹配,我也是醉了;其他的题目考的很杂,各个方面都有:语言、数据结构、Linux、操作系统等等,作为一个非计算机专业的学生真有点应付不来,所以根本没想到会叫我去面试。

 

面试的前一天晚上9点才通知第二天上午去面试,好吧,去看看吧……结果不出我所料,打了一大桶酱油……我就只写一下问题吧,涉及的问题我会再学习学习,后续写一写博客。

1. 介绍一下自己。我研究生期间做了一些高斯过程模型的应用,于是他便问我什么是高斯过程模型,怎么理解?和线性回归方法有什么关系?

2. l2惩罚项是怎么减小overfitting的?l1,l2等范数的通式是什么?他们之间的区别是什么?在什么场景下用什么范数?l1在0处不可导,怎么处理?

3. hash表是怎么实现的?有冲突的时候怎么处理?

4. stl map和hash map之间的区别是什么?

5. 线程安全是什么意思?新线程什么情况下会影响原有线程?

6. 建立一个数据结构,基于此写一段程序用于存储sparse vector,同时编写一个函数实现两个sparse vector的相加运算。

7. 自己有什么优点缺点?

 大概就记得这么多~以上。

评论列表
文章目录