3/12携程机考选择题/编程题
-
在实现一个大规模DBSCAN算法的分布式版本时,为了优化查找每个点的eps-邻域内的邻居这一核心步骤,数据工程师通常会采用哪种技术手段来避免全量数据点的两两比较,从而显著降低计算复杂度?
A. 对特征进行PCA降维 B. 使用空间索引结构 C. 增加min_samples参数的值 D. 对数据点进行随机抽样
-
在机器翻译任务中,RNN通常采用哪种输入输出模式?
A. 多对多 (Many-to-Many) B. 一对多 (One-to-Many) C. 多对一 (Many-to-One) D. 一对一 (One-to-One)
-
在风控模型任务中,需要模型输出可解释的结果(如“用户违约原因为收入低且负债高”)。以下模型中最适合的是:
A. 决策树 (Decision Tree) B. 随机森林 (RF) C. XGBoost D. 逻辑回归 (LR)
-
假设天气服从如下图所示的马尔科夫链(晴天到晴天概率0.9,晴天到阴天概率0.1;阴天到阴天概率0.5,阴天到晴天概率0.5)。如果第一天为晴天,则在遥远未来的某天,晴天和阴天服从什么样的概率分布 ( )
A. [0.5, 0.5]B. [0.752, 0.248]C. [0.667, 0.333]D. [0.833, 0.167]
-
工程师在预测未来1小时接口QPS时,引入了自回归模型,对请求量时间序列进行建模。在特征构造阶段,他不小心使用了“当前时间点之后5分钟内的平均QPS”作为特征。下列关于这种做法的描述最准确的是:
A. 在时间序列建模中可以任意使用未来特征,因为模型可以捕捉时序结构 B. 这种未来信息只会轻微影响训练速度,对预测性能影响有限 C. 只要验证集划分足够大,就不会出现问题 D. 这是典型的数据泄漏,会导致离线评估过于乐观,线上表现严重劣化
-
为了观察年龄与消费指数的关系,小明通过问卷收集和分析出如下数据: 通过SPSS进行一元回归分析,小明得到如上统计值,则下列说法错误的是:( )
A. 年龄和消费指数呈现负相关,并且年龄每增加1单位,消费指数平均下降7.598点 B. 当年龄为0时,受访者的消费指数平均理论值为108.9,这仅仅是一个理论值 C. 自变量具有统计学意义 D. 常量的p值大于0.05,因此不具有统计学意义
-
用MAPE(平均绝对百分比误差)评估服务器负载预测结果时,若某小时的实际负载为0(如服务器维护),会出现什么问题?( )
A. 无影响,正常计算 B. MAPE值无穷大,无法计算 C. MAPE值等于预测值,高估误差 D. MAPE值为0,低估误差
-
某行观察单次ATM取现金额X近似服从正态分布
,随机抽一笔取现金额超过260的概率为 ( )
A. 0.08 B. 0.20 C. 0.12 D. 0.32
-
从一副标准的52张扑克牌(无大小王)中不放回地抽取两张牌,已知抽出的两张牌中至少有一张是A(Ace),则这两张牌都是A的概率是 ( )
A. 1/221 B. 1/17 C. 1/33 D. 1/13
-
假设使用线性支持向量机来对如下表所示的数据集进行二分类,下列关于得到的支持向量机模型的说法中,正确的是 ( )
| sample_id | feature1 | feature2 | label |
|---|---|---|---|
| x1 | 3 | 3 | 1 |
| x2 | 4 | 3 | 1 |
| x3 | 1 | 1 | 0 |
A. 决策超平面方程为:2feature1+2feature2=1 B. 决策超平面方程为:feature1+feature2=1 C. 支持向量为x1和x3 D. 支持向量为x2和x3
编程题
第一题:阶乘的个位数
题目描述:
众所周知
很像一个尾巴,表示
的阶乘即
。给定一个整数
,游游想知道
的个位数字是多少,请输出这个值。
输入描述:
输入一行一个整数
(
) 表示询问值。
输出描述:
输出一个整数表示
的个位数字。
示例:
输入 1:1 -> 输出 1:1
输入 2:3 -> 输出 2:6
第二题:素数拆分求最大数量
题目描述:
给定一个正整数
与一个正整数
,你需要把
拆分为若干个素数之和(可以重复选择同一个素数),设最终使用的素数个数为
。
同时要求:所选素数中奇素数(除 2 以外的素数)的数量必须是
的正整数倍(不能为 0)。
请在满足约束的前提下,使
最大化,并输出这个最大的
。若不存在任何满足要求的拆分方案,输出 -1。
素数: 大于 1 且只有 1 与其本身两个正因子的整数;奇素数: 除 2 以外的素数。
输入描述:
每个测试文件均包含多组测试数据。第一行输入一个整数
(
) 表示测试数据组数。
接下来每一行输入两个整数
(
)。
输出描述:
对于每一组测试数据,新起一行输出一个整数:满足要求的最大素数个数
;若无解,则输出 -1。
示例: 输入:
4
6 2
2 1
30 4
10000000000000 1
输出:
2
-1
13
499999999999
说明: 对于第一组样例,6 可以拆分为 3 + 3。
第三题:机器学习无监督聚类流程 (代码补全)
题目描述: 在仅使用 numpy / pandas / scikit-learn 的前提下,完成如下无监督三步流程,并对测试集输出聚类标签。 0) 预处理(随标准化一起执行) 对训练与测试所有列,先用训练集的该列均值填充 NaN;随后用 StandardScaler 在训练集上 fit,并对训练/测试做 transform。
-
降维 (PCA) 使用 PCA(n_components=var),其中 var 表示“累计解释方差
的最小成分数”。 若所有成分累计解释方差仍
,则取全部维度(即不降维)。记录最终选中的维度 pca_dim。
-
K-Means 选 k 从输入的候选集合 k_list 中选择最优 k_star: 对每个 k 训练 KMeans(k, random_state=42, n_init=10) 于训练集 (PCA后);计算训练集的 silhouette_score (默认 metric);若 k=1 或无法计算,记该 k 的得分为 -1;选择分数最高的 k;若并列,取较小的 k。
-
输出测试标签 用 k_star 重新在训练集上拟合 KMeans,并对测试集做 predict。 直接输出 KMeans 的原生标签 (0..k_star-1),不再做重排。 输入/输出描述: 通过 JSON 格式传入字典(含 train, test, k_list 字段)。要求输出 JSON 格式字典(含 pca_dim, k_star, test_pred 字段)。输出标签需转为 Python int 列表。
第四题:按位与子集和查询
题目描述:
给定一个整数
和一个长度为
的序列
。
接下来有
次询问,每次给出一个整数
,需要计算:
即所有满足
的下标
所对应的
之和。
符号 & 表示按位与运算(对两个数的二进制逐位与),对应位均为 1 时结果为 1,否则为 0。
输入描述:
输入包含多组测试数据。第一行包含整数
(
) 表示测试组数。每组数据描述如下:
第一行包含两个整数 ();第二行包含 个整数 ();第三行包含 个整数 ()。保证所有测试中 的总和不超过 。
输出描述:
对于每组测试数据,按询问顺序输出
行,每行一个整数,表示对应查询的答案。
示例:
输入:
3
5 3
1 2 3 4 5
0 7 5
3 2
10 -5 7
3 2
6 3
0 1 2 3 4 5
6 4 7
输出:
0
15
10
12
-5
9
3
15
#携程笔试#
查看24道真题和解析