深信服2023年實習生校園招聘總結

2021-07-24 14:46:25 字數 3554 閱讀 1078

參加了深信服2018屆實習生的筆試,面試,順利拿到offer,下面記錄一下自己在這次筆試和面試的一下問題,題目很基礎,但是是多選題,非常容易出錯,及其考驗基本功。

1下面**能輸出hell的是:

a.char buf[4]="hell";

b.char buf="hell";

c.char buf[8]=0;memcpy(buf,"hello",strlen("hell"));

d.char buf[4];strcpy(buf,"hell");

//答案bc,因為ad的記憶體分配不過,出現錯誤

2.簡單略。

3 .下面**的執行結果:

這裡注意乙個巨集定義的函式功能,他傳進去的arr是陣列的指標,因此此題有解,而不是執行錯誤,本題答案為2。

#include

using

namespace

std;

#define add(arr,cnt) \

do \

}while(0) //只會執行一次迴圈

int main();

//cout << arr[1][1] << arr[1][0] << endl;

int i, ret = 0;

for (i = 0; i < 2; i++)

add(arr[i], 2);

printf("%d", ret);

}

4.下**執行結果

因此錯誤

1.struct t = ;printf("%d", t.a/t.b);

//a為初始化,錯誤

2.void func()

//靜態區域性變化自動初始化為0,

3.void func()

//全域性變數初始化為0

4.int a;

void func()

5.下面**輸出結果

#include

using

namespace

std;

int main()

解析:i1為負數,i2為正數,c中的右移為算數右移,因此i1應為oxf80000,i2為0x78000000。

6.過於簡單略

7.下面**輸出結果是:

#include

using

namespace

std;

int main()

解析:有符號的char型別十六進製制0xff,轉成int要進行符號擴充套件成0xffffffff,因此為-1。宣告成無符號-1,0xff,轉成255,轉成int後為255,i3=4,很簡單。

8.簡單略。

9.下面**輸出結果是:

#include

using namespace std;

int main();

int*p = a[1];

//cout

<< *(p++) << endl; //

3 //cout << *p++ << endl; //

3int(*q)[2] = &a[1];

printf("%d,%d,%d", *++p, q[0][0], q[1][2]);

}

解析:依次輸出4,3,7,int(*q)[2] = &a[1];比較疑惑q[1][2]=7,本來以為會出錯的,這裡注意q是乙個陣列指標。

11.32位x86,下面輸出結果為:

#include 

using

namespace

std;

int main()

分別輸出為4,3,6。

注意什麼時候陣列會退化成指標,比如如果將陣列作為形參傳入乙個函式是,其將退化成指標。

12.下面**輸出結果:

#include 

using

namespace

std;

int get(int val)

int main()

解析:*1. 注意到宣告的型別為static,因此編譯器會自動的初始化s1=0,2. s1的值只宣告一次,一旦被修改其不會重新賦值為0,因此本題一次輸出:1,3,3*。

13. 在32位x86平台,下面**輸出結果:

#include 

using

namespace

std;

struct a = ;

int main()

解析:這裡a是全域性的變數,因此a.val1=1,a.val2=0,而p指向的是a.val1,因此分別輸出2,0.

14:32位x86,4位元組對齊,下面**的輸出結果為:

#include 

#pragma pack(4)

using

namespace

std;

union uni s1;

structs2;

};int main()

解析:首先要明白的是共用體的特性,這裡sizeof(u)=8,指標p指向的是共用體的初始位址,這個位址可以使s1.n3或者s2.n4,因此如果改變了p所指向位址的值,那麼將會同時改變,他們兩個的值。

因此本題,輸出的結果為:4,4,3

15. 下面哪些演算法不能保證得到最優解(當存在解的時候):

a.digikstra演算法

b.floyd演算法

c.貪婪演算法

d.遺傳演算法

此題,眾所周知貪婪不一定得到最優解的,經查閱資料認為,遺傳演算法也不一定能得到最優解,因此,我個人認為此題應為cd(如有錯誤,歡迎指正).

16. 有一顆二叉樹,其前序遍歷為abcdefg,可能的中序遍歷有:

a. abcdefg

b. gfedcba

c. gabcdef

d. cdefbag

解析:此題不難,需要注意的是兩種遍歷之間的關係,此題選擇abd

深信服實習生筆試題 20190315

好久沒寫程式設計題了,手生的厲害,記錄一下。首先做的第二題,比較簡單,ac。題目要求 比較簡單,用結構體記錄前後數字區間,按照start排序,當start相同時,按照end排序。然後迴圈合併即可。測試用例 438 3746 7953 8374 6791000 110040 13710 1189 vi...

深信服2008校園招聘筆試題

1 變數和值的儲存位置 堆 棧 段 資料段等 2 sizeof struct d sizeof d 為什麼在不同的平台上得到的值不一樣?3 找規律 21 2 1 1 1 2 3 1 1 2 1 3 1 1 2 問下一行應該填什麼?為什麼?4 linux redhat 的啟動順序?5 c 中虛函式如何...

記深信服2018秋季校園招聘 技術服務工程師

筆者本科就讀於山東某一本院校,考研期間閒來無事,在2018年9月23日 24兩天參加並通過了深信服的校園招聘,所投崗位是技術服務工程師。因為之前參加了深信服的比賽拿了綠卡,所以免除了筆試環節。不過聽說深信服的筆試題難度不小,但是刷人不多,基本都可以過。9.23日上午群面,9.30的場次一共十個人,分...