都是“算法”惹的祸,字节三面处处坑,我的 offer 要凉了?
此处深叹一口气,都是“算法”惹的祸,字节三面,每面都是算法算法,感觉处处都是坑呐,三面结束四面 HR 让我回家等结果,三天过去我的 offer 是要凉凉了?不敢想象,来给大家分享一波我的这次面经吧... ...
一面(40min)
自我介绍
算法题:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个(剑指 offer 原题,就是排序改一下比较规则)
对于 LR 来说,LR 如果多了一维冗余特征,其权重和 AUC 会怎样变化(权重变为 1/2, AUC 不会变化)
写出 LR 的损失函数(交叉熵损失函数)
算法题:二叉树转双向链表(中序非递归遍历修改指针)
... ...
二面(1h20min)
算法题:一个类 A 有 next,has_next 两个方法,其中 next 调用会返回值,但索引会自增。实现一个 peek 访问只返回值,索引不自增。(lc 原题 284) -- 当时感觉面试官没有描述清楚....这里竟然耗了一段时间
算法题:快排递归和非递归
算法题:给出数组 A,长度为 n,数组中元素的值位于[0, n - 1]之间,求是否有重复元素
问到了模型是怎么做多分类的(这里答得不是很好),以及 stacking 模型融合怎么做的?为什么有效?
算法题:现有 100W 资讯文本的 title,文本的长度为 1-40 个字左右。len(titles)=100W ,1<=len(titles[i])<=40 现有一个 100W 左右的禁用词, 每个词的长度在 1-6 个字左右左右。len(forbid_words) = 100W ,1<=len(forbid_words[i])<=6 若 title 中存在禁用词则过滤掉该 title。 请实现这个过滤系统。(目前想到的:1.title 分词, 禁用词作 hash, 再遍历 title 2.禁用词构造前缀树, 遍历 title 去前缀树中寻找)
开放题:你觉得影响模型效果的因素有什么,并排个序。(我回答的是特征>模型>优化器,才疏学浅只答了这些 hh,大家有什么 Trick 在评论里分享一下哦)
DeepFM 与 FM 的关联,并描述 DeepFM 的结构
... ...
三面(70min)
算法题:给出[[1, 2], [3, 5], [8, 8], [15, 16], [32, 38]],求间隔
算法题:给出两个升序数组 A、B 和长度 m、n,求第 k 个大的数
算法题:前序中序转二叉树(lc 原题,用字典记录一下中序里各值的索引,然后递归即可)
算法题:旋转数组查找 target(lc 原题,我的解法是根据左侧递增还是右侧递增来做对应的二分,当然还有一种是先二分找到旋转点然后两侧再分别二分)
破天荒地竟然问了我一个忘得差不多了的 Java 语法:Java 的 Final 关键字作用(变量--赋值一次后不可再修改,类--不可被继承,方法--不可被重写)
Sigmoid,Tanh,Relu 等激活函数的优缺点(这里之前没有复习到,后面想了想应该从梯度消失,数据压缩,0 均值方面来解释;当然,说的越多越好,比如 Relu 的神经元 dead 啥的,越能体现你的知识广度)
神经网络中网络权重 W 初始化为 0 有什么问题?
DIN 和 DIEN 网络结构介绍
HR 面(30min)
到岗时间,现在还有哪些公司在面试啥的,其实也都是 HR 常问的一些问题
感觉可能最近字节 HR 比较忙...还是等结果吧...希望能拿到字节 offer
内心无比紧张,三天了...到现在还没收到通知,难不成我要凉凉了吗??虽然问了这么多算法题,自认为第一面还是很顺利的,二面有点卡壳,三面也是,但是对方面试官也没说啥呀...其实在去面试之前我也是下了狠功夫的,手上收集到的三个算法资料的 PDF,我都刷了一遍的,尤其这本 262 页的《算法刷题 LeetCode 中文版》足足翻了两遍呐(呜呜呜~)
说实话,关于算法,我就是这么复习的,天天刷题,自己动手敲代码,多多实践,感觉还是挺有用的。既然说到这儿了,也给大家看看我的算法笔记吧,不知道你们有木有,这些可都是我的宝典。
既然决定分享出来,那便可免费的下载,如若有所需求,那可私信我 “算法” 免费下载所有算法宝典的原件。
我的算法第一份宝典——《算法刷题 LeetCode 中文版》
此书有 262 页,包括编程技巧、线性表、字符串、栈和队列、树、排序、查找、暴力枚举法、广度优先搜索、深度优先搜索、分治法、贪心法、动态规划、图、细节实现题等等 15 个章节。
《算法刷题 LeetCode 中文版》
我的算法第二份宝典——《算法》
算法和数据结构的学习 是所有计算机科学教学计划的基础,但它并不只是对程序员和计算机系的学生有用。任何计算机使用者都希望计算机能运行得更快一些或是能解决更大规模的问题。
本书中的算法代表了近 50 年来的大量优秀研究成果,是人们工作中必备的知识。从物理中的 N 体模拟问题到分子生物学中的基因序列问题,我们描述的基本方法对科学研究而言已经必不可少;从建筑建模系统到模拟飞行器,这些算法已经成为工程领域极其重要的工具;从数据库系统到互联网搜索引擎,算法已成为现代软件系统中不可或缺的一部分。这仅是几个例子而已,随着计算机应用领域的不断扩张,这些基础方法的影响也会不断扩大。
在开始学习这些基础算法之前,我们先要熟悉全书中都将会用到的栈、队列等低级抽象的数据类型。然后依次研究排序、搜索、图和字符串方面的基础算法。最后一章将会从宏观角度总结全书的内容。
(1)目录
(2)内容详情
最后一份算法宝典——《算法的乐趣》
程序员与算法,这是一个永恒的问题,在生活中,凡是有乐趣的地方就有算法,本书恰巧会介绍生活中无处不在的算法。所有挑选的算法例子都是围绕“趣”字展开的,都是简单且在生活中常见的算法,可能还有许多你都还没有意识到。共有 23 章,还附带两章的附录,422 的 PDF。
(1)先来看看目录介绍一下都有些什么
(2)详细内容
由于这些宝典都是 PDF,给大家看也只是截一些图出来,也不是很方便,不过没关系,我这边都有 PDF 的源文件,如果有朋友需要,可以直接来找小编免费分享一下,关注公众号即可!
关注公众号哦,小编会一一回复大家的,转发一下可以帮助更多的朋友分享学习哦!!
评论