2021年百度公司人工智能机器学习/数据挖掘工程师面试题
小编:管理员 2372阅读 2021.06.15
简答题
1. new 和 malloc 的区别。
2. hash冲突是指什么?怎么解决?给两种方法,写出过程和优缺点。
3. 命中的概率是 0.25,若要至少命中一次的概率不小于 0.75,则至少需要几次?
第2题:
算法设计题
1. 用C/C++写一个归并排序。
数据结构为struct Node{int v; Node *next};
接口为 Node * merge_sort(Node *);
2. 设计S型层次遍历树的算法,比如根节点是第一层,第二层从左至右遍历,第三层从右至左遍历,第四层再从左至右遍历,以此类推。
举例:应依次输出 1 2 3 6 5 4 7 8 9。
3. 一个url文件,每行是一个url地址,可能有重复。
(1)统计每个url的频次,设计函数实现实现。
(2)设有10亿url,平均长度是20,现在机器有8G内存,怎么处理,写出思路。
系统设计题
自然语言处理中的中文分词问题,前向最大匹配算法(FMM)。
注:题目举例说明了FMM的基本思想。
(1)设计字典的数据结构 struct dictnote。
(2)用C/C++实现FMM,可选接口为
int FMM(vector
其中 iLetters 为待分词的句子,比如 {“小”,“明”,“今”,“天”,“买”,“了”,“i”,“p”,“o”,“n”,“e”,“6”},
iRoot 是字典, oResults 保存输出结果,即分词的位置。也可以自己设计接口。
(3)收集了一些手机品牌的字典,如{iphone, 诺基亚}。
现在要求查找包含这些手机品牌的网页,比如包含 iphone6, 诺基亚 9973 等。
怎么修改FMM实现这个功能,可以写伪代码。
相关推荐
- 2021年百度数据挖掘工程师面试题 第1题: 简答(30分)1.【C/C++】Const作用于变量、函数、类分别有什么特性(10分)2.内存分配中堆和栈的区各是什么?在什么时候回忆分配?(10分)3.如何判定训练处的模型过拟合?(10分)第2题: 算法与程序设计题(45分)1.假设有一个数组,里面有10个元素i…
- 百度 2021 硬件开发面试题 第1题: 阻塞与非阻塞区别第2题: 画出D触发器结构,解释建立时间和保持时间第3题: 名词解释:SIMD、VLIM第4题: CPU的5级流水是什么?流水线优缺点?第5题: 1——16循环计数器,用Verilog或VHDL第6题: SRAM设计FIFO,不要求程序,给出结构图及设计思路第7题…
- 经典笔试题-JDBC及Hibernate篇 五、JDBC 及Hibernate:(共12 题:基础10 道,中等难度2 道)110、数据库,比如100 用户同时来访,要采取什么技术解决?【基础】 答:可采用连接池。111、什么是ORM?【基础】 答:对象关系映射(Object—Relational Mapping,简称ORM)是一种为了解决面向对象…