今天去微创笔试面试了,分享题目

edwin_lin126 2006-05-20 07:27:31
2006年5月20日
参加微创的笔试面试
威海路755号 文新报业大厦40层,2号线石门一路下(4号口)。
在40层做笔试的感觉:一览众山下,心情豁达开朗 :>

职位:高级软件工程师

3点到4点 笔试(共两题)
1.有一个整数数组,例如:1,2,3
请编写一个函数,得到构成三角形的个数,并将这些三角形打印出来。

2.已知链表的头指针,如何判断该链表是循环链表。
解释:由1,2,3,2这四个节点构成的链表就称为循环链表

按时完成笔试,
感觉第2题做得比较好,
a>找最简单一个循环链表,即自己指向自己
b>用一个递归函数实现recrusion(Node* head)

第1题:
a>找规则,两边之和大于第三边
...全文
1118 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
snailbreak 2006-05-27
  • 打赏
  • 举报
回复
bool check_circ_list(CirList* Head)
{
CirList *p,*q;
p=Head;
q = Head->link;

while(p && q)
{
if(p==q)
return true;//has loop
p=p->link;
q=q->link->link;//modify
}

return false;//no loop
}
snailbreak 2006-05-27
  • 打赏
  • 举报
回复
bool check_circ_list(CirList* Head)
{
CirList *p,*q;
p=Head;
q = Head->link;

while(p && q)
{
if(p==q)
return true;//has loop
p=p->link;
q=q->link;
}

return false;//no loop
}
Cybergate 2006-05-26
  • 打赏
  • 举报
回复
细节不要忽略了。数组又没说都是不同元素,如果人家给个3 3 3 4 5, 楼上的程序全部会重复输出三个3 4 5,还有三个3 3 4。。。。。。

gemenhao 2006-05-23
  • 打赏
  • 举报
回复
//这个测试正确了
#include <algorithm>
#include <cstdlib>
#include <ctime>
using namespace std;

void make_triangle(int e[], int n)
{
int num = 0;
sort(e, e + n);
for (int i = 0; i < n - 2 ; i++)
for (int j = i+1; j < n - 1; j++)
for (int k = j+1; k < n; k++)
{
if (e[j] + e[i] > e[k])
printf("case %d:%d,%d,%d\n",++num, e[i],e[j],e[k]);
else
break;
}
}

int main()
{
srand(time(0));
int n = rand() % 10 + 3;
int *e = new int[n];
for (int i = 0; i < n; i++)
e[i] = abs(rand()) %100;
make_triangle(e,n);
delete e;
return 0;
}
case 1:36,63,71
case 2:36,63,76
case 3:36,63,78
case 4:36,63,82
case 5:36,63,84
case 6:36,63,93
case 7:36,71,76
case 8:36,71,78
case 9:36,71,82
case 10:36,71,84
case 11:36,71,93
case 12:36,76,78
case 13:36,76,82
case 14:36,76,84
case 15:36,76,93
case 16:36,78,82
case 17:36,78,84
case 18:36,78,93
case 19:36,82,84
case 20:36,82,93
case 21:36,84,93
case 22:63,71,76
case 23:63,71,78
case 24:63,71,82
case 25:63,71,84
case 26:63,71,93
case 27:63,76,78
case 28:63,76,82
case 29:63,76,84
case 30:63,76,93
case 31:63,78,82
case 32:63,78,84
case 33:63,78,93
case 34:63,82,84
case 35:63,82,93
case 36:63,84,93
case 37:71,76,78
case 38:71,76,82
case 39:71,76,84
case 40:71,76,93
case 41:71,78,82
case 42:71,78,84
case 43:71,78,93
case 44:71,82,84
case 45:71,82,93
case 46:71,84,93
case 47:76,78,82
case 48:76,78,84
case 49:76,78,93
case 50:76,82,84
case 51:76,82,93
case 52:76,84,93
case 53:78,82,84
case 54:78,82,93
case 55:78,84,93
case 56:82,84,93
lj860603 2006-05-23
  • 打赏
  • 举报
回复
To: lj860603(键键)

想法是对的,不过看错了公司哦: 微创 。。。

---------------

晕,对啊,呵呵,看错了。不过还是祝贺LZ。
gemenhao 2006-05-23
  • 打赏
  • 举报
回复
//第一题,排序是必要的
#include <algorithm>
#include <cstdlib>
#include <ctime>
using namespace std;

int make_triangle(int e[], int n)
{
int num = 0;
sort(e, e + n);
for (int i = 0; i < n; ++i)
for (int j = i; j < n; ++j)
for (int k = j; k < n; ++k)
{
if (e[j] + e[i] < e[k])
{
++num;
printf("%d,%d,%d\n", e[i],e[j],e[k]);
}
else
break;
}
return num;
}

int main()
{
srand(time(NULL));
int n = rand() % 1000 + 1;
int *e = new int[n];
for (int i = 0; i < n; i++)
e[i] = abs(rand()) %1000;
make_triangle(e,n);
delete e;
return 0;
}
chenhu_doc 2006-05-23
  • 打赏
  • 举报
回复
To: lj860603(键键)

想法是对的,不过看错了公司哦: 微创 。。。

我想microsoft....
lj860603 2006-05-23
  • 打赏
  • 举报
回复
个人感觉微软的面试题不难,感觉微软考的最大目的不是看能不能做出来,而是有另外标准,例如:代码格式、思维方式等。
HopeInDark 2006-05-23
  • 打赏
  • 举报
回复
m
edwin_lin126 2006-05-22
  • 打赏
  • 举报
回复
希望大家能像xl5338870(xlix)/duduhaha(三人行必有我师) /province_(雍昊)等同志学习,大家在这个平台上一起探讨。
province_ 2006-05-22
  • 打赏
  • 举报
回复
没必要排序吧,这题其实就是考你从N个元素里取三个元素的所有组合么,再加三角形三边关系判断。而且你的b+c>a && a-c<b其实不就是一个东西吗?^_^
p2 = p2 ? p2->next : NULL;那就直接p2=p2->next好了。
但是我还是不明白,你只是前后节点比较就能得出是否循环?尾节点指回了头(比如说)节点,你就判断不出了吧。
MorningTea 2006-05-21
  • 打赏
  • 举报
回复
恭喜,微创是不是做微软的外包,听网友说过

感觉笔试过了,其他好说
yuanchuang 2006-05-21
  • 打赏
  • 举报
回复
shanzhongyufu(山中渔夫) ( ) 信誉:100 2006-05-21 11:06:00 得分: 0


hxyman(自由不自在) ( ) 信誉:100 2006-05-21 10:28:00 得分: 0


呵呵,恭喜,我看错了,以为是微软...


我也是,呵呵
--------
me too!
billmo1986 2006-05-21
  • 打赏
  • 举报
回复
一个小时内作出来还是有难度的呀
wumingchenchao 2006-05-21
  • 打赏
  • 举报
回复
恭喜啊
shanzhongyufu 2006-05-21
  • 打赏
  • 举报
回复
hxyman(自由不自在) ( ) 信誉:100 2006-05-21 10:28:00 得分: 0


呵呵,恭喜,我看错了,以为是微软...


我也是,呵呵
diedknight 2006-05-21
  • 打赏
  • 举报
回复
恭喜LZ咯
hxyman 2006-05-21
  • 打赏
  • 举报
回复
呵呵,恭喜,我看错了,以为是微软...
liusujian02 2006-05-21
  • 打赏
  • 举报
回复
收藏一下
jixingzhong 2006-05-21
  • 打赏
  • 举报
回复
没听过 微创 ...
不过还是恭喜楼主先 ^_^
加载更多回复(11)
C++笔试题 Sony笔试题 几道题目及自做答案 北电 普天C++笔试题 我所收集的intel比试题 面试题 2005年腾讯招聘 微软 微软亚洲技术支持中心面试题目 微创笔试题目微创,微软在中国的合资公司) Intel笔试面试题目 IBM 社会招聘笔试题 宝洁公司(P&G)面试题目 飞利浦笔试试题 阿尔卡特(中国)的面试题目 Google 戴尔 意法半导体软件试题 Sony笔试题 华为笔试题 华为 华为全套完整试题 慧通 华为面试题 大唐电信 大唐面试试题 网通笔试题 东信笔试题目 中软融鑫笔试题 Delphi笔试题目 EE笔试试题 软件笔试题 Hongkong Bank笔试题 A.T. Keaney笔试题 Shell company笔试题 KPMG笔试题 香港电信笔试题 LORAL的笔试题 维尔VERITAS软件笔试题 百威啤酒(武汉公司) 星巴克 凹凸电子软件笔试题 友立资讯笔试题目 Avant! 微电子EE笔试题 德勤笔试题 扬智(科技)笔试题目 高通笔试题 威盛笔试试题 2003 EE笔试题目 2003 Graphic笔试题目 汉王笔试题 北京信威通信技术股份有限公司面试题 中国国际金融有限公司CICC笔试题 国泰君安笔试题 广东北电面试题目 广州本田笔试题 明基面试问题 网易 广州日报 下面有些题也不错,可以参考 联想笔试题 普天C++笔试题 Sony笔试题 微软亚洲技术中心的面试题 MSRA Interview Written Exam(December 2003,Time:2.5 Hours) 百度笔试题 汉略曾考的测试题目 16道C语言面试题例子 死循环(Infinite loops) 数据声明(Data declarations) 位操作(Bit manipulation) 访问固定的内存位置(Accessing fixed memory locations) 中断(Interrupts) 代码例子(Code examples) 13. 评价下面的代码片断 动态内存分配(Dynamic memory allocation) 群硕笔试 基础题 笔试博朗 - [笔试 职业] C语言面试题大汇总 思科 慧通 雅虎笔试题(字符串操作) C语言最长平台算法 华为3COM C语言题库 将两个无序数组合并为有序链表 上海聚力传媒技术有限公司官方VC笔试题解答

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧