作為一名嵌入式工程師,要想找到一份心滿意足的工作除了自己掌握一定的技術之外,還有一點就是在面試之前一定要準備充足的面試題。今天華清遠見的高級講師就為大家分享一些嵌入式基礎面試題,讓你在以后的面試中應付自如。
1、“引用”與多態的關系?
A 兩者沒有關系
B 引用可以作為產生多態效果的手段
C 一個基類的引用不可以指向它的派生類實例
D 以上都不正確
2、list是一個ArrayList的對象,哪個選項的代碼填到//todo delete處,可以在Iterator遍歷的過程中正確并安全的刪除一個list中保存的對象?()
Iterator it = list.iterator();
int index = 0;
while (it.hasNext())
{
Object obj = it.next();
if (needDelete(obj)) //needDelete返回boolean,決定是否要刪除
{
//todo delete
}
index ++;
}
A it.remove();
B list.remove(obj);
C list.remove(index);
D list.remove(obj,index);
3、線性表L=(a1,a2,a3,……ai,……an),下列說法正確的是?
A 每個元素都有一個直接前件和直接后件
B 線性表中至少要有一個元素
C 表中諸元素的排列順序必須是由小到大或由大到小
D 除第一個和后一個元素外,其余每個元素都有一個且只有一個直接前件和直接后件
4、一個棧的輸入序列為123...n,若輸出序列的第一個元素是n,輸出的第i(1<=i<=n)個元素是()。
A 不確定
B n-i
C i
D n-i+1
5、已知程序如下:
int S(int n)
{
return (n<=0)?0: S (n-1)+n;
}
void main(
{
cout<< S(1);
}
程序運行時使用棧來保存調用過程的信息,自棧底到棧頂保存的信息依次對應的是 () 。
A main()→S(1)→S(0)
B S(0)→S(1)→main()
C main()→S(0)→S(1)
D S(1)→S(0)→main()
6、在任意一棵非空二叉排序樹T1中, 刪除某結點v之后形成二叉排序樹 T2,再將v 插入T2形成二叉排序樹T3。下列關于T1與T3的敘述中,正確的是( )。
I.若 v 是 T1的葉結點,則 T1 與 T3 不同
II. 若 v 是 T1的葉結點,則 T1與 T3相同
III.若 v 不是 T1 的葉結點,則 T1 與 T3 不同
IV.若v 不是 T1 的葉結點,則 T1 與 T3 相同
A 僅 I、 III
B 僅 I、 IV
C 僅 II、 III
D 僅 II、 IV
參考答案:
1~6:BADDAC