算法面经快手篇

这篇博客分享了两段实习经历中的算法面试问题,涵盖了深度学习模型如deepfm、gbdt、transformer,自然语言处理中的w2v和Bert,以及数据处理技巧如SQL合并、LR损失函数推导、PCA降维和数据不平衡的应对策略。此外,还讨论了分词原理、聚类评估和动态规划在求解最短路径问题的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实习1
1.deepfm gbdt
2.transformer多头注意力的多头区别是啥
手撕:快排
手撕:sql 表a b;以id为联系合并ab表
手撕:lr目标函数 loss 推导

实习2
1.介绍下w2v
2.w2v的产出是啥
3.介绍下Bert transformer
4.Bert transformer输出是啥
5.降维方法 PCA
6.数据不均衡怎么处理
7.分词的原理了解吗
8.怎么评价聚类的好坏

手撕:给个矩阵,左上角到右下角求最小路径(每个点有权值);动规

### 快手 Java 实习生试经验分享 #### 试流程概述 试过程被描述为一次非常积极的学习经历[^1]。整个过程中,试官采取了引导式的提问方法,帮助候选人思考并理解问题的本质。即使遇到困难的问题,也会通过提示来辅助解答,使得整个交流变得轻松而富有教育意义。 #### 技术考察重点 在技术方,对于Java开发者而言,深入理解和掌握JVM的工作原理至关重要[^2]。具体来说: - **引用类型及其作用** - 强引用(Strong Reference)是最常见的形式,在任何情况下都不会被回收。 - 软引用(Soft Reference)用于实现内存敏感的缓存机制;当内存不足时才可能被清除。 - 弱引用(Weak Reference)的对象只能存活到下一次GC之前。 - 虚引用(Phantom Reference)主要用于跟踪对象何时可以被垃圾收集器处理。 - **静态成员变量管理** 类加载期间完成`static`字段初始化工作,并将其存储于方法区中。每当创建新实例时并不会再次执行此操作,而是直接指向已存在的副本进行访问控制。 #### 编程能力测试样例 实际编程环节可能会涉及到算法设计题目,比如判断数组内是否存在重复元素且索引差不超过给定范围k的情况下的解决方案如下所示: ```java public boolean containsNearbyDuplicate(int[] nums, int k) { Map<Integer, Integer> map = new HashMap<>(); for (int i = 0; i < nums.length; ++i){ if(map.containsKey(nums[i]) && i - map.get(nums[i]) <= k) return true; map.put(nums[i], i); } return false; } ``` 上述代码实现了对输入整数序列快速查找是否有符合条件的相邻重复项的功能[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CxFt

很高兴可以帮到你

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值