shopee 字节电商 华为云 社招 面经 面试总结
shopee 字节电商 华为云 社招 算法面经 面试总结
毕业两年算法工程师换工作的一些面试总结,同时广告引流,阿里算法秋招求简历
https://www.nowcoder.com/discuss/698998
shopee面试(供应链算法)总结
1.一面
项目介绍
python相关:
元组和列表的区别 列表可以当字典的key吗 python多并发编程
数据结构:
最短路径 旅行商问题 dijkstra算法 最小生成树
搜索匹配 trie树 KMP AC自动机
各种排序算法的时间复杂度和稳定性
算法基础:
ID3 C4.5 cart区别
bagging boosting区别
lightgbm xgboost区别
Coding:
两个栈实现队列
2.二面
项目介绍
背景 关键指标 特征 模型 指标 关键优化 最大的挑战 模型融合的方式 销量预测大促和平销的分开处理
补货策略 安全库存策略 排班策略 运筹优化怎么做的 指标提升
营销活动选品是怎么做的 离线优化目标是什么
冷启动的策略 有没有用模型
如果让你在当前项目进一步深入 会做哪些工作
技术基础:
常见的决策树有哪些 决策树怎么生长 怎么分裂 信息增益怎么定义
分类算法的衡量指标 尽量找出多的找出负例应该用哪个
Kmeans的距离衡量方式有哪些 离散特征应该用什么距离
归一化的方式 有哪些
大表join小表怎么优化 spark里怎么设置
数据遍历时 for循环 pandas.apply numpy向量哪个快 为什么
coding
数据处理
id | date | 订阅状态
A001 01/09/2019 subscribe
得到
id | 订阅开始时间| 订阅结束时间
会有重复订阅 取关
shopee面试(营销算法)总结
先做了笔试
一道是判断字符串的列表中两两组合能够形成回文串的下标对的和
一道是leetcode983的变形 https://leetcode-cn.com/problems/minimum-cost-for-tickets/
1.一面
岛屿问题
项目
2.二面
项目
lightgbm相对于xgboost改进
3.三面
如何给一个新来的商品依据标题挂载类目
字节总结(抖音电商)
1.一面
自我介绍
项目
预测类相关项目 特征工程 对未来计划性信息的应用 当前的数据处理规模 算法的可改进的地方
lightgbm相对于xgboost和gbdt的改进
LSTM相对于RNN的改进
怎么解决梯度爆炸 梯度消失
设计题
抖音怎么发掘抖音电商的潜在客户 or 券敏感用户(uplift_model)
https://blog.csdn.net/jinping_shi/article/details/105583375
coding
Lake Counting (POJ No.2386)八联通问题(岛屿数量的变形)
2.二面
自我介绍
项目提问
1.未来特征有哪些怎么用
计划性未来特征
不能提前获取的未来特征的处理
归因分析和推演
2.时序,lightgbm,DNN比较,结果怎么融合
预测平台流程
3.spark的倾斜处理
https://blog.csdn.net/weixin_38750084/article/details/82721319
这个博客里面都是一些通用方案,实际上解决倾斜更多的是对自身业务代码的一个优化,
判断使用的模型是否有强的分key的业务逻辑,改变分key的方式,对倾斜的可以进行划分
或者随机生成key
4.对spark的shuffle的理解
https://www.cnblogs.com/itboys/p/9226479.html
算法题
时间复杂度都是O(n),空间O(1)
回问
3.字节三面总结(抖音电商)
自我介绍
项目提问
embedding怎么做的
项目怎么迭代优化的
算法题
组合总和+变形,数组中包含负数,target为负数时如何解决
https://leetcode-cn.com/problems/combination-sum-ii/
华为云
1.一面
自我介绍
项目相关
spark相关
RDD的介绍
https://blog.csdn.net/dsdaasaaa/article/details/94181269
数据倾斜的处理方法
https://zhuanlan.zhihu.com/p/86544656
使用spark遇到的哪些坑
python语言相关
悲观锁和乐观锁
单例模式
_new_ 方法介绍
https://zhuanlan.zhihu.com/p/58139772
装饰器有什么作用
迭代器和生成器的区别
https://www.zhihu.com/question/20829330
手动实现字典的深拷贝
https://blog.csdn.net/weixin_30596023/article/details/98607214
python基础还是要要复习一下廖雪峰=-=
https://www.liaoxuefeng.com/wiki/1016959663602400/1017451662295584
对公司有什么问题
2.二面
算法题
合并区间
https://leetcode-cn.com/problems/merge-intervals/
项目介绍,代码量,有没有负责需求调研和项目领导
感觉更注重开发能力
3.三面
大领导面主要是聊了以下项目,了解了之前工作的情况,为什么离职
总结和感悟
面试的过程中也会感觉到不同公司面试风格和侧重点的差异,shopee就是基础知识,项目,coding比较平衡;字节则是coding要求很高,时间和最优解都会有要求;阿里就会很深入的挖掘你的项目细节,对项目的优化逻辑要求很明确;华为就很重视基础以及开发能力。
算法的面试总结起来就是基础技能和业务能力:
机器学习基础(推荐《百面机器学习》,西瓜书)
coding基础(基本是leetcode hot100里mid的水平)
项目的迭代优化过程:得出优化方向的思考和验证的方式,关键优化使用的手段,取得的效果,要显示出你的逻辑性。
Tips:
1.简历上提到的算法模型和基础知识一定要很清楚,不然深挖很容易被问倒。
2.项目一定要Review,有自己清晰的思考。
3.社招最重要的还是想清楚自己的职业规划,包括想做的方向和想待的环境。
4.coding练习还是很重要的,刚开始好久不刷题,面试的时候想快速写出来还是很难,后面刷到将近200道,常见的mid基本都能应付了。