網站首頁 實用文 書信 面試 實習 實習報告 職場 職責 勵志 名言 熱點
當前位置:人人簡歷網 > 面試 > 面試筆試

新思科技(Synopsys)筆試題目(回憶收集篇)

欄目: 面試筆試 / 發佈於: / 人氣:1.63W
新思科技(Synopsys)筆試題目(回憶收集篇)
網友一:(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.