2013年10月14日

美团算法工程师一面

摘要: 自我介绍1.先自我介绍2.介绍自己最有价值的实习经历,以及对应的项目算法题:1. 写出二叉树的数据结构,假设每个节点有指向其父节点的指针, 求出两个二叉树节点的最近公共祖先。2. 非递归实现二叉树的中序遍历技能方面:1. linux : history命令,找出一天使用次数最多的10次命令2.网络编程 : 问了解不了解网络编程3.python : 对python是不是熟练,如何用一行代码 读取一个文件的全部内容并且打印出来语言方面:1. C++的多态是怎么实现的2 stl中的map是用什么实现的,红黑树最深节点和最浅节点之间最多差多少, map和hash_map的区别,各有什么优缺点3.百度的 阅读全文

posted @ 2013-10-14 16:27 iamccme 阅读(480) 评论(0) 推荐(0) 编辑

2013年9月26日

百度NLP二面-电话面

摘要: 实验室项目:1.实验室方向 2.用两分钟介绍自己的项目,创新点在哪里个人项目: 1.自己实现的贝叶斯分类器,目的,怎么做的 2.怎么计算各个分类的先验。(因为我使用的训练预料是每个分类10篇,没有分类的先验) 3 每个主题有10篇文档,假设有1W篇文档,如何分到不同的主题中(我答的是计算与每个文档中其它文章的相似度,每个doc用一个term数组来表示,数组中每位表示的是这个文档中该单词 出现的个数(过滤掉停用词), 面试官提示会有漏掉的停用词,我说用出现的次数除于TF, 面试官说这就是TF-IDF)算法: 1.STL中set怎么实现的,假设有... 阅读全文

posted @ 2013-09-26 15:26 iamccme 阅读(1243) 评论(0) 推荐(0) 编辑

2013年9月17日

百度NLP面试题

摘要: C++ : 1.拷贝构造函数和重载=符分别在什么情况下被调用,实现有什么区别 2.虚函数的目的,虚函数和模板类的区别,如何找到虚函数常规算法: 1. 如何输出一个集合的所有真子集,递归和非递归的方法。智力题: 1. 有100W个集合,每个集合中的word是同义词,同义词具有传递性, 比如集合1中有word a, 集合2中也有word a, 则集合1 ,2中所有词都是同义词,对这100W个集合进行归并,同义词都在一个集合当中 2. 有100W个集合,每个集合中有一些词, 对于每个集合 , 找出他是哪些集合的真子集开放题: 1. 我只有一大批实体词,... 阅读全文

posted @ 2013-09-17 22:34 iamccme 阅读(2241) 评论(0) 推荐(0) 编辑

2013年6月6日

关于贝叶斯分类中的二项独立模型和多项式模型

摘要: 今天在用C++实现一个博客中(http://www.cnblogs.com/phinecos/archive/2008/10/21/1316044.html)的朴素贝叶斯分类器。发现代码中计算分类条件概率的公式与一般书上写的不一样。浏览评论的时候发现有人跟我有一样的疑问. 正庆幸找到一个明白了,突然LX的回答又给我泼了一瓶冷水。 神马,伯努利贝叶斯! 听都没说过。顿时对自己薄弱的基础知识感到羞愧, 赶紧百度之。找到了一篇论文:《改善朴素贝叶斯在文本分类中的稳定性》,里面对二项独立模型和多项式模型都进行了介绍。(1) 二项独立模型(BIM) 二项独立模型,又称多变量伯努利模型(Multi... 阅读全文

posted @ 2013-06-06 21:11 iamccme 阅读(1989) 评论(1) 推荐(0) 编辑

2013年5月22日

人人数据挖掘实习生面经

摘要: 之前投了人人的数据挖掘实习生。其实也不是很想去,就是想去体验体验,看看他们在数据挖掘这方面都在做什么。约好的面试时间是10:30。人人的办公地点在静安中心,就在北三环上,从学校坐车比较顺,367到终点站就到了。 一面的面试官是个比较青涩的gg,估计也就刚毕业1-2年。首先问了简历上的项目。然后就是算法题:给定一个二叉树,找到他第k层的第m个节点。我想了会,提了个用队列在层次遍历二叉树,然后存储每个节点的level,找到第k层的第m节点就停止。面试官就让我写,代码写完后给他看了看,他看的过程中又发现了自己new的内存忘记释放的问题,赶紧说了。他看了代码觉得没问题,但是觉得我在二叉树上又封装... 阅读全文

posted @ 2013-05-22 19:24 iamccme 阅读(916) 评论(0) 推荐(1) 编辑

2013年5月21日

关于序列的面试题3------------股票问题

摘要: BAT大神hulu面试中,三面的第二道题就是股票问题,而恰巧室友在amazon面试中也遇到了这个问题。、 问题:一个人知道未来n天的每天股票的价格,请你给出一个算法,使得这个人从哪天买入,哪天卖出能获得最大的收益。 问题实际上就是求一个数组后面元素减前面元素的最大值 O(n2)的方法就不说了。BAT大神回答的方法,复杂度是O(nlgn), 面试官说答案就是O(nlgn), 但是我室友告诉我的方法复杂度是O(n),前面一部分保存最小值都是一样的,但是后面没必要非要找到最大值:代码如下: 1 #include <stdio.h> 2 #include <stdlib.h> 阅读全文

posted @ 2013-05-21 22:03 iamccme 阅读(620) 评论(0) 推荐(0) 编辑

关于序列的面试题2------------最大连续子序列和以及积

摘要: 问题1描述求取数组中最大连续子序列和,例如给定数组为A={1, 3, -2, 4, -5}, 则最大连续子序列和为6,即1+3+(-2)+ 4 = 6。有O(n3),O(n2), O(nlogn), O(n)各种复杂度不同的解法。这里就说下复杂度最低的解法吧。但是其它复杂度的方法也很重要,因为可以应用到一些变种的问题上。方法如下: 1 /*最大连续子序列和*/ 2 #include <stdio.h> 3 #include <stdlib.h> 4 int maxsequence(int a[], int len) 5 { 6 int max = a[0]; 7 ... 阅读全文

posted @ 2013-05-21 21:38 iamccme 阅读(1384) 评论(1) 推荐(0) 编辑

关于序列的面试题1 ------------- 判断整数序列是否是二叉排序树的后续遍历

摘要: 看了BAT大牛的hulu面经。觉得真正牛B的公司就是要招真正牛B的人。真正牛B的人必须是既聪明努力的人。既然是不是聪明自己决定不了, 那还是自己努力一点吧。而且感觉到一点,面试问到的算法题都是很短时间就能写出来的算法。所以如果一些算法题的代码量超过100行,就不用专门去准备了。 一面第1道面试题的题意是:判断整数序列是不二叉排序树的后续遍历.题目:输入一个整数组,判断该是不某二元查找树的后序遍历结果。如果是返回 truet,否则返回 false 。例如输入 5、7、6、9、11 、10 、8,由于这一整数序列是如下树的后遍历结果: 8/ \6 10/ \ / \5 7 9 11因此返回... 阅读全文

posted @ 2013-05-21 19:53 iamccme 阅读(655) 评论(0) 推荐(0) 编辑

2013年5月15日

协同过滤算法之—slope one算法

摘要: 之前转载的一篇推荐算法总结,里面提到了目前常用的推荐算法,其中第1,2,4种算法都属于协同过滤算法(Collaborative Filtering)。 可见协同过滤已经成为推荐系统中最为常用的算法之一。 而Slope One算法做为一种简单高效的协同过滤算法,最大优点在于算法很简单, 易于实现, 执行效率高。一.基本概念 Slope One的基本概念很简单, 例子1, 用户X, Y和A都对Item1打了分. 同时用户X,Y还对Item2打了分, 用户A对Item2可能会打多少分呢?UserRating to Item 1Rating to Item 2X53Y43A4? 根据SlopeOn.. 阅读全文

posted @ 2013-05-15 22:07 iamccme 阅读(736) 评论(0) 推荐(0) 编辑

机器学习经典算法之-----最小二乘法

摘要: 一.背景 5月9号到北大去听hulu的讲座《推荐系统和计算广告在视频行业应用》,想到能见到传说中的项亮大神,特地拿了本《推荐系统实践》求签名。讲座开始,主讲人先问了下哪些同学有机器学习的背景,我恬不知耻的毅然举手,真是惭愧。后来主讲人在讲座中提到了最小二乘法,说这个是机器学习最基础的算法。神马,最基础,我咋不知道呢! 看来以后还是要对自己有清晰认识。 回来赶紧上百度,搜了下什么是最小二乘法。先看下百度百科的介绍:最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为 阅读全文

posted @ 2013-05-15 21:12 iamccme 阅读(47136) 评论(5) 推荐(16) 编辑

导航