这个实习都是发生在去年的事情了,大概是12月中旬的时候参加的面试。 回想起来一些面试中出现的问题,就分享一下问题和解题思路,希望给准备找工作的同学多一些题目上的帮助吧。1. 闲聊
2. 语言题:
C++:有点记不清了,大概有如下题目:
1. 说说静态成员函数,普通成员函数各自的特点。
2. 静态成员函数的访问特性,例如可否访问普通成员数据等
3. inline 和 #define 区别3. OS
死锁的几个条件4.写代码题
1. 在一个数组中,其中有一个数字是值的个数,超过了数组大小的一半,问如何能在O(n)的运行时间找到这个数,空间是O(1)
分析: 这里我们可以用一个计数器,就能把这个问题搞定,计数器的原理是说:首先初始化,记录第一个数的值,并且初始化次数是1, 在扫描的过程中,如果当前值与记录的数不相同,就更新记录数字,并且初始化出现此时是1.
其实这个过程相当于用特定的数字,和其他数字做抵消。并且特定数字的数目大于数组一半,所以最后一定能找到这个数字。int FindNum(int a[], int size)
{
int val, count;
val = a[0];
count = 1;
for( int i = 1; i < size; i++)
{
if(a[i] != val)
{
count--;
}
else
{
count++;
}
if(count == 0)
{
count = 1;
val = a[i];
}
}
return val;
}2. 不用递归写出树的中根遍历。
这个问题已经是很经典很经典的面试题了struct TreeNode
{
int data;
TreeNode* pLeft;
TreeNode* pRight;
};
void InOrder(TreeNode *pRoot)
{
stack<TreeNode*> s;
while(pRoot || !s.empty())
{
if(pRoot)
{
s.push(pRoot);
pRoot = pRoot->pLeft;
}
else
{
pRoot = s.top();
s.pop();
visit(pRoot );
pRoot = pRoot ->pRight;
}
}
}现在回忆起来还是很简单的,当时因为没有做过任何面试题和复习数据结构,所以面的很水。所以我感觉IT面试还真需要特别的准备,否则容易败的很惨~即使做过再牛逼的东西,面试的时候表现的很水,雇主就会有不雇佣你的理由。 2012搜狗校园招聘笔试题百度面试题——需找下一个排列(Find next permuation, POJ 1883)相关资讯 互联网 网易面试题 网易
- 30亿网民坐稳啦!互联网之门将要换 (今 06:51)
- 互联网迎来“独立日”? (03月21日)
- 互联网让我们变聪明了? (11/13/2015 07:53:43)
| - 互联网从开放走向封闭 (06月20日)
- 全球首个互联网网页上线 25 周年 (12/21/2015 13:40:02)
- 古巴的Netflix、Hulu和Spotify不在 (09/28/2015 07:00:59)
|
本文评论 查看全部评论 (0)