最近,終於忙完了學校裏的事,而後準備開始找實習,如今實習也找到了,那就說說我找工做的點點滴滴吧,但願對於初次來北京的小白可能會有些幫助吧php
坐火車來的時候就感覺到好多人來北京,我也第一次買了站票(雖然我也是提早一個星期買的票),在火車上和來北京的老鄉聊天,他們告訴我要作好碰壁的準備,由於北京競爭挺大的,當我跟他們說我投的簡歷有些職位是合適的,卻莫名奇妙的被標記爲不合適,他們說是由於投的人太多了,通常投10份簡歷會有一個面試機會,我投了二十個簡歷有4個面試機會已經不錯了,唉,原來是這樣前端
平生第一次來北京,正好同窗在北京實習,順便接我一下,可是我只有3,4天的時間去找工做(固然這幾天我主要用來面試的,之前早已投了簡歷,和公司已經約了面試),那幾天通常都是在外面跑着面試,在加上北京上班晚,通常中午都不能按時吃飯,可是還好有百度地圖,找起來也方便些。java
第一天 天一星辰linux
九點我準時到的,前臺讓我又從新填寫了一份簡歷,後來又等了一段時間,大約十點左右吧,給了我一份試題讓我作,其中涉及前端,加密算法,數據結構,linux操做,php,c語言,我確定是不全會的,不過沒辦法,只能硬着頭皮去作,哪怕只有一點思路,尤爲對於數據結構,無論怎麼說考研就考的數據結構,對於算法的思想仍是明白的,可是用c寫,早有些忘了,有些甚至是用漢字寫的,linux的題更是不會,前端的題還算簡單吧。程序員
作完之後,人事把我帶到面試的房間,掃了一眼辦公環境,就是那種普通的格子間,還算能夠,正好裏面也坐着一個等面試的男生,跟他聊天才知道,他面試的java,我一看他手裏拿着的試題,跟個人同樣,心想,這怎麼能同樣呢,不一樣的崗位啊,我一看那個男生作的,還沒我寫的多呢,最起碼我還死馬看成活馬醫呢,他連醫都沒醫,這個男生有一年的工做經驗,比我這小白總該強些吧,其中有一個算法題是這樣的面試
i=1;算法
while(i<n)數組
{數據結構
i=i*2;函數
}
求這段代碼的時間複雜度
這個的複雜度應該是O(logn)
由於和那個男生討論了這個題因此對這個題印象深入
結果一會人事說到飯點了,下午面試,我也就只能隨便吃了點,下午一點面試開始
面試官30多歲,微胖,看着很友善,問了一些簡歷上的問題,好比一週有多長時間實習呀,老師讓不讓出來實習呀,說一說簡歷上寫的項目經歷呀,之前在看別人寫面試經歷的時候說不要別人問一句你答一句,要有問有答,我對這一點仍是比較注意的,我問他爲何不一樣的職位作一套題?他說:「基礎的都是同樣的」,另外他還問了一些試卷上的題
好比寫出一個算法用前序遍歷遍歷一棵二叉樹
思路分析:定義一個節點的結構體,其中包括它的值,它的左右節點的指針,而後利用遞歸去完成遍歷
struct BTreeNode{
int data;
Node* left;
Node*right;
};
void printBTree(struct BTreeNode *bt)
{
if(bt != NULL){
printf("%c", bt->data);
}
if(bt->left != NULL )
{
printBTree(bt->left);
}
if(bt->right != NULL)
{
printBTree(bt->right);
}
return;
}
2.對於一個有序數組查找其中的一個元素的位置,不能直接調用函數
我想到的是用折半查找,按着大概寫出來,卻忽略了索引的變更,應該是錯了,整理時發現必須把查找的起始位置做爲參數,應該是下面的樣子了
function halfSearch(arr,num,low,high)
{
if(low<=high)
{
// js中/會獲得小數 例如9/2=4.5
var mid=(low+high)/2;
var mid=parseInt(mid);
if(arr[mid]==num)
{
alert(mid) ;
}else if(arr[mid]>num)
{
halfSearch(arr,num,low,mid-1);
}
else
{
halfSearch(arr,num,mid+1,high);
}
}
return -1;
}
3.銀川有多少加油站?
其實這個問題我在程序員面試攻略這本書上見過,當時只是一掃沒在乎,只是及得要考慮不少客觀因素,例如,銀川的面積,銀川的人口,平均幾我的有一輛車,等等,由於考慮到的因素太多,因此沒作出來,我以爲這種問題就是看一我的的思考方式吧,以爲有點刁難
4.有9個球如出一轍,其中有一個和其餘八個的質量不同,給你一個天平,天平一次能夠稱1個或者幾個,最差幾回能測出?
這個題當時忽略了球的輕重的重要條件,致使最後是五次,想來想去以爲應該是這樣的
將9個球分三組,標號爲1組,2組,3組,1,2組比較最差是不相等,則2,3,比較,若是不等,則2組有問題,而且已經知道那個球是輕仍是重,將2組中的三個球再次劃分爲1,2,3,稱一次便可找出那個質量不同的球,則最差3次找到(若是你們有好的方法,一塊兒交流哈),最好2次找到
5. 有17個球,兩我的來拿,每次能夠拿一個或者兩個,誰拿到最後一個球誰獲勝
這個題當時作的濛濛的,後來想了想應該是這樣,當有3個球的時候(這是規律的最小值),後拿的人確定會贏,17/3=5 餘2,則我先拿2個,剩下的我保持別人拿1個,我拿2個,別人拿1個,我拿2個,保證每一輪都拿走3個,那剩下的確定也是3個,從而保證最後能贏
6.撲克牌遊戲; 兩我的玩撲克,每人抽取三張,已知 A 的牌是 4,5,x B是6,7,y,求A勝B的機率是?(小王,大王分別用14,15代替) 用程序實現(略)
7求100之內的素數
想必這個問題在咱們剛開始接觸C語言的時候就是常作的題
function prime()
{
console.time("計時器");
var arr = [];
for (var i = 1; i <= 100; i++) {
var flag = 1;
for (var j = 2; j <= Math.sqrt(i); j++) {//取平方但是增長運行速度
if (i % j == 0) {
flag = 0;
break;
}
}
if (flag == 1) {
arr.push(i);
}
}
document.write(arr);
console.timeEnd("計時器");}