面了57min,实在问麻了,下面的问题就没有按顺序记录了:
1.linux熟悉吗:熟悉基础的环境变量、目录等用法,问如何查找一个文件(不会,又追问如何设计一个c的程序去查找:先找文件类型,再深度优先遍历)
2.代码的debug工具熟悉吗,怎么去修正bug------tensorboard,打印关键信息,查看变量信息
3.模型的调优或者优化------分布式训练,fp16代替fp32
4.stable diffusion的原理,diffusion能否用于检测用户的异常行为
5.传统机器学习算法了解多少------SVM
xgboost了解吗------了解一些,分类树的模型(下来一定好好学习)
6.transformer的encoder和decoder有什么区别(self和cross attention;mask矩阵)
7.特征选择和特征提取的方法(局部最优的贪心,遗传算法)
8.大模型能否用到这里(具体不是很了解)
9.大模型的微调方法------Lora(低秩分解,训练)
10.核心业务关注:
玩过moba类游戏吗
最高段位怎么样
moba类游戏的外挂了解吗
以王者荣耀或者英雄联盟手游为例,怎么检测一个用户是否有开挂?
这里面试官其实每个阶段都会追问一些技术细节,就按照我设想的流程回答了:
(1)特征选取
关键是找到一些能够有助于判断开挂的行为:
局内的数据:分均经济、场均死亡次数、技能命中率(盲视野下)等
连续的行为:资源的抢夺率、防gank的行为(被抓的时候逃跑的反应速度)
总的来说应该有图像和序列的信息都能有帮助。
(2)特征筛选
看特征的量是否很大,小的话全局最优,大的话局部最优,同时判断一下特征的相关性,独立的要谨慎删除
局部最优的贪心,全局的遗传算法
(3)特征提取
图像数据:考虑实时性用convnext,不考虑的话上Vit
序列数据:Bert或者GPT(不是研究的领域,只听过这两个)
(4)多模态的融合
考虑三个层面的融合
1.输入端的融合------简单的编码后,concat
2.特征空间下的融合------不同的stage拼接(可以add,concat,cross-attention)
3.决策层面融合------bagging、boosting
(5)输出
一个分类任务