欢迎来到RankFan的Blogs

扩大
缩小

Python 排序 & 算法面试题


软件开发


面试题目:https://programmercarl.com/0039.组合总和.html#python

  • 划分k个和相同的子集
nums = [5,3,2,1,3,2,4,1,1,3,6,-1]
k=5

result = [[5],[3,2],[3,2],[4,1],[6,-1],[1,1,3]] # 和等于5

可以参考的想法:

class Solution:
    def __init__(self):
        self.path = []
        self.paths = []

    def combinationSum(self, candidates,target):
        '''
        因为本题没有组合数量限制,所以只要元素总和大于target就算结束
        '''
        self.path.clear()
        self.paths.clear()

        # 为了剪枝需要提前进行排序
        candidates.sort()
        self.backtracking(candidates, target, 0, 0)
        return self.paths

    def backtracking(self, candidates, target, sum_, start_index):
        # Base Case
        if sum_ == target:
            if self.path[:] not in self.paths:
                self.paths.append(self.path[:]) # 因为是shallow copy,所以不能直接传入self.path
                return
        
        # 单层递归逻辑 
        # 如果本层 sum + condidates[i] > target,就提前结束遍历,剪枝
        for i in range(start_index, len(candidates)):
            if sum_ + candidates[i] > target: 
                return 
            sum_ += candidates[i]
            self.path.append(candidates[i])
            
            self.backtracking(candidates, target, sum_, i+1)  # 因为无限制重复选取,所以不是i-1
            sum_ -= candidates[i]   # 回溯
            self.path.pop()        # 回溯



s = Solution()

candidates = [5,3,2,1,3,1]
target = 5
s.combinationSum(candidates, target)

  • 怎么拼在一起最大:
[89,98,123,0,1,45,23]

面经


【字节-算法(商业分析)】复盘:

  • AUC 曲线怎么画
  • AUC 和召回率有什么区别
  • 特征交叉怎么做?用模型做了吗?
  • XgbBoost 怎么做的
  • XGB 与 LGB 区别
  • 一类错误和二类错误
  • 常用均值差类检验
  • t检验有什么要求
  • Coding
    • bacdcde -> a , 返回字符串总第一个不重复的字母
    • 删除列表中大于5的数

【字节-风控】1面半凉经 1个面试官 50min 飞书

  1. 聊项目:项目负责哪一块,
    • 怎么评价模型优劣,业务有无跟进,
    • 是否了解AUC、F1外的业务评价指标,
    • 为什么采用GBDT,正负样本不平衡有没有去处理,
    • 特征工程做了哪一些,为什么这么做
  2. 编码方式了解哪一些,one-hot和embedding后者好在哪?
  3. XGB与GBDT的区别
  4. 激活器了解哪一些,tanh和sigmoid有什么关系,tanh的优点是什么
  5. 聊聊BERT,BERT的注意力机制是什么,为什么需要注意力机制,怎么确定q、k、v的权重?
  6. RNN和LSTM的区别
  7. 玩不玩游戏,游戏里面有什么风险行为,怎么识别风险行为
  8. 本科经济统计和研究生统计有什么区别
  9. 未来职业规划
  10. Coding:给一个数组、找第k大的数

【蚂蚁1面】

聊简历,分工、具体负责内容。
介绍Lgb、怎么处理缺失值、如何防止过拟合
NN里防止过拟合的方法有哪些
Resnet,解决什么问题,如何解决
特征筛选的方法
Tabnet
普通线性回归基本假定
聊Bert,mask-language-learning
Self-attention怎么算的
介绍Transformer
研究方向,研究生期间做了什么,最近读了什么paper
Pandas 怎么用自定义函数


字节数分凉经
1.python内置的库?数据结构
2.python怎么初始化?
3.sql运行效率怎么提升
4.怎么判断获得的数据是完整的 未篡改的
5.sql的窗口函数,partition by和group by有什么区别
6.分析智能电视的用户行为 哪些指标?怎么做数据可视化? 怎么建表储存数据 怎么处理缺失值 异常值

编程题: 两个矩阵点乘、两个list怎么merge


oppo数分一面
(他说是偏商业分析)

  1. 问简历
  2. 探究某个搜索词搜索出来的商品的排序的影响因子(距离,搜安卓手机,出来很多手机,怎么去看手机出现顺序的影响因子)
  3. 怎么判断这些影响因子是否真正影响到了搜索词搜索
  4. Excel:index、offset函数,VLOOKUP函数的最后一个参数为1(False)时应用在哪些场景
  5. Sql:给你一个商家三个月每天的销售表,要求出每天销售前十的商品
    给你一个记录了某个指标每个时段的值的表,要求出每个时段的增量

posted on 2021-12-23 16:23  RankFan  阅读(107)  评论(0编辑  收藏  举报

导航