新思科技(Synopsys)筆試題目(回憶收集篇)
面試筆試1.67W
網友一:(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.
-
應聘網易筆試失敗記
自新傳體育最終泡湯之後,又接到了網易北京公司的面試通知。簡直比大學聯考還BT,大學聯考遲到15分還可以進入考場。中午12點半出發,到達清華科技園才1點,正好有一些清華的07年畢業生正在搞一個藝術展,就在一邊看了一會,1點半了上樓,前台的GG給了一個來賓胸卡,掛在脖子上。這時候...
-
今天的benq筆試
今天參加了明基的筆試。這個公司是我們學校最近唯一一個大型公司的專場招聘,機會難得,正好還不限專業,一直等它來,今天終於來了。之前我查了好多關於它招聘的內容,大部分都是去年下半年的信息。不知道這回一樣不就先準備着了。明基今天下午2.00在我們學校做的宣講。...
-
聯想筆經
45道選擇題,限時39分鐘答完.....選擇題中:第一部分25道,限時20分鐘,考IQ常見的題目,例如告訴你前面兩個,讓你推第三個.....第二部分12道,限時7分鐘,5個選項讓你根據實際的邏輯排出最佳的順序....第三部分8道,限時12分鐘,都是計算題,有一道很經典的小明回家,爸...
-
中移動實習筆試歸
100題,60min內完成基本上都是國小語文國小數學題。。。最汗的是居然出了什麼病句歧義的東西。。。似乎國小畢業以後就沒怎麼碰過這玩意了~大概用了50min完成了題目填好了答題卡,然後剩下10min檢查前面的東西,居然還改了4題orz後悔的是沒有提早交卷,後面等了將近20m...