2019騰訊實習筆試題部分記錄+兩次電話面試筆記
第一題:有n層的一座塔,跳塔
有n層的一座塔,每層高度不一樣,現在小Q去爬塔,有如下特性:他爬塔的速度恆定,也就是說爬每一層的用時和這一層的高度成正比。但是他有一個能力:他可以有一種魔法,這個魔法可以跳過一層或者兩層塔,但是每跳躍一次,都要停下來爬至少一層才能繼續跳躍。需要你規劃出一條方案,讓他能夠最短的時間爬到塔頂(最後如果跳躍,可以選擇越過塔頂,也就是說如果最後倒數第二層是走完的,直接跳到頂就完事了)
輸入:兩行資料,第一行:塔層數;第二行,每層高度,用空格隔開。如:
4
2 5 2 6
輸出:總計用時
思路:最優路徑問題一直是個難題,拿到題的第一反應就是用遞迴或者Huffman樹的思路求解。貪心法是不合適的,因為貪心法不能保證最優解。想到了一種暴力測試的方法:根據每層的順序構造二叉樹,每層都可以選擇跳或者不跳,分別對應左右子樹。最終得到層數為n的滿二叉樹。從頂到底的搜尋過程對應著一條路徑,這個滿二叉樹不是所有分支都是合題意的,所以根據規則:連續跳躍的層數不得超過2,也就是連續兩層的跳躍可以看做一次跳躍。這樣就可以砍掉一些分支。然後遍歷一遍從根節點到葉子結點,每次遍歷都是一個方案路徑的實現,這樣就窮舉出來了所有的可能方案,遍歷過程計算“爬”的長度。
PS:第一階段構造樹、第二階段砍掉不必要分支、第三階段遍歷計算、最後查詢最小值。後續可以把構造樹和砍掉分支的操作合併到一起去,可以提高演算法執行效率。想到解法的時候沒時間了,算了放棄。後續有空寫出來(但是應該是沒空)
第二題:沒看懂題,就是黑白格數格子,忘了
第三題:約瑟夫環
小Q有n張牌,分別是1~n;現在要把第一張牌放到最底下然後再把頂層的牌拿開,直到只剩一張。求拿開牌的順序。
(我基本沒做過什麼筆試面試題,湊巧我知道這個題)
int main(int argc, _TCHAR* argv[])
{
int num = 0;
cin >> num;
queue<int> q;
vector<int> out;
for (int i = 0; i < num; i++) {
q.push(i+1);
}
while (q.size() > 1) {
out.push_back(q.front());
q.pop();
if (q.size() != 1)
{
q.push(q.front());
q.pop();
} else {
break;
}
}
out.push_back(q.front());
for (int i = 0; i < out.size(); i++) {
printf("%d ", out[i]);
}
return 0;
}
第三題:2019年3月19日08:56:15幹活了,題目描述以後再寫,看下面就知道要做什麼了
void answer(vector<vector<int>> vec, int num_i, int min_, int& ans, int& idx) {
ans = min_;
for (int i = 0; i < num_i; i++) {
for (int j = 0; j < num_i; j++) {
if (vec[i][j] < ans && vec[i][j] >= 0) {
ans = vec[i][j];
idx = i;
}
}
}
}
int main() {
int n;
double num;
vector<vector<int>> vec;
cin >> n;
vector<int> nums;
for (int i = 0; i < n; i++) {
double num;
cin >> num;
nums.push_back(num);
}
for (int i = 0; i < n; i++) {
vector<int> sub;
for (int j = 0; j < n; j++) {
sub.push_back(-1);
}
vec.push_back(sub);
}
for (int i = 0; i < vec.size(); i++) {
for (int j = i+1; j < n; j++) {
vec[i][j] = abs(nums[i] - nums[j]);
}
}
int min_ = -1;
for (int i = 0; i < n; i++) {
if (nums[i] > min_)
min_ = nums[i];
}
for (int i = 2; i <= n; i++) {
int ans;
int idx;
answer(vec, i, min_, ans, idx);
printf("%d %d\n", ans, nums[idx]);
}
return 0;
}
第一次電話面試筆記
這個環節講道理不該講的,但是我還是貼出來給其他人蔘考吧。
自我感覺筆試是很爛的,因為最近忙著準備文章進度跟蹤和開題材料的準備。(插一句:筆者普通本科計算機專業(重點院校的同學們請不要秀優越感,謝謝),碩士讀光學,從事三維測量、三維重建、影像處理的研究,最近沉迷深度學習不能自拔)
收到面試邀請我是很意外的,因為最近一直在看書,程式設計手生了,而且裸考(我不管考啥都是裸考),筆試做的很爛,投的技術研究TEG-計算機視覺,14:1的報錄比。於是乎約定當晚7點半進行電話面試。
開始:我主動問了下面試一般視場,如果時間緊我就長話短說,電話那頭(不知道是不是HR)說:一般20~30分鐘(最終我面了38分鐘。。),但是沒有具體的時間限制。讓我自我介紹,我內心:????我簡歷不是都有咩?不知道為啥據說所有HR都喜歡來這麼一套,我就挑重點把老本行+現在專業+主攻方向說了說。我還順便提了下我的愛好:攝影,插一句:雖然我窮,但是還是喜歡攝影。然後讓我說一下我簡歷裡那麼多實踐經驗,挑一個最深刻的,我:動車庫檢機器人專案,畢竟是我研究生階段的主要工作。。一套裝置一百萬呢(雖然鐵路上幾千萬的裝置很常見),於是乎一通描述,大概描述了一下 現階段都是結構光、TOF、雙目…反正都是三角測量原理,
實踐專案過程中,印象最深的一次經歷,也就是理論和實踐發現不一樣的時候怎麼解決,說一個就行。那就很多了,我就剎不住了。
專案實踐過程中遇到問題怎麼定位問題並且解決。其實說真的,沒有固定的方法,真讓我說方法我也就只能說一些簡單的,遇到的問題五花八門,而且根源也都不一樣,有些是機械的鍋有些是電氣的鍋有些是軟體的鍋,反正我們做演算法的沒有鍋,有鍋也不承認(手動狗頭)。
你有一篇文章:動態構造二叉樹…講一下主要做了些什麼,為什麼要這麼做?
背景:balabala,所以從Huffman樹得到啟發…就可以儘量…然後達到這個效果。這麼做的原因很單純:當初學C++學OpenCV時候光學不練非好漢 ,就把這個實現了,練練手,然後順便投了一篇文章(而且和我課題無關,學校還不認。小聲bibi)
有沒有了解貼圖、手機美顏之類的
有,感覺挺好玩,之前自己做過一點。語義分割然後貼圖。
我們其實 不光有遊戲、社交這些業務,也有自動駕駛的研究 ,除了你們用的工業相機外,有沒有了解過手機相機、攝像頭這些在自動駕駛、AR、VR上的應用。
有啊,不過手機這種攝像頭和我們用的工業相機不一樣。。。之前有自己嘗試過做手機相機的標定,然後發現。。。etc
你對自己工作的要求是什麼:我對計算機視覺比較感興趣,也對手機相機感興趣,所以想做和手機相機或者計算機視覺、影像處理相關的工作。
後來接到一個電話,希望我去深圳總部現場面試,問有沒有時間。我看,有戲啊。但是比較忙,於是乎只能等安排再來一次電話面或者視訊面。
第二次電話面試
是一個做移動客戶端的大哥。告訴我上一個面我的是做計算機視覺的大哥。我看我後臺簡歷投遞已經變成了移動客戶端開發。這次面試算是比較失敗的。所以就只是簡單說下感想:裸考的壞處,資料結構長時間不碰忘了,只是都還有印象,概念都忘了。這位大兄弟建議我跟著做客戶端,他的團隊也有做視覺最後轉過去的。
說:當前計算機視覺競爭很激烈,剛才才面過一個也是做這方面的,國內如果想做這個還是最好是一些大的實驗室。問我是不是能接受做客戶端。我:我知道我現在的水平做計算機視覺可能能力不夠,但是我比較喜歡這個東西,所以我希望做手機影像相關的工作可以不脫離這個領域,會慢慢努力,希望在這個領域有些進步。手機客戶端之前做過一些(一週),感覺如果只是拖UI拽控制元件的話,可能我做不下去。這位大哥安慰我:…其實面試已經結束了,我們總希望自己的工作能夠和公司的需求能夠match,但是這種情況是可遇不可求的。更多的情況是你自己做出取捨去滿足公司的需求,我的團隊就有幾個…所以,繼續加油。
說實話,突然覺得鵝廠的人挺暖的。
相關文章
- 筆記:記錄一次面試筆記面試
- 前端筆試題面試題記錄前端筆試面試題
- 記一次面試筆試題面試筆試
- 前端筆試題面試題記錄(下)前端筆試面試題
- [面試] 記錄一次來自 bigo 的電話面試面試Go
- 4.21 阿里電話面試問題記錄阿里面試
- 騰訊社招筆面試題面試題
- 騰訊電話面試面試
- 前端筆試題面試題記錄(上)| 掘金技術徵文前端筆試面試題
- 記錄一次面試題面試題
- 騰訊往屆筆試面試題整理大全筆試面試題
- 記錄一次測開面試題記錄面試題
- 騰訊社招iOS面試記錄iOS面試
- 記錄一次失敗的騰訊前端實習生電面前端
- 記錄一次螞蟻金服前端電話面試前端面試
- 面試問題記錄 一 (基礎部分)面試
- 筆試記錄集筆試
- 騰訊技術崗位筆試&面試題(一)筆試面試題
- 騰訊技術崗位筆試&面試題(二)筆試面試題
- 騰訊筆試題集筆試
- Android面試筆記Android面試筆記
- 筆記:面試 - css筆記面試CSS
- 筆記:面試 - React筆記面試React
- 筆記:面試 - Vue筆記面試Vue
- 面試題記錄面試題
- 記錄騰訊 2018 春季實習生校招面試經歷(Offer)面試
- 騰訊雲使用筆記一: 騰訊雲重灌記錄筆記
- 一次電話面試題面試題
- 新筆記 python 面試筆記Python面試
- 記錄一次騰訊Go開發崗位面試經過Go面試
- 騰訊研發類筆試面試試題及答案(C++方向)筆試面試C++
- 記錄近期面試題,面試總結面試題
- 2017騰訊Web前端實習生招聘筆試題總結Web前端筆試
- 記一次面試試題(一)面試
- 記2019的一次面試面試
- html&css面試筆記HTMLCSS面試筆記
- 2018Android面試筆記Android面試筆記
- 記一次阿里電話面試| 掘金技術徵文阿里面試