|
- 笔试题库
- 一、智力题
- 1、有两根不均匀分布的香,香烧完的时间是一个小时,你能用什么方法来确定一段15分钟的时间?
- 答案:香a点燃一头,香b点燃两头。等香b烧完时,时间过去了30分钟。再把香a剩下的另一头也点燃。从这时起到a烧完的时间就是15分钟。
-
- 2、有两位盲人,他们都各自买了两对黑袜和两对白袜,八对袜子的布质、大小完全相同,而每对袜了都有一张商标纸连着。两位盲人不小心将八对袜了混在一起。他们每人怎样才能取回黑袜和白袜各两对呢?
- 答案:将每对袜子拆开一人一只
-
- 3、你有四个装药丸的罐子,每个药丸都有一定的重量,被污染的药丸是没被污染的重量+1.只称量一次,如何判断哪个罐子的药被污染了?
- 答案:1号罐取1丸,2号罐取2丸,3号罐取3丸,4号罐取4丸,称量该10个药丸,比正常重量重几就是几号罐的药有问题。
-
- 4、你有一桶果冻,其中有黄色,绿色,红色三种,闭上眼睛,抓取两个同种颜色的果冻。抓取多少个就可以确定你肯定有两个同一颜色的果冻?
- 答案:4个。数量>颜色种类。颜色必重复。
-
- 5、1元钱一瓶汽水,喝完后两个空瓶换一瓶汽水,问:你有N元钱,最多可以喝到几瓶汽水?(答案2N)
- A、N B、2N 3、3N 4、4N
-
- 6、填入空缺的数字:(答案:60)
- 16(96)12
- 10()7.5
- A、60 B、72 C、66 D、80
-
- 7、动物学家与社会学家相对应,正如动物与()相对。(答案:人类)
- A、人类 B、问题 C、社会 D、社会学
-
- 8、1 3 2 4 6 5 7 ()(答案:9)
- A、8 B、9 C、10 D、6
-
- 9、南之于西北,正如西之于()(答案:东北)
- A、西北 B、东北 C、西南 D、东南
-
- 10、9 7 8 6 7 5 () (答案:6)
- A、6 B、7 C、5 D、8
-
- 二、算法
- 1、给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
-
- 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。
- 示例:
- 给定 nums = [2, 7, 11, 15], target = 9
- 因为 nums[0] + nums[1] = 2 + 7 = 9
- 所以返回 [0, 1]
-
- 2、给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。
-
- 有效字符串需满足:
-
- 左括号必须用相同类型的右括号闭合。
- 左括号必须以正确的顺序闭合。
- 注意空字符串可被认为是有效字符串。
-
- 示例 1:
-
- 输入: "()"
- 输出: true
- 示例 2:
-
- 输入: "()[]{}"
- 输出: true
- 示例 3:
-
- 输入: "(]"
- 输出: false
- 示例 4:
-
- 输入: "([)]"
- 输出: false
- 示例 5:
-
- 输入: "{[]}"
- 输出: true
-
- 3、给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。
-
- 你的算法时间复杂度必须是 O(log n) 级别。
-
- 如果数组中不存在目标值,返回 [-1, -1]。
-
- 示例 1:
-
- 输入: nums = [5,7,7,8,8,10], target = 8
- 输出: [3,4]
- 示例 2:
-
- 输入: nums = [5,7,7,8,8,10], target = 6
- 输出: [-1,-1]
-
- 4、给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
-
- 你可以假设数组中无重复元素。
-
- 示例 1:
-
- 输入: [1,3,5,6], 5
- 输出: 2
- 示例 2:
-
- 输入: [1,3,5,6], 2
- 输出: 1
- 示例 3:
-
- 输入: [1,3,5,6], 7
- 输出: 4
- 示例 4:
-
- 输入: [1,3,5,6], 0
- 输出: 0
-
- 5、给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。
-
- candidates 中的数字可以无限制重复被选取。
-
- 说明:
-
- 所有数字(包括 target)都是正整数。
- 解集不能包含重复的组合。
- 示例 1:
-
- 输入: candidates = [2,3,6,7], target = 7,
- 所求解集为:
- [
- [7],
- [2,2,3]
- ]
- 示例 2:
-
- 输入: candidates = [2,3,5], target = 8,
- 所求解集为:
- [
- [2,2,2,2],
- [2,3,3],
- [3,5]
- ]
-
- 6、给定一个没有重复数字的序列,返回其所有可能的全排列。
-
- 示例:
-
- 输入: [1,2,3]
- 输出:
- [
- [1,2,3],
- [1,3,2],
- [2,1,3],
- [2,3,1],
- [3,1,2],
- [3,2,1]
- ]
-
-
-
- 三、基础
- 1)、网络
- 1、TCP建立连接共有几次握手(答案:3次)
- A、2次 B、3次 C、4次 D、5次
-
- 2、TCP断开连接共有几次挥手(答案:4次)
- A、2次 B、3次 C、4次 D、5次
-
- 3、TCP与UDP的区别
- 4、TCP建立连接的过程
- 5、TCP断开连接的过程
-
-
- 2)、数据库
- 1、mysql中使用什么命令分析一条sql语句使用的索引情况(答案:B)
- A、show B、explain C、query D、find
-
- 2、mysql数据库默认端口号是多少(答案:3306)
- A、3300 B、3302 C、3304 D、3306
-
- 3、数据库中的ACID分别指的是什么?
-
- 4、如果在设计阶段已经预测到一张表的数据量会很庞大,那你会怎样去做优化?
-
- 5、是否有sql性能优化的经验?如何去做性能优化?
-
-
- 3)、操作系统
- 1、linux中可以使用什么命令去实时查看一个进程的cpu占用率、内存使用情况(答案:TOP)
- A、show B、top C、find D、query
-
- 2、在操作系统中,PV操作是一种(答案:D)
- A、机器指令 B、系统调用命令 C、作业控制指令 D、低级进程通讯用语
-
- 3、进程与线程的区别与联系
-
- 4、发生死锁的必要条件是哪些
-
- 5、进程有几种状态?
-
- 四、机器学习
- 1、关于神经网络,下列说法正确的是(多选)?
-
- A. 增加网络层数,可能会增加测试集分类错误率
-
- B. 增加网络层数,一定会增加训练集分类错误率
-
- C. 减少网络层数,可能会减少测试集分类错误率
-
- D. 减少网络层数,一定会减少训练集分类错误率
-
- 答案:AC
-
- 解析:本题考查的是神经网络层数对训练误差和测试误差的影响。
-
- 一般来说,神经网络层数越多,模型越复杂,对数据的分类效果越好。所以,从最简单的层数开始,增加网络层数都能使得训练误差和测试误差减小。但是,神经网络层数过多容易造成过拟合,即对训练样本分类效果很好,误差小,但是测试误差很大。
-
- 为了避免发生过拟合,应该选择合适的神经网络层数并使用正则化技术来让神经网络更加稳健。
-
-
- 2、“对于 PCA 处理后的特征,其朴素贝叶斯特征相互独立的假设一定成立,因为所有主成分都是正交的,所以不相关”。这句话是否正确?
-
- A. True
-
- B. False
-
- 答案:B
-
- 解析:本题考查的是 PCA 和 朴素贝叶斯的基本概率和区别。
-
- 这句话有两处错误:一是 PCA 转换之后的特征不一定不相关;二是不相关并不等价于相互独立。
-
- 正交和不相关没有必然关系,只有当一个随机变量的统计平均等于零时,正交和不相关等价。
-
- 独立则必定不相关,而不相关却不一定互相独立,只有是高斯时独立和不相关才等价。
-
-
- 3、下列关于 PCA 说法正确的是(多选)?
-
- A. 在使用 PCA 之前,我们必须标准化数据
-
- B. 应该选择具有最大方差的主成分
-
- C. 应该选择具有最小方差的主成分
-
- D. 可以使用 PCA 在低维空间中可视化数据
-
- 答案:ABD
-
- 解析:本题考查的是主成分分析(PCA)的基本概念和推导原理。
-
- PCA 对数据中变量的尺度非常敏感,因此我们需要对各个变量进行标准化。方法是减去各自变量的均值,除以标准差。
-
- (X-U)/a
-
- 举个例子,假如某个变量单位从 km 改成 cm,大大增加了其方差,那么该变量可能就成为了主成分。这是我们不希望看大的。
-
- B 是正确的,因为我们总是选择方差最大的主成分。可以这么来理解,方差越大,说明在该特征上分布越广泛,说明该特征月有用,影响越大。
-
- PCA 有时在较低维度上绘制数据是非常有用。例如我们可以提取前 2 个主要组成部分,然后在二维平面上使用散点图可视化数据。
-
-
- 4、常见的生成式模型和判别式模型有哪些?
- 生成式模型:HMM、朴素贝叶斯
- 判别式模型:svm、最大熵模型、决策树、神经网络、条件随机场。
-
-
- 5、数据清理中,处理缺失值的方法有哪几种?
-
-
- 数据清理中,处理缺失值的方法有两种:
- 删除法:1)删除观察样本
-
- 2)删除变量:当某个变量缺失值较多且对研究目标影响不大时,可以将整个变量整体删除
-
- 3)使用完整原始数据分析:当数据存在较多缺失而其原始数据完整时,可以使用原始数据替代现有数据进行分析
-
- 4)改变权重:当删除缺失数据会改变数据结构时,通过对完整数据按照不同的权重进行加权,可以降低删除缺失数据带来的偏差
-
-
- 查补法:均值插补、回归插补、抽样填补等
-
- 成对删除与改变权重为一类,估算与查补法为一类
-
-
- 6、LR和SVM的联系与区别
- 1、LR和SVM都可以处理分类问题,且一般都用于处理线性二分类问题(在改进的情况下可以处理多分类问题)
- 2、两个方法都可以增加不同的正则化项,如l1、l2等等。所以在很多实验中,两种算法的结果是很接近的。
- 区别: 1、LR是参数模型,SVM是非参数模型。
- 2、从目标函数来看,区别在于逻辑回归采用的是logistical loss,SVM采用的是hinge loss.这两个损失函数的目的都是增加对分类影响较大的数据点的权重,减少与分类关系较小的数据点的权重。
- 3、SVM的处理方法是只考虑support vectors,也就是和分类最相关的少数点,去学习分类器。而逻辑回归通过非线性映射,大大减小了离分类平面较远的点的权重,相对提升了与分类最相关的数据点的权重。
- 4、逻辑回归相对来说模型更简单,好理解,特别是大规模线性分类时比较方便。而SVM的理解和优化相对来说复杂一些,SVM转化为对偶问题后,分类只需要计算与少数几个支持向量的距离,这个在进行复杂核函数计算时优势很明显,能够大大简化模型和计算。
- 5、logic 能做的 svm能做,但可能在准确率上有问题,svm能做的logic有的做不了。
|