面经详情

2017微软实习生面经
一共3轮,前两轮过一轮进入第三轮。基本上都是自我介绍完了,白班写代码。第一题DP,第二题第K大个数,第三题拓扑排序。总体难度还可以 一轮一小时,压力比较大。
Q:第一题DP,第二题第K大个数,第三题拓扑排序。

相关推荐

匿名用户
自然语言处理工程师
未通过未通过
1.自我介绍。 2.了解设计模式吗? 3.数据库熟悉吗? 4.LR的优化函数。 5.SVM和LR的区别。 6.一个乱序数组,找出和为0的最长子串。 7.输入法中,输入一个词(字)后,输入法会提醒后续可能的输入,你会用什么数据结构去设计。 8.非法输入检测,一个词表(包含所有的非法输入),检测句子是否包含词表里面的任意词语。 面试过程中,面试官非常的nice,非常有耐心,给时间让我不断思考优化。 二面: 1.自我介绍基本情况前面了解得差不多了,直接代码。 2.(手撕代码)单链表的快速排序3.(手撕代码)四种操作,一:输入字符A,二:CTRL+A(全选),三:CTRL+C(复制),四:CTRL+V(粘贴)。你有n次操作机会,求最长字符串。二面就手撕两个算法,因为过程中出现网络不太好,第二个算法只写了伪代码。 三面(Leader面): 1.自我介绍。 2.问了做过的论文。 3.(手撕代码)硬币游戏:两个玩家(甲,乙)玩游戏,有一个长度为n的乱序数组(数组每个元素代表一个硬币,数值代表硬币面值),甲乙轮流拿硬币(可以拿走最左边的一个或者两个硬币,拿走不放回),问先玩的玩家是否一定能赢。 4.聊了聊我过去蹉跎的岁月。 ...查看更多
包含1个问题,0个回答
Q:1.自我介绍 2.了解设计模式吗?(不了解 T T) 3.数据库熟悉吗? 4.LR的优化函数 5.SVM和LR的区别 6.(手撕代码)一个乱序数组,找出和为0的最长子串。 7.输入法中,输入一个词(字)后,输入法会提醒后续可能的输入,你会用什么数据结构去设计。 8.非法输入检测,一个词表(包含所有的非法输入),检测句子是否包含词表里面的任意词语。 一面过程中,非算法题回答一般,算法(7) 思考了比较久(惭愧),一共提出了5个算法, O(N3) -> O(N3) -> O(N2) -> O(N2) -> O(N). 面试过程中,面试官非常的nice,非常有耐心,给时间让我不断思考优化~ 二面 1.自我介绍 基本情况前面了解得差不多了,直接代码 2.(手撕代码)单链表的快速排序 3.(手撕代码)四种操作, 一:输入字符A, 二:CTRL+A(全选), 三:CTRL+C(复制), 四:CTRL+V(粘贴)。 你有n次操作机会,求最长字符串。 二面就手撕两个算法,因为过程中出现网络不太好,第二个算法只写了伪代码。 三面(Leader面) 1.自我介绍 2.问了做过的论文 3.(手撕代码)硬币游戏:两个玩家(甲,乙)玩游戏,有一个长度为n的乱序数组(数组每个元素代表一个硬币,数值代表硬币面值),甲乙轮流拿硬币(可以拿走最左边的一个或者两个硬币,拿走不放回),问先玩的玩家是否一定能赢。 4.聊了聊我过去蹉跎的岁月。
2 年前 发布
5
匿名用户
机器学习算法工程师
未通过未通过
微软的面试分为三轮,一个下午完成,正常情况都可以面到第三面。 第一面聊了10分钟左右的学习经历和比赛经历,因为我机缘巧合之下拿到一个比赛的第三名,因此主要和面试官扯了扯这个比赛。但是,我之前很少使用DNN,面试官还是建议学一下DNN。 聊完项目,就开始做算法题:最小的K个数:这道题LeetCode和剑指Offer里都有,可惜之前没有刷到过。话说,我真的是不幸,刷了300道题,都没有碰到。这道题我当时想出来用最小堆的做法,时间复杂度为O(log(n)),空间复杂度为O(K)。 最优的做法是快速选择,时间复杂度为O(log(n)),空间复杂度为O(1)。Java里的ArrayList的插入时间复杂度:因为,ArrayList的储存是固定数组。因此,超过数组大小,需要重新申请数组,然后复制。但是,平均时间复杂度还是O(n)。 第二面求中位数:我一开始以为是LeetCode那道Hard题,我就请求换了个题。后来想想,实在是不应该。多个有序数组合并:一开始,我想到了类似的归并的方法,但是时间复杂度较高。后来,我又想到了优先队列的方法,但是没有写出完美的代码。之后,面试官又问了能不能复现优先队列,没有实现成功。 第三面将字符串中的连续空格变为1个:实际是道Easy题,用两个指针就可以完成。但是,当时脑子瓦特,没有想到,后悔啊。系统题:忘了。 ...查看更多
包含1个问题,1个回答
Q:最小的K个数。
2 年前 发布
4
1759
机器学习
未通过感觉没戏
—BAT机器学习面试1000题系列(第1~10题)1.请简要介绍下SVMSVM,全称是support vector machine,中文名叫支持向量机。SVM是一个面向数据的分类算法,它的目标是为确定一个分类超平面,从而将不同的数据分隔开。扩展:这里有篇文章详尽介绍了SVM的原理、推导,《支持向量机通俗导论(理解SVM的三层境界)》。此外,这里有个视频也是关于SVM的推导:《纯白板手推SVM》2.请简要介绍下tensorflow的计算图@寒小阳:Tensorflow是一个通过计算图的形式来表述计算的编程系统,计算图也叫数据流图,可以把计算图看做是一种有向图,Tensorflow中的每一个计算都是计算图上的一个节点,而节点之间的边描述了计算之间的依赖关系。3.请问GBDT和XGBoost的区别是什么?@Xijun LI:xgboost类似于gbdt的优化版,不论是精度还是效率上都有了提升。与gbdt相比,具体的优点有:1.损失函数是用泰勒展式二项逼近,而不是像gbdt里的就是一阶导数2.对树的结构进行了正则化约束,防止模型过度复杂,降低了过拟合的可能性3.节点分裂的方式不同,gbdt是用的gini系数,xgboost是经过优化推导后的更多详见在k-means或kNN,我们是用欧氏距离来计算最近的邻居之间的距离。为什么不用曼哈顿距离?曼哈顿距离只计算水平或垂直距离,有维度的限制。另一方面,欧氏距离可用于任何空间的距离计算问题。因为,数据点可以存在于任何空间,欧氏距离是更可行的选择。例如:想象一下国际象棋棋盘,象或车所做的移动是由曼哈顿距离计算的,因为它们是在各自的水平和垂直方向做的运动。...查看更多
2 年前 发布

进入微信小程序

前往微信小程序,查看更多结果

立即前往
看准网微软中国(Microsoft)微软中国(Microsoft)面试经验微软中国(Microsoft)面试经验:2017微软实习生面经
正在招聘Dynamics 365 - 智能云ERP 开发工程师200 个岗位