从腾讯(数据挖掘方向)笔试题目看技术储备
笔试内容:
1.二叉树遍历:已知中序遍历顺序以及前序遍历顺序,求后序遍历顺序
2.SQL语句: 找出QQset中最小的QQ号码
3.encodeURI&URL传播的转义结果
4.36辆车,6条跑道,无计时器,最少几次比赛可以选出前三
5.Windows/Linux下判断远程地址为某主机监听的某端口是都开放的命令是?
6.html 网站cookie
7.cookie功能
8.哈希冲突
9.哪些http方法对于服务端和用户是安全的
10.二维数组内存地址计算
11.附加题:推导线性最小二乘法过程
12.附加题:概率计算(这个相当简单啦)
13.模型过拟合与哪些因素有关,写出理由
3 从百度(数据挖掘工程师)笔试题目看技术储备
一. 简答题
1. new 和 malloc 的区别,
从腾讯(数据挖掘方向)笔试题目看技术储备
。2. hash冲突是指什么?怎么解决?给两种方法,写出过程和优缺点。
3. 命中的概率是 0.25,若要至少命中一次的概率不小于 0.75,则至少需要几次?
二. 算法设计题
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(vectoriLetters, dictnode *iRoot, vector*oResults);
其中 iLetters 为待分词的句子,比如 {“小”,“明”,“今”,“天”,“买”,“了”,“i”,“p”,“o”,“n”,“e”,“6”},
iRoot 是字典, oResults 保存输出结果,即分词的位置。也可以自己设计接口。
(3)收集了一些手机品牌的字典,如{iphone, 诺基亚}。
现在要求查找包含这些手机品牌的网页,比如包含 iphone6, 诺基亚 9973 等。
怎么修改FMM实现这个功能,可以写伪代码。
4 从搜狐(数据挖掘算法工程师)笔试题目看技术储备
笔试
1, 类的继承
2, 资源互斥下的死锁
3, 一维数组,元素为指针,指针指向一个参数为Int,返回值为int的函数
4, 进程间的通信方式
5, Const标志符常量一定要?
6, String的普通构造函数,拷贝构造函数,赋值函数,析构函数
7, Strcpy函数
8, N个不同数的全排列,打印所有全排列
9, Sizeof(char name[]=”hello”)
10, 继承的转换(子类可以转换成基类,基类不能转换成子类,多继承下同一子类的基类间不能相互转换)
5 从网易(数据挖掘研究员)笔试题目看技术储备
笔试
1, 字符串匹配的算法复杂度(主串N,字串M)N+M
2, 排序算法的稳定性(快速排序为非稳定)
3, 平衡二叉树的插入
4, 20个亿整数的两个集合a与b,求a与b的交集,内存为4Gb
5, 在N个无序数中找K个最小值
6, 页面文件的逻辑地址位(8个1024字放内32帧内存里)
7, 计算机网络各层应用连接
8, 哪一种模式不关心算法
Abstract Factory:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。(使用得非常频繁。)
Adapter:将一个类的接口转换成客户希望的另外一个接口。A d a p t r模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
Bridge:将抽象部分与它的实现部分分离,使它们都可以独立地变化。
Builder:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
Chain of Responsibility:为解除请求的发送者和接收者之间耦合,而使多个对象都有机会处理这个请求。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它。
Command:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可取消的操作。
Composite:将对象组合成树形结构以表示“部分-整体”的层次结构。它使得客户对单个对象和复合对象的使用具有一致性,
资料共享平台
《从腾讯(数据挖掘方向)笔试题目看技术储备》(https://www.unjs.com)。Decorator:动态地给一个对象添加一些额外的职责。就扩展功能而言, 它比生成子类方式更为灵活。
Facade:为子系统中的一组接口提供一个一致的界面, F a c a d e模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
Factory Method:定义一个用于创建对象的接口,让子类决定将哪一个类实例化。Factory Method使一个类的实例化延迟到其子类。
Flyweight:运用共享技术有效地支持大量细粒度的对象。
Interpreter:给定一个语言, 定义它的文法的一种表示,并定义一个解释器, 该解释器使用该表示来解释语言中的句子。
Iterator:提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示。
Mediator:用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。
Memento:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到保存的状态。
Observer:定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新。
Prototype:用原型实例指定创建对象的种类,并且通过拷贝这个原型来创建新的对象。
Proxy:为其他对象提供一个代理以控制对这个对象的访问。
Singleton:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
State:允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它所属的类。
Strategy:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。本模式使得算法的变化可独立于使用它的客户。
Template Method:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。Template Method使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
Visitor:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作
9, 数据库系统的两种语言(一种用于定义数据库模式;另一种用于表达数据的查询和更新)
10, 数据库的连接运算
11, 建立索引的原则
在经常需要搜索的列上,可以加快搜索的速度;在作为 主键的列上,强制该列的唯一性和组织表中数据的排列结构;在经常用在连接的列上,这些列主要是一些外键,可以加快连接的速度;在经常需要根据范围进行搜索 的列上创建索引,因为索引已经排序,其指定的范围是连续的;在经常需要排序的列上创建索引,因为索引已经排序,这样查询可以利用索引的排序,加快排序查询 时间;在经常使用在WHERE子句中的列上面创建索引,加快条件的判断速度。
不应该创建索引的的 这些列具有下列特点:第一,对于那些在查询中很少使用或者参考的列不应该创建索引。这是因为,既然这些列很少使用到,因此有索引或者无索引,并不能提高查 询速度。相反,由于增加了索引,反而降低了系统的维护速度和增大了空间需求。第二,对于那些只有很少数据值的列也不应该增加索引。这是因为,由于这些列的 取值很少,例如人事表的性别列,在查询的.结果中,结果集的数据行占了表中数据行的很大比例,即需要在表中搜索的数据行的比例很大。增加索引,并不能明显加 快检索速度。第三,对于那些定义为text, image和bit数据类型的列不应该增加索引。这是因为,这些列的数据量要么相当大,要么取值很少。第四,当修改性能远远大于检索性能时,不应该创建索 引。这是因为,修改性能和检索性能是互相矛盾的。当增加索引时,会提高检索性能,但是会降低修改性能。当减少索引时,会提高修改性能,降低检索性能。因 此,当修改性能远远大于检索性能时,不应该创建索引。
12, 事务的定义与特点,事务隔离的级别
事务(Transaction)是并发控制的单位,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。通过事务,SQL Server能将逻辑相关的一组操作绑定在一起,以便服务器保持数据的完整性。
事务的特性(ACID特性)
A:原子性(Atomicity),事务是数据库的逻辑工作单位,事务中包括的诸操作要么全做,要么全不做。
B:一致性(Consistency),事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
C:隔离性(Isolation), 一个事务的执行不能被其他事务干扰。
D:持续性/永久性(Durability),一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。
未授权读取(允许脏读取,但不允许更新丢失),授权读取(允许不可重复读取,但不允许脏读取),可重复读取(禁止不可重复读取和脏读取,但是有时可能出现幻影数据)和序列化(事务序列化执行,不能并发执行)
13, 专业题一数据挖掘的步骤
14, Pca的概念和处理过程(主成分分析)
15, K中心点聚类算法简介
首先为每个簇随意选择一下代表对象,将剩余的对象根据其与代表对象的距离分配给最近的一个簇。然后反复地用非代表对象来替代代表对象,以改进聚类的质量。判定一个非代表对象O是否是当前一个代表对象的O1的好的替代,对于每一个非代表对象p,下面的四种情况考虑。
1, p当前属于代表Oj,如果Oj被O代替,p离Oi最近,那么p被重新分配给Oi
2, p当前属于代表Oj,如果Oj被O代替,p离O最近,那么p被重新分配给O
3, p当前属于代表Oi,如果Oj被O代替,p离Oi最近,那么p不变
4, p当前属于代表Oi,如果Oj被O代替,p离Oi最近,那么p被重新分配给O
16, 中文分词技术简介,常用数据结构和算法
17, 分类器的主流评测指标:准确率,速率,鲁棒性,可规模性和可解释性
18, 如何建立一个智能问答系统,思路
19, 如何建立一个智能商品推荐系统,思路
【从腾讯(数据挖掘方向)笔试题目看技术储备】相关文章:
3.腾讯校招笔试题目