新思科技(Synopsys)笔试题目
面试笔试2.02W
网友一:(2004)
今天Synopsys笔试内容大致如下,有一题想不起来了,大家帮忙回忆:
1.说出指针和引用的区别。
2.说下深度优先遍历和广度优先遍历区别。
3.C++语法错误判断。这题很有趣,我记下了,贴出来大家看看:)
class base{
private:int i;
public: base(int x){i=x;}
};
class derived: public base{
private:int i;
public: derived(int x, int y) {i=x;}
void printTotal() {int total = i+base::i;}
};
4.实现strcpy函数。
5.编程判断字符串是否对称。如:ABCCBA对称,ABCDBA就不对称。
6.1,2,5,10四个基数任意次数组合相加得到一个数N,求所有可能组合。
7.二叉树前序遍历得到表达式。
8.题目意思不是很明白,可能是推出产生式的意思吧。
9.用尽可能多的方法来表示数组a[2][3]里第一个元素的地址。
cout << (int)&a[0][0] << endl;
cout << (int)&a[0] << endl;
cout << (int)a << endl;
10.循环链表的节点对换和删除。
表实现。
网友二:(2005)
1.给出指针的数据类型
t (**p)[10]
le *(*p)[10]
c.记不清了,大概是 char *(*p)()之类的
*((*p)[10])
2.给出进程间通信的方法
管道
Socket通信
信号
共享内存
消息队列
3.给出程序执行结果
a void func(char **p, int num)
{
*p = malloc(num);
}
main()
{
char *p=NULL;
func(&p, 100);
strcpy(p,”blabla”);
printf(”%s”,p);
free(p);
}
blabla
b main()
{
char *p=NULL;
p = malloc(100);
strcpy(p,”blabla”);
free(p);
printf(”%s”,p);
}
有可能是乱码
4.
a.一个正整数序列,值最大不超过K,没有重复项,给出排序算法
b.如果有重复项,需要对排序算法做何改动
c.证明算法最坏情况下复杂度为O(N)
d.给出算法的空间复杂度
基数排序
5.给出二叉树中序遍历算法,包括数据结构和函数实现
6.设计一个model,满足下列条件
a.分为test group 和develop group两部分
lop group是test group的3倍
c.要求能够并行处理,比如develop 2nd的时候,可以test 1st
d.任何形式的设计都可以
7.描述多线程程序的并行处理
=y y(0)=1 求 x=0.4
a.h=0.2 h=0.1 分别计算y(0.4)
b.根据误差和h成正比的公式,计算出h=0时的y(0.4)
c.要达到和b同等精度,需要迭代计算多少次(?)
9.比较两套程序写法哪个好,为什么
a
(1) for(i=1;i<k;i++)
{
a = i + b + c * j;
printf(”%d”,a);
}
(2) a = b + c * j;
for(i=1;i<k;i++)
{
printf(”%d”,a+i);
}
2号,减少了不必要的步骤
b char a
(1) if(a==’A') ….
(2) if(’A'==a) ….
2号,减少出错(误把==写成=)概率
10.给出表达式的树结构表示 black=red+green×7+blue.
今天Synopsys笔试内容大致如下,有一题想不起来了,大家帮忙回忆:
1.说出指针和引用的区别。
2.说下深度优先遍历和广度优先遍历区别。
3.C++语法错误判断。这题很有趣,我记下了,贴出来大家看看:)
class base{
private:int i;
public: base(int x){i=x;}
};
class derived: public base{
private:int i;
public: derived(int x, int y) {i=x;}
void printTotal() {int total = i+base::i;}
};
4.实现strcpy函数。
5.编程判断字符串是否对称。如:ABCCBA对称,ABCDBA就不对称。
6.1,2,5,10四个基数任意次数组合相加得到一个数N,求所有可能组合。
7.二叉树前序遍历得到表达式。
8.题目意思不是很明白,可能是推出产生式的意思吧。
9.用尽可能多的方法来表示数组a[2][3]里第一个元素的地址。
cout << (int)&a[0][0] << endl;
cout << (int)&a[0] << endl;
cout << (int)a << endl;
10.循环链表的节点对换和删除。
表实现。
网友二:(2005)
1.给出指针的数据类型
t (**p)[10]
le *(*p)[10]
c.记不清了,大概是 char *(*p)()之类的
*((*p)[10])
2.给出进程间通信的方法
管道
Socket通信
信号
共享内存
消息队列
3.给出程序执行结果
a void func(char **p, int num)
{
*p = malloc(num);
}
main()
{
char *p=NULL;
func(&p, 100);
strcpy(p,”blabla”);
printf(”%s”,p);
free(p);
}
blabla
b main()
{
char *p=NULL;
p = malloc(100);
strcpy(p,”blabla”);
free(p);
printf(”%s”,p);
}
有可能是乱码
4.
a.一个正整数序列,值最大不超过K,没有重复项,给出排序算法
b.如果有重复项,需要对排序算法做何改动
c.证明算法最坏情况下复杂度为O(N)
d.给出算法的空间复杂度
基数排序
5.给出二叉树中序遍历算法,包括数据结构和函数实现
6.设计一个model,满足下列条件
a.分为test group 和develop group两部分
lop group是test group的3倍
c.要求能够并行处理,比如develop 2nd的时候,可以test 1st
d.任何形式的设计都可以
7.描述多线程程序的并行处理
=y y(0)=1 求 x=0.4
a.h=0.2 h=0.1 分别计算y(0.4)
b.根据误差和h成正比的公式,计算出h=0时的y(0.4)
c.要达到和b同等精度,需要迭代计算多少次(?)
9.比较两套程序写法哪个好,为什么
a
(1) for(i=1;i<k;i++)
{
a = i + b + c * j;
printf(”%d”,a);
}
(2) a = b + c * j;
for(i=1;i<k;i++)
{
printf(”%d”,a+i);
}
2号,减少了不必要的步骤
b char a
(1) if(a==’A') ….
(2) if(’A'==a) ….
2号,减少出错(误把==写成=)概率
10.给出表达式的树结构表示 black=red+green×7+blue.
-
盛大笔经(经历而不是经验)
1)发卷子速度慢。。。恩2)公共卷是些逻辑,填数列,图形填空什么的iq题,难度一般(我就前两个数列题卡住了。。。0,10,24,68,?)==3)游戏软件工程师的专业题有些选做题是分两个方向的,要么选做socket要么选directx,想都不用想就选了前者=.=题目难度还可以,就是有些指针,内存...
-
中移动实习笔试归
100题,60min内完成基本上都是国小语文国小数学题。。。最汗的是居然出了什么病句歧义的东西。。。似乎国小毕业以后就没怎么碰过这玩意了~大概用了50min完成了题目填好了答题卡,然后剩下10min检查前面的东西,居然还改了4题orz后悔的是没有提早交卷,后面等了将近20m...
-
欧司朗笔试因祸得福
欧司朗笔试题目要求一小时搞定,主要包括:英语题目,专业题考什么是光电效应,LED发光的原因,还有几道画图的。都是电子的基础题吧,可是我都不会做,唉!谁叫我过去不努力呢!胡乱写些就过去了。前后不到10分钟,然后就是问答题,英语回答,英语提问。第一题是中译英,顺便跟自己做下...
-
2006年11月创维笔试经历
前天刚把上篇日志发完,就收到创维笔试通知。不知道他怎么会通过我的,记得面试时我只讲了5、6分钟,而别人有的进去十几分钟。他问的都是些简单的问题——一开始问家庭情况,不知道这个为什么对他们这么重要。然后就问我对创维的看法是什么,我当然说好了。再...