轉自 http://www.aiuxian.com/article/p-2315171.html
下午剛參加完騰訊實習生招聘的筆試,投的是基礎研究崗,題目和我想象的還是差挺多,基本都是數學類題目+部分智力題,沒有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. 已知用友越大朋友圈的人,越愛轉發和評論,作爲運營商,我們該如何鼓勵更多的用戶轉發和評論?是否需要加入其它輔助數據?