下午刚参加完腾讯实习生招聘的笔试,投的是基础研究岗,题目和我想象的还是差挺多,基本都是数学类题目+部分智力题,没有C/C++/数据结构方面的题,打的我措手不及啊,从高等数学到线性代数到统计概率到信息论,还有一些不知道什么方面的题,好吧,如果基础知识掌握的不错的应该不会觉得难,无奈我太久没搞数学忘的差不多了。题目不太记得了,一共25个不定项选择,3个问答题,把记得的大概写下咯。
1. 高等数学,连续可导
f(x)在x=0点连续,则可导的充分条件是?
A. B.不记得了 C.
D.
2.积分
求有x=0.5,x=2,y=1/x,x轴围成的面积?
3.线性代数,矩阵变换+求行列式
4. 统计学? 第一类错误和第二类错误
没接触过,题目都没看懂,以下摘自百度百科:
5. 概率统计
n对夫妻坐在2n个座位,则每一位丈夫总是排在他妻子的右面(可以不相邻)的概率为?
n对夫妻共2n个人,相当于任意排成一列方法共有2n!,其中每一位丈夫总是排在他妻子的右面(可以不相邻)的方法有(2n!)/2^n
概率为1/2^n
6. 数据库,笛卡尔积
给出了两个表,求笛卡尔积。
很简单的概念,但素偶不记得了,摔!
假设集合A={a,b},集合B={0,1,2},则两个集合的笛卡尔积为{(a,0),(a,1),(a,2),(b,0),(b,1), (b,2)}。
7. 信息论,KL散度
考点应该是KL散度是描述两个概率分布Q和P的差异。
8. 数据库,SQL语句
好似是求学生的平均成绩之类,不太记得了
9. 数学优化
怎样防止过拟合?
A. 增大训练数据 B. 正则化 CD不记得了,因为我选的正则化->_->
10. 蚂蚁爬杆问题。
有一根长为
L
的平行于x轴的细木杆,其左端点的x坐标为0(故右端点的x坐标为
L
)。刚开始时,上面有
N
只蚂蚁,第
i(1≤i≤N)
只蚂蚁的横坐标为
xi
(假设
xi
已经按照递增顺序排列),方向为
di
(0表示向左,1表示向右),每个蚂蚁都以速度
v
向前走,当任意两只蚂蚁碰头时,它们会同时调头朝相反方向走,速度不变。
当然,笔试的时候题目是给出9只蚂蚁在一个100的木杆上,并给出了每个蚂蚁的坐标和朝向,求第7只掉下的蚂蚁是哪只?
解题思想借用这篇博客,写的比较清楚,而且有拓展问题。http://lam8da.sinaapp.com/?p=11
这个解答甚是精妙,通俗点来说,我们假设每只蚂蚁都背着一袋粮食,任意两只蚂蚁碰头时交换各自的粮食然后调头。这种情况下,每次有一只蚂蚁离开木杆都意味着一袋粮食离开木杆(虽然可能已经不是它刚开始时背的那一袋了)。于是,我们可以求出每袋粮食离开木杆的时间(因为粮食是不会调头的)。又由于每袋粮食离开木杆的时间都对应某只蚂蚁离开木杆的时间,这是一种一一映射关系。现在我们要找到对应于第 i 只蚂蚁的那个映射。在此之前需要证明一个命题:
若一开始时有 M 只蚂蚁向左走, N−M 只蚂蚁向右走,则最终会有左边的 M 只蚂蚁从木杆左边落下,剩下 N−M 只 蚂蚁从木杆右边落下。
有两点要注意:一是左右不变性,每两只蚂蚁碰到后掉头,所以向左和向右的蚂蚁数不会变,固一开始有M只向左,最后一定会有M只从左边掉下来;
而是相对位置不变性,因为是掉头而不是穿过,所以肯定是左边的M只蚂蚁从左边掉下。
得到这个命题后就不难求第i只蚂蚁掉下的时间了。
我们只需判断
i
和
M
的关系,便知道第
i
只蚂蚁是从左边还是右边落下。不妨假设是从左边落下,因此该蚂蚁落下的时间就等于从左边落下的第
i
袋粮食的落下时间,第i袋粮食从左边落下的时间就 等于 找到的这只蚂蚁离左边起点的距离 除以 它的速度。时间复杂度
O(N)
,一遍扫描搞定。
11. 年龄与门牌号问题
一个人口调查员到某妇女家,询问他三个孩子年龄.妇女说,三个孩子年龄相乘是36,年龄之和是门牌号。调查员说我还是不能知道他们的年龄,妇女说,最小的两个是双胞胎。问门牌号是多少?
首先,可以将36因式分解及门牌号可能性求出来:
36=1*2*18 21
36=1*3*12 16
36=1*4*9 14
36=1*6*6 13
36=2*2*9 13
36=2*3*6 11
36=3*3*4 10、
因为调查员是知道门牌号的,但仍不能确定年龄,那门牌号肯定是13,对应两种年龄情况。再根据最小两个是双胞胎,所以年龄应该是2 2 9.
12. 求子数组的最大和
题目描述:
输入一个整形数组,数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。
给出了代码片段抠出两个空,降低了难度啊!
- int maxSum(int* a, int n)
- {
- int sum=0;
- int b=0;
- for(int i=0; i<n; i++)
- {
- if(b<0)
- b=a[i]; //填空1
- else
- b+=a[i]; //填空2
- if(sum<b)
- sum=b;
- }
- return sum;
- }
问答题部分(基本都不会,瞎答了几句)
1. 老板要跟某工厂合作,到工厂视察,询问了保安工资是否按时发,保洁工资是多少,工厂新旧程度,是否自建,地是否是自己的,工人忙不忙,情绪是否饱满。以此判断该工厂实力是否雄厚,请从技术角度解释这样做是否合理?
2. 听说国外有一款软件,可以预测某地何时发生犯罪,请猜测用的是什么原理?
3. 已知用友越大朋友圈的人,越爱转发和评论,作为运营商,我们该如何鼓励更多的用户转发和评论?是否需要加入其它辅助数据?