600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 新思科技(Synopsys)笔试题目

新思科技(Synopsys)笔试题目

时间:2020-03-17 12:38:36

相关推荐

新思科技(Synopsys)笔试题目

网友一:()

今天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.循环链表的节点对换和删除。

11.hash表实现。

网友二:()

1.给出指针的数据类型

a.float (**p)[10]

b.double *(*p)[10]

c.记不清了,大概是 char *(*p)()之类的

d.int *((*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两部分

b.develop group是test group的3倍

c.要求能够并行处理,比如develop 2nd的时候,可以test 1st

d.任何形式的设计都可以

7.描述多线程程序的并行处理

8.dy/dx=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.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。