WinCE面试经常被问到的问题

技术问题:
1 WinCE 下如何访问一段物理内存
希望能听到 CE5.0 与 CE6.0 各自不同的结果。
2 线程同步机制有哪些(至少说出三种以上)
3 SetThreadPriority() 和 CeSetThreadPriority() 的区别
4 volatile 有什么含意? 举例说明
5 从 Heap(堆)中动态分配的过程, 可能发生什么问题? 
6 malloc(0) 会产生什么后果? 
7 a+++b是否正确? 
8 private/protected/public/internal的访问权限
9 CString csStr = NULL 和 CString csStr = "" 的什么区别? 
10 类和结构的什么不同和相同点
类是什么? 类对对对象的一个抽象, 把有共同特征行为的对象抽象在一起就是类, 目的是为了更好的运做管理这此对象; 
对象是什么? 对象就是这个世界的全部, 人、植物、星体等等。对象是类的一个实例。
结构:可以把它看做是轻量级的类
区别:
1) 结构是值类型(从栈上分配地址), 类是引用类型(从堆上分配地址)
堆栈的执行效率比堆高, 可是堆栈的资源有限, 不适合处理大量的逻辑复杂的对象。所以结构处理作为基类型对待的小对象, 而类处理某个商业逻辑。
2) 结构不能继承(虽然没有明确的用 sealed 声明, 可是结构是隐式的 sealed)
类除非显式的声明为 sealed, 否则可以继承其它类, 自身也能被继承
3) 内部结构:
结构:
没有默认的构造函数, 但是可以添加构造函数
没有析构函数
没有 abstract 和 sealed(因为不能继承)
不能有 protected 修饰符
可以不使用 new 初始化
在结构中初始化实例字段是错误的
类:
有默认的构造函数
有析构函数
可以使用 abstract 和 sealed
有 protected 修饰符
必须使用 new 初始化
11 % 零会产生什么后果? 
run-time error
例如:对零取模出错时,出错的 PC 指针竟然指向系统的 coredll.dll:
Exception 'Raised Exception' (-1): Thread-Id=066f008e(pth=82a8f6e4),  Proc-Id=0650008a(pprc=82b5f2b8) 'UDP.exe',  VM-active=0650008a(pprc=82b5f2b8) 'UDP.exe'
PC=4006c5c8(coredll.dll+0x0005c5c8) RA=802174c8(kernel.dll+0x000064c8) SP=0019eff0,  BVA=00000000
Exception 'Raised Exception' (-1): Thread-Id=066f008e(pth=82a8f6e4),  Proc-Id=00400002(pprc=806da308) 'NK.EXE',  VM-active=0650008a(pprc=82b5f2b8) 'UDP.exe'
PC=c003bb30(k.coredll.dll+0x0001bb30) RA=802174c8(kernel.dll+0x000064c8) SP=d1b4f018,  BVA=ffffffff


非技术类问题:
1 你业余时间编程吗? 爱好/谋生手段
2 什么样的事情会让你有成就感
3 以前工作中有什么重要的成就? 它是你主导的吗? 
4 你喜欢哪种嵌入式系统? 你个人认为它哪里做的好; 哪里做的不好? 
5 在各项中你的角色是什么? 哪个角色是你认为收获最大的? 收获了什么? 

你可能感兴趣的:(编程,c,exception,面试,嵌入式,WinCE)