点击上方“AI遇见机器学习”,选择“星标”公众号

重磅干货,第一时间送达

作者 | JustinNie

编辑 | NewBeeNLP

整理|深度学习自然语言处理

面试锦囊之面经分享系列,持续更新中

个人情况

上海交通大学研究生,本科毕业于中国科学技术大学,目前专业是电子与通信工程,主要研究方向是文本匹配(NLP)。面试中的自我介绍第一句 hhh:)

一面

7月8日被字节跳动HR的电话捞起来了,直接进入了秋招模式,在接下来的一个月里,基本没有投递提前批,就专注参加了字节跳动的几次面试。

  1. 前半段主要都是在讲项目,面试官追问了一些项目细节的东西,以及做项目的心路历程。

  2. 然后就问了一道算法题,就是著名的「小兔的棋盘」,我后来查了一下,是什么卡特兰数。然而面试的时候我没听说过这一道题,不过还是磕磕绊绊地用DFS解出来了,面试官说可以了,也没让我继续用DP来解。哎,算法还是有点菜的。

总结:一面大约持续40min,感觉一面主要还是在问项目,算法就问了一道题,发挥一般。面完之后一度以为挂了,不过还好在第二天就接到了二面的电话,HR说一面面试官评价很好???

二面

7月16日进行了二面,二面感觉比一面严格了很多。

  1. 一开始我讲了论文的一些东西,然后面试官追问了非常多,有一些可能答得不太好,感觉对自己的项目也好,论文也好,一定要有自己深入的理解,不然容易被问住。

  2. 二面也是问了一道算法题,是寻找迷宫中的最短路径,迷宫中1表示有墙,路不通,0表示可以走。我脑子不知道怎么抽了,直接想用DFS来解,给面试官讲了一下思路。面试官提醒我,DFS和BFS你是怎么考虑用哪个的。然后我就明白了,应该用BFS,讲了一下BFS和DFS适用的场景。然后用BFS比较顺利的写出了程序。

总结:二面大约持续40min,感觉主要缺点还是在于对项目和论文的应用场景以及模型优缺点总结的不是很到位。二面后大概过了三天,等来了三面的电话。这时候还是挺紧张的,毕竟走到了最后一面,挂了就太划不来了。

三面

7月23日进行了三面,三面问的非常多,持续了90min。不过感觉三面面试官很善于引导,所以总体还回答的不错。

  1. 一开始就问了一道算法题,「LeetCode 76. Minimum Window Substring. Hard」。当然,O(mn)复杂度的算法非常好想,我也是第一时间讲了这个思路。面试官提醒我能不能再优化,我优化到了O(nlog(m)),就不知道怎么再优化了,面试官说可以了。最后查了一下,这道题我做过,不过做的时候也是直接用的O(mn)的算法,O(n)对我来说,还是不太好想到的。

  2. 概率题:考虑五局三胜和三局两胜的情况,哪种更公平之类的。这道题本身比较简单,直接算概率就可以。不过我扯得挺多的,自己分析了2k-1局k胜的情况,以及无数局是什么情况,结合了一下中心极限定理之类的。不过最后整个框架讲的不是太好,没有完整的圆回来。总体感觉这道题答得还可以。

  3. 结合具体场景的题目:A文件有m个专有名词,B文件有n个query,统计每个专有名词出现的次数。回答这个问题,主要其实就是考虑复杂度和分布式的知识,以及如何在query中查找专有名词(本身比较简单,考虑复杂度就不简单了)。不过我对分布式了解的不多,就只是自己手动分布式了一下。

  4. 结合实际问题问:如何判断用户查询Query的意图是否是视频,以及如何搭建整套模型。Emmmm,这里主要涉及到机器学习模型的构建,重点在于如何构造训练数据,利用点击率还是提醒了一下才想到的。对具体场景还是不太熟悉。还有考虑如何排序召回之类的事情,主要就是准确性和时效性的权衡。

  5. CNN,RNN,Tansformer分别如何编码文本,答得中规中矩吧。

  6. python的动态数组是如何实现的,说实话我不太清楚。就扯了一下字典是怎么实现的,然后借鉴字典的实现方式,自己臆想了一下动态数组是怎么实现的,好像还大体是对的。编程语言基础这一块比较弱了。

  7. 这一面问的挺多的,剩下有些问题我都忘了。

总结:总体这一面重点感觉在于如何在具体场景中选用合适的机器学习模型,如何构造训练数据。跟具体场景结合的能力还是挺重要的。最后问了一下面试官我的表现如何,面试官说非常满意。感觉稳了,然而没想到。。。看第四面。

四面

本来三面结束后,在焦急的等待结果,没想到突然北京的HR通知四面,跟我说大家一般都是三面或者四面。

  1. 讲了项目,主要深入问了项目中如何构造例的情况,以及几种不同的构造方式构造出来的要区别对待吗?这个自己之前确实没有认真想过,不过对项目比较熟悉,基本还是顺畅的聊下去了。

  2. 讲了一下论文,也是深入问了一个细节,这里就不展开了。

  3. 实际问题:在用户搜索场景中,如何在用户搜索的时候根据用户输入的字推荐要搜索的query,以及如何把错别字也正确推荐。主要是考虑输入与候选集合的匹配,用户画像的构建,考虑用户的历史搜索信息。结合具体业务的问题感觉主要考察思维发散,回答的感觉还可以,结合了StarSpace等Embedding的方式。

  4. 算法题:一个正整数数组,寻找连续区间使得和等于target,简单的用两个指针做出来了,不过让我证明一下解法的正确性,纠结了一会儿也算是证明出来了。然后如果里面有负数怎么做,很顺利的讲出来了。

总结:四面大致持续了40min,感觉三面和四面主要还是和具体业务场景结合的比较深入。

欢迎关注我们,看通俗干货

字节跳动 算法全四面 详细面经相关推荐

  1. 字节跳动 算法全四面 详细面经 已拿意向书

    历经一个月,四次面试,终于拿到了字节跳动的算法岗录取意向书,在这里记录一下面试经历. 个人情况 上海交通大学研究生,本科毕业于中国科学技术大学,目前专业是电子与通信工程,主要研究方向是文本匹配(NLP ...

  2. 字节跳动面试全经历,大佬的世界原来是这个样子!

    前言 先介绍一下,本科和研究生都不是计算机专业,现在是学通信,然后做图像处理,可能面试官看我不是科班出身没有问太多计算机相关的问题,因为第一次找工作,字节的游戏专场又是最早开始的,就投递了,投递的是游 ...

  3. 互联网公司面试——字节跳动算法

    作者:字节跳动内推熊 链接:https://zhuanlan.zhihu.com/p/263474711 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 项目相关: ...

  4. 内推 | 字节跳动算法提前批

    点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:字节跳动 AI博士笔记系列推荐 周志华<机器学习>手推笔记正式开源!可打印版本附pdf下载链接 - ...

  5. 字节跳动算法无敌的惊天秘密!字节内部不传之秘:1000页算法刷题笔记(附源码可直接运行)

    小编的一位同事在校期间连续三年参加ACM-ICPC竞赛.从参赛开始,原计划每天刷一道算法题,实际上每天有时候不止一题,一年最终完成了 600+: 凭借三年刷题经验,他在校招中很快拿到了各大公司的off ...

  6. 字节跳动算法工程师总结:java接口实验报告总结

    本文框架如下 第一部分,主要是在阅读代码过程中的日志和笔记: 第二部分,主要介绍了 Redis 的主要框架,以及 Redis 是如何提供服务的,从一个最简单的命令开始讲起: 第三部分,主要介绍 Red ...

  7. 字节跳动算法工程师总结:java抽象类和接口实验报告

    本文框架如下 第一部分,主要是在阅读代码过程中的日志和笔记: 第二部分,主要介绍了 Redis 的主要框架,以及 Redis 是如何提供服务的,从一个最简单的命令开始讲起: 第三部分,主要介绍 Red ...

  8. 字节跳动算法工程师总结:java资料文件

    一面(个人感觉回答得还不错) 1. 自我介绍 2. 说项目,项目问的非常深(本人提到之前做过的一篇关于FULL GC的问题定位和优化的项目以及一个多并发的项目) 2.1 对于自己产于过项目的系统定位是 ...

  9. 字节跳动算法工程师总结:成功入职阿里月薪45K

    前言 SQL 语句执行慢的原因是面试中经常会被问到的,对于服务端开发来说也是必须要关注的问题. 在生产环境中,SQL 执行慢是很严重的事件.那么如何定位慢 SQL.慢的原因及如何防患于未然.接下来带着 ...

最新文章

  1. 由“公共类”看出的一些东西
  2. 强大的 IDEA 代码生成
  3. 一场由FPGA触发的芯片战争
  4. 数字消费时代 传统行业互联网转型方向
  5. how to export many stock data from Wind terminal
  6. 你还记得20年前的语文课本吗?
  7. 95-260-055-源码-检查点-Savepoint 和 Checkpoint的异同
  8. MDX Step by Step 读书笔记(四) - Working with Sets (使用集合)
  9. jQuery鼠标跟随事件
  10. ffmpeg转码文件输出rtsp流
  11. 世界头号黑客米特尼克自传
  12. 网络安全—DDoS攻防
  13. 如何正确生成Word目录
  14. Python 新手入门必学十大模块之一:sys 和 os
  15. Kaggle时间序列(Time Series)教程 3-季节性(Seasonality)
  16. 计算机黑屏修改设置,电脑黑屏密码怎么设置
  17. Knime基础数据案例(1)统计数据分组
  18. 微程序控制及微程序设计实验报告
  19. 实现网站访问人数统计
  20. 2022.12.9 英语背诵

热门文章

  1. Codeforces Round #181 (Div. 2) C. Beautiful Numbers 排列组合 暴力
  2. Codeforces Round #297 (Div. 2)E. Anya and Cubes 折半搜索
  3. 从实现iPhone的OAuth封装看国内互联网和开放平台
  4. 来自数据源的 String 类型的给定值不能转换为指定目标列的类型 nvarchar。
  5. GridView 实现服务器端和客户端全选的两种方法
  6. expec不管异常 try_python3基础之异常处理(通俗易懂)
  7. Linux学习(三)--vi和vim编辑器
  8. keras技巧——如何获取某一个网络层的输出
  9. JVM 方法区 ORACLE官方文档
  10. 假设训练数据集中有10万个词,四元语法需要存储多少词频和多词相邻频率?《动手学深度学习 李沐》 转