携程算法二面凉经
职位:算法工程师
一面
自我介绍
实习经历
- 3D图像文件的标准化怎么实现的?是自己写的吗?
- Vision Transformer的原理。
- CNN和Transformer在图像处理上的区别。
- 用Pytorch做了哪些工作。
- 现在还在实习吗?
- 有没有把程序放到服务器上来用接口调用。
项目经历
- 图的构建。
- 图的权重如何训练的。
- 有没有用graph embedding,有什么作用。
- 如何把航班信息构建成图。
其他
- 说一说时序预测有哪些深度学习模型?GRU和LSTM有什么异同?
- XGBoost的原理。XGBoost和LightGBM的区别。
- 有没有用过大数据相关的,比如Hive, Spark等。
手撕代码
一开始用了哈希表,问时间空间复杂度。问怎么让空间复杂度变成O(1)。
用位运算。
class Solution: def singleNumber(self, nums: List[int]) -> List[int]: xorsum = 0 for num in nums: xorsum ^= num lsb = xorsum & (-xorsum) type1 = type2 = 0 for num in nums: if num & lsb: type1 ^= num else: type2 ^= num return [type1, type2]
反问
二面
自我介绍
基础知识
- 逻辑回归和线性回归的区别。
- 知道哪些损失函数。
- 离散数据怎么处理成可训练的数据。
- 除了one-hot还有哪些数据处理方式。
- XGBoost和LightGBM如何处理数据输入的。
- ROC曲线和P-R曲线的区别。
- 偏差和方差的区别。
- AUC怎么计算。
- AUC很高,但是点击率却很低是什么原因。
- 知道哪些相似度的计算公式。
- 余弦相似性计算公式和欧式距离公式是什么,使用场景有什么不同。
- 了解deep&wide和deepFM吗?区别是什么?
- LSTM如何捕获长时间记忆。
- 1*1卷积有什么作用。
- sequence2sequence模型中,attention机制的提出是为了解决什么问题。
项目经历
- 时空预测是做什么的?为什么用图神经网络。
场景分析
- 全国各个城市的航班流量的预测。
手撕代码
概率题
两人轮流扔硬币,先扔出正面的人获胜,先扔的人和后扔的人谁获胜的概率大?
SQL
如何从数据库中选出一个人最近一条的访问记录。
如何从数据库中选出不同票种,例如火车票,机票等的最近5条购买记录。