最近,终于忙完了学校里的事,而后准备开始找实习,如今实习也找到了,那就说说我找工做的点点滴滴吧,但愿对于初次来北京的小白可能会有些帮助吧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("计时器");}