秋招算法岗面经(主要是撸代码题)

我从八月中旬开始秋招到现在已经三个多月了,虽说中间也有波折,我的offer经历了0—>several—>0—>several的过程,现在也基本确定去滴滴了,下面回馈出我的面经,因为我的项目中涉及到GBDT和LSTM,所以这两个知识点是几乎逢面必问便导致其他机器学习深度学习知识点就问的比较少,所以我主要贴出我面试中遇到的部分代码题,供大家参考。
百度:

一面:1、一个数组中只有两个数字只出现了一次,其他都是两次,找出这两个数字(异或方法)。2、二叉树中找出两个结点的最近公共祖先。3、画出LSTM网络结构,写出GBDT过程。

小米:

一面:非递归后续遍历二叉树。

二面:1、判断一个网页所属的类别。2、找到数组中出现次数超过一半的数字,低于o(n)的时间复杂度。

头条:

一面:1、求翻转数组中某个数的位置,该数组翻转前是递增数组。2、某无序数组找到一个分界点使得分界点左右两边数组的方差和最小,时间复杂度O(n)。3、手推LR。

贝壳:

一面:1、给定一个数组和一个target,找到数组中两数的差等于该target的所有数组对,T:O(n)。2、梯度下降法都有哪些变形,这些变形优势是什么。

二面:1、完全k叉树的两个结点的最近公共祖先。(多种方法)。2、证明k-means会收敛

蔚来汽车:

一面:广度优先遍历二叉树

二面:广度优先遍历二叉树逆序输出

三面:为什么二分查找复杂度是o(logn),求方程的根有哪些方法。

比特大陆:

一面:荷兰国旗问题

二面:一个本身按数字绝对值大小排序的链表,输出按实际值大小排序的链表,T:O(n),S:O(1)

三面:删除链表中等于某个值的所有结点。

搜狐(实习):

一面:输入一个表达式字符串,输出该表达式的值(递归方法)。

二面:反转字符串,用c++做。

滴滴外卖(实习):

一面:1、组合,一个数组中有重复元素,输出包含k个元素的所有组合,时间复杂度要低。2、找一个无序数组的中位数,时间复杂度尽可能优化。

Sunny:

一面:1、找到n以内的素数,优化时间复杂度。2、将某十进制的数转化成k进制(k>10)的数。

二面:二叉树中两个结点的最近公共祖先。

滴滴:

一面:每隔k步反转链表。

二面:找出n以内的所有质数,优化时间复杂度。

三面:1、两个字符串的最长公共子序列(动态规划)。2、求一棵二叉树的宽度(宽度即为该二叉树中结点最多的某层的结点个数)(队列实现)。

微软Bing搜索(实习):

一面:逆时针打印一棵完全二叉树的边界结点(等腰三角形)。

二面:1、对链表中重复的结点去重。2、给定一个方法将些许个小字符串可以唯一地合成一个大字符串,又可将这个大字符串拆解出原来的些许个小字符串,除了字符串不能用其他数据结构。

三面:任意给定一个凸多边形,用一条连续的线段将这个凸多边形分成面积相等的两部分(这两部分也是连续的两部分),只能用尺规作图,即只能画线段、取中点、画平行线等操作。

美团外卖:

电话面:一个数组的最长递增子序列的长度。

一面:合并区间:一个数组里存的元素都是区间,各个区间可能有重合的,合并这些重合的区间返回一个新的数组,里面的元素是互相不重合的区间。(排序区间左端点,每一个右端点和前一个右端点比较)。

二面:1、一个数组分成k份,每份中元素个数相同,返回k-1个分界点以及给一个数值返回其属于哪一类,不断优化时间复杂度,低于o(nlogn)。2、手推SVM

微软小冰部门(实习):

一面:zigzag打印二叉树

二面:合并集合:一个大集合,其中的元素是小集合,这些小集合的元素是整形数值,合并这些小集合使得这些小集合间没有重复的元素,返回合并的结果。


#面经##百度##美团##滴滴##贝壳找房##微软#
全部评论
大佬也是20届的吗?
点赞 回复
分享
发布于 2018-12-04 12:37
看知乎上说2019年AI秋招特别惨烈,真的吗
点赞 回复
分享
发布于 2018-12-05 09:56
淘天集团
校招火热招聘中
官网直投

相关推荐

10 154 评论
分享
牛客网
牛客企业服务