作为一名嵌入式工程师,要想找到一份心满意足的工作除了自己掌握一定的技术之外,还有一点就是在面试之前一定要准备充足的面试题。今天华清远见的高级讲师就为大家分享一些嵌入式基础面试题,让你在以后的面试中应付自如。
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