阿里巴巴-数据科学-技术面经

面试过程

  1. SQL题目:基于如下数据为电商平台中用户每日订单金额,找出各天订单金额排名前三名的用户,表名temp1。
WITH ref_amt AS (
    SELECT
        dt,
        user_id,
        SUM(order_amt) AS order_amt_sum
    FROM temp1
    GROUP BY dt, user_id
)
SELECT
    dt,
    user_id,
    order_amt_sum,
    DENSE_RANK() OVER(PARTITION BY dt ORDER BY order_amt_sum DESC) AS drank
FROM ref_amt
WHERE drank <= 3;

  1. SQL题目:找出连续3天及以上订单金额大于100的用户,表名temp2。
WITH ref_amt AS (
    SELECT
        user_id,
        dt,
        SUM(order_amt) AS order_amt_sum
    FROM temp2
    GROUP BY user_id, dt
),
ref_min_date AS (
    SELECT
        user_id,
        MIN(dt) AS dt_min
    FROM ref_amt
    GROUP BY user_id
),
cmb_date AS (
    SELECT
        ref_amt.user_id,
        ref_amt.dt,
        ref_min_date.dt_min,
        ref_amt.order_amt_sum,
        DATEDIFF(ref_amt.dt, ref_min_date.dt_min) AS dt_diff
    FROM ref_amt
    LEFT JOIN ref_min_date ON ref_amt.user_id = ref_min_date.user_id
)
SELECT DISTINCT user_id
FROM cmb_date
GROUP BY user_id, dt_diff
HAVING COUNT(1) >= 3;

  1. Python题目:小明在双十一晚会上抽奖赢得了一次天猫超市免单的机会,享受在一个包裹内最大体积V,最大重量M内免单。假设商品i,体积Vi,重量Mi,库存Si,价格Pi,请你帮助小明在购物车里添置商品使得总价值最大。
class Solution:
    def maxVal(self, Vmax: int, Mmax: int, items: pd.DataFrame) -> int:
        max_val = 0
        num_items = [0] * len(items.index)
        num_items[0] = min(items.iloc[0, 2], Vmax // items.iloc[0, 0], Mmax // items.iloc[0, 1])
        max_val = num_items[0] * items.iloc[0, 3]
        for idx in range(1, len(items.index)):
            V = items.iloc[idx, 0]
            M = items.iloc[idx, 1]
            S = items.iloc[idx, 2]
            P = items.iloc[idx, 3]
            V_lft = Vmax - sum(x * y for x, y in zip(num_items, items['V']))
            M_lft = Mmax - sum(x * y for x, y in zip(num_items, items['M']))
            num_items[idx] = min(S, V_lft // V, M_lft // M)
            if sum(x * y for x, y in zip(num_items, items['P'])) > max_val:
                max_val = sum(x * y for x, y in zip(num_items, items['P']))
        return max_val

  1. 算法理论题目(选择题)
  • 传统机器学习:基于树的算法是传统机器学习中常用的模型,包括Random Forest (RF),GBDT,XGBoost等。
    • a. 简述RF,GBDT,XGBoost三种算法的异同。
    • b. 分析RF、GBDT模型方差和偏差的来源和规模,并和树模型进行比较。
    • c. 这些结论对模型选型有什么启示。
  • a. 简述RF,GBDT,XGBoost三种算法的异同。
  • b. 分析RF、GBDT模型方差和偏差的来源和规模,并和树模型进行比较。
  • c. 这些结论对模型选型有什么启示。
  • 深度学习:transformer是当今业界常用的网络结构之一,其核心是multi-head self-attention机制。
    • a. 描述multi-head self-attention的结构。
    • b. 假设数据中序列的长度为N,特征宽度为D,给出multi-head self-attention的计算复杂度。
    • c. 简述2种降低计算复杂度的方案。
  • a. 描述multi-head self-attention的结构。
  • b. 假设数据中序列的长度为N,特征宽度为D,给出multi-head self-attention的计算复杂度。
  • c. 简述2种降低计算复杂度的方案。

#软件开发笔面经#
全部评论
第二问没求出订单金额大于100
点赞 回复 分享
发布于 08-19 13:10 广东

相关推荐

投递腾讯音乐娱乐集团等公司10个岗位
点赞 评论 收藏
分享
👥面试题目一副扑克牌&nbsp;54&nbsp;张分成等额&nbsp;6&nbsp;份大小王在同一份牌里的概率?本问题主要考察的是组合数学和概率理论的知识点,具体涉及:组合数学:用于计算所有可能的分牌方式以及目标事件(大小王在同一份牌中)的出现次数。概率理论:用来计算特定事件(大小王在同一份牌中)发生的可能性。逻辑回归的原理,应用场景以及优缺点?当我们探讨逻辑回归的原理、应用场景及优缺点时,我们实际上是在考察以下几个核心知识点:统计学习理论:理解逻辑回归作为一种监督学习方法的工作机制。概率论与数理统计:掌握Sigmoid函数和最大似然估计等统计概念。机器学习模型评价:了解模型的选择、性能评估以及适用场景。数据科学实践:在实际项目中运用逻辑回归解决分类问题的经验。估算&nbsp;2022&nbsp;年新生儿数量?考察的知识点:数据分析与预测:理解如何使用现有数据和趋势来做出合理的预测。人口统计学:了解人口增长模式、生育率以及影响新生儿数量的因素。数据获取与处理:知道如何从公开资源获取数据,以及如何处理和分析这些数据以得出结论。经济与社会因素:考虑经济状况、政策变动、文化趋势等对生育率的影响。需要从哪些方面来作答:数据源:确认可靠的官方或研究机构发布的数据。历史趋势:分析过去几年的新生儿数量,识别模式或趋势。影响因素:考虑经济、政策、文化等外部因素对新生儿数量的影响。预测模型:介绍可能使用到的预测方法,如时间序列分析、ARIMA模型或其他统计预测技术。不确定性分析:讨论预测的不确定性,包括误差范围或置信区间。估算北京地铁一天的客流量考察的知识点:时间序列分析:理解如何分析时间序列数据,特别是如何识别趋势、周期性和季节性模式。数据整合:从不同来源收集数据并进行整合分析。数学建模:构建数学模型来估算或预测特定时间段内的数据。统计方法:应用统计方法来处理和分析数据,如均值、标准差等。需要从哪些方面来作答:历史数据:分析过去几年北京地铁的日均客流量数据。特殊事件:考虑节假日、特殊活动对客流量的影响。季节性波动:识别一年中不同月份或星期中客流量的周期性变化。趋势分析:识别长期趋势,如年增长率或下降率。预测模型:可能使用的时间序列预测模型,如ARIMA、指数平滑等。说一下假设检验考察的知识点:统计推断:理解假设检验作为统计推断的一部分,如何帮助我们在样本数据的基础上对总体参数做出推断。假设检验框架:熟悉假设检验的基本步骤和概念,包括零假设和备择假设、检验统计量、显著性水平、p值等。决策规则:掌握如何根据检验结果做出接受或拒绝原假设的决策。假设检验类型:了解不同类型假设检验(如t检验、卡方检验、ANOVA等)及其适用场景。需要从哪些方面来作答:基本概念:解释假设检验的目的和作用。检验流程:描述假设检验的一般步骤。关键术语:定义零假设、备择假设、检验统计量、显著性水平、p值等。决策规则:说明如何基于检验结果做出决策。常见误区:讨论在执行假设检验时常见的误解和陷阱。使用过哪些算法模型,用过&nbsp;K-means&nbsp;和&nbsp;KNN&nbsp;算法吗?考察的知识点:聚类分析:K-means算法属于无监督学习,用于数据的聚类分析。分类算法:KNN(K-Nearest&nbsp;Neighbors)算法属于监督学习,用于分类和回归任务。算法原理:理解K-means和KNN算法的工作原理、适用场景以及优缺点。实施经验:分享在实际项目中应用这两种算法的经验,包括数据预处理、参数调优和模型评估。需要从哪些方面来作答:算法原理:简述K-means和KNN算法的基本概念和工作流程。应用场景:举例说明K-means和KNN算法在不同领域的应用案例。优缺点:对比两种算法的特点,包括它们的优势和局限性。实践经验:分享在实际数据分析项目中使用这两种算法的经历和教训。 #数据分析#&nbsp;&nbsp;#秋招#&nbsp;&nbsp;#字节跳动#&nbsp;&nbsp;#面经#
查看6道真题和解析
点赞 评论 收藏
分享
4 25 评论
分享
牛客网
牛客企业服务