【面经】字节跳动/华为 算法实习面试

之前写好了拖了有点久,当时是实习面试,现在已经进入秋招了…希望对大家能有一点小小的借鉴意义。

第一部分、面试流程:
华为(一面)
总体流程:电话面试,先让自我介绍,然后根据简历问项目相关的问题,最后coding。面试风格压力不大,面试官比较和蔼,简历问题问的也比较浅,coding题目不算难。共计30分钟左右。
1、解释CNN原理
2、解释LSTM原理
3、bagging和boosting,stacking区别,分别的原理
4、你的项目经历中语音、嵌入式的居多,为什么会想到要做NLP方向实习
5、coding(见第二部分)

字节跳动(一到三面)
总体流程:共计三轮面试,安排在一天内完成,每轮在30-40分钟时间,是否通过都会在当场结束后10-20min内短信通知,若通过基本上间隔10min就进入下一轮,非常紧凑。之前听说字节跳动手撕代码很难,所以面试前基本在刷题。我算是运气比较好,三轮coding题目都不算太难,面试官也比较耐心和蔼,这里给字节跳动的面试官门点个赞。

一面,视频面:
一面是我觉得最难的一面,并没有问简历上的任何东西,面试官先介绍了今天三轮面试的流程,然后直接开始coding和概率题。
1、coding(见第二部分)
2、概率题:
1)N个相同的球,取其中M个(M<N),如何保证每个球取的概率一致?
我答了有放回取样,已取样的做标记,若再次取到有标记的则放回重新取,直到取得M个。
考官让算一下,这么做的期望复杂度是多大。没算出来。
2)考官提示:如果是头条的用户场景,每天用户总数量是不确定的,但是要抽M人,如何保证概率一致。
一时间真的想不到好的方法,答了一个每一次抽取都等概率抽样,显然不正确。
3)考官再次提示:如果已经有一个函数,使N-1个人中等概率抽取了M-1个人,那么下一个人加入的时候如何保证等概率。
在这个提示下我想到了需要列式使新加入进来的人概率和前一个人上一次中的概率和这一次的概率之和是一致的,以此类推。其实一下子还是没有写出完整表达式,因为时间比较捉急了,我直接用N个人抽N-1个的特殊情况写了递推式,表示取M个的话需要进行变形。考官应该是认为我已经理解了思路,所以结束了这个问题。
总结:保持和考官的交流,有思路及时沟通,一下写不出答案可以先考虑特化情况。

二面,视频面:
二面主要结合简历在问,相对轻松一些:
1)自我介绍
2)介绍一段你觉得最满意的项目经历
3)说一下CNN和LSTM原理 
追问:CNN为什么要有POOLING层
追问:LSTM的输入,输出,遗忘门分别是做什么的,整个计算流程怎么样
4)平常用的什么框架 
答:TensorFlow Pytorch都有
5)给你一段文字,如何提取文本特征
答:TF-IDF(解释了一下原理);word2vec;one-hot;(其实GLOVE ELMO这些也可以讲一讲,不过一时间没想起来)
追问:如果有oov怎么解决
答:word2vec前的词表做大一些,减少oov概率;random一个向量或所有oov都当做unk处理(或者统一规定一个oov向量);考虑用gensim.most_similar(表明只听说过,没实际使用过)
6)coding(见第二部分)
7)意向做哪一块工作(了解到大的方向主要是推荐,NLP,CV),上海or北京

三面,视频面:
1)coding(见第二部分)
2)自我介绍
3)介绍一段你觉得最满意的项目经历
4)NLP竞赛相关,详细介绍整个流程
追问:用过的模型(CNN/LSTM/ATTENTION)
追问:attention尝试了哪几种,效果如何 
答:self-attention和multihead-attention,相似度计算部分乘法,tanh都试过
追问:如果现在倒回去看,如何改进
模型融合方式(尝试stacking);尝试glove等特征提取;尝试用finetune bert(毕竟bert牛逼...)
5)意向城市


二、Coding问题:
华为(一面):
问题:O(logN)复杂度找到单次部分旋转后的非减数组最小值。
例如:[1,2,3,4,5]->[4,5,1,2,3] 从后面这个数组中找到最小值1。
这算是我第一次面试撕代码,当时比较懵逼,一下子反应出来的是O(N)的方法,即先令最小值为第一个数,然后找到后比前小的就把后面的数选为最小值,结束循环。
想到了用二分法,但是没有想到是把mid和left的相对大小做比较。leetcode上是有原题的,其实题目不难。

字节跳动(一面):
问题:定义域值域都是正整数的单调递增函数f,给一个值y,找到使|f(x)-y|最小的x。
肯定是二分,但其实有很多细节值得注意。如定义域值域都是正整数,所以可以推出f(x)是不可能小于x的,应该是x^n的形式,所以开始搜索的范围就是ed=y。
二分法的题目要多做一些,找各种条件下的最简模板。

字节跳动(二面):
问题:
s = '...'  n=3
用 * 去换 .
要求: 任意的两个* 不能相邻
求: 有多少种替换的可能
s = '...'
   = '*..'
   = '.*.'
   = '..*'
   = '*.*'
类斐波那契,简单推导最后一个替换和不替换的情况就可以解了。

字节跳动(三面):
问题:
# class A {
# public:
#     int next();
#     bool has_next();
# };

# int peek();

# 1,2,3,4,5,6,7

# 1. next: 1
# 2. next: 2
# 3. peek: 3
# 4. peek: 3
# 5. next: 3
# 6. next: 4

实现class内的三个函数,一开始以为要用stack,后来发现用变量存就行了。
#实习##算法工程师##字节跳动##华为##面经#
全部评论
那个等概率采样问题楼主可以去看看蓄水池采样算法,专门用来解决这个问题的
4 回复 分享
发布于 2019-09-23 07:56
为啥我字节跳动实习一面就面了一个半小时······
点赞 回复 分享
发布于 2019-09-25 16:38

相关推荐

2024-12-31 23:21
已编辑
浙江大学 算法工程师
年底面试被挂经历12月中下旬随便投投,&nbsp;因为老师可能不放实习(除非是部门特别合适&nbsp;可以和他argue个人bg:&nbsp;双非本&nbsp;9硕,&nbsp;两端小厂开发实习,一篇非一作论文(几乎没用),&nbsp;开发八股水平满分10分,我估计只有3/4分,&nbsp;算法八股估计只有1分,还是本科的微弱印象,&nbsp;算法更是菜中菜投递方向&nbsp;随便投&nbsp;&nbsp;方向没卡很确定,base杭州为主,上海也投几个月之暗面预训练平台&nbsp;算法题&nbsp;相交链表没做出来,唐完了快手&nbsp;搜广推&nbsp;&nbsp;最长递增子序列&nbsp;没ac&nbsp;比奶龙还唐这两家感觉面试官前面都很好,&nbsp;让我说自己擅长的,&nbsp;可是我比奶龙还唐,不但自己给自己挖坑还easy算法题没写出来&nbsp;&nbsp;没注意细节小红书推荐算法&nbsp;二面挂,&nbsp;听学长说是最核心的部门,但是我一点搜广推不会,&nbsp;面试官也是够好的,让我走的第二面,&nbsp;不过说实话搜广推八股我大致看了下感觉不怎么多,不如java&nbsp;一根vivo&nbsp;大模型系统开发,讲讲自己的实习,问的比较细节,oc腾讯&nbsp;中台软开,约面又来回挂,&nbsp;不知道是不是我评测超时两次都没做的原因,面试官说那边没办法约我面试,&nbsp;有无懂哥知道原因&nbsp;此生和我滴鹅还有缘吗字节豆包后端&nbsp;不多说了&nbsp;&nbsp;字节我配不上&nbsp;算法菜鸡包挂的&nbsp;字节无缘了网易java后端&nbsp;&nbsp;拷打简历穿了上海ailab&nbsp;拒面了美团&nbsp;java工程基础建设好像是&nbsp;拒面了阿里淘天&nbsp;大模型应用开发&nbsp;一轮游百度好像上海没什么开发,算法给我都挂了面着试试&nbsp;给自己面的想国企gwy的心更加强烈了
点赞 评论 收藏
分享
01-07 23:32
浙江大学 Java
本人相关bg在我之前发的帖子中也有提到,所以不再赘述了,感兴趣的朋友可以去翻翻~去年2024一整年,本人接触了完全不同的三个方向,从Java后端大模型开发,最后来到了现在做的推荐算法,其实目前也还是挺迷茫的,不知道未来何去何从,要做什么,反正姑且先做着吧:)前几个月总共面了四家大厂:字节、快手、虾皮以及九坤。拿了前面三家的搜推日常实习oc,九坤的量化开发一面就挂了。这里姑且浅浅说点跟面试相关的,如果有人想要关注更加细节的内容,可以考虑新写一篇(大概?)由于本人之前没啥搜推背景,简历也没有搜推项目,就把王树森的网课看了看,然后看了看比较经典的搜推模型结构比如dcn,然后也没其他了。真正面试中,也没有遇到问搜推相关的东西,基本问问大模型那段实习,然后就是经典coding环节。个人感觉只要把简历搞熟,能够正确手撕算法(字节出了hard,其他家是mid),其实也够了。值得一提的是,九坤的面试比较有特点,必须按照面试官顺序做题,可以使用搜索引擎辅助,考的题目基本涉及numpy和pandas的实际应用编程,(好好好!很早前学的早就忘完了),写的磕磕绊绊,不出意外g了。最后,本人目前已经入职字节啦,感慨一下日常福利是真好啊,希望自己能顺利度过landing期,也欢迎大家加入字节跳动#推荐算法##日常实习#
点赞 评论 收藏
分享
评论
8
76
分享

创作者周榜

更多
牛客网
牛客企业服务