1. 介绍UEFI boot 大致流程
- 解释每个阶段的细节
- CAR(cache as ram), 如何配置
- Peicore会调用几次
2. UEFI Event 实现细节
3. OpenProtocol/HandleProtocol/LocateProtocol 区别
4. 描述下 Handle和Protocol的联系
5. PcdSetxx 和 gRT->SetVariable的区别
6. UEFI C state 、 P state 实现
7. ACPI S3/S5 实现
- Sleep时候调用哪些ACPI method, 比如 PTS
8. 如何配置 Nem(Non evict mode)
9. 操作 SATA/NVME 需要用到哪些Protocol
- 如何发送数据给SATA Controller
10. 描述下 Intel MCA
11. 如何处理Memory CE、UCE
12. SMM的理解
13. HOB的理解
- SMM mode 下可以操作HOB嗎
- HOB有多大
- HOB空間是連續的嗎
14. 操作系統下如何Dump ACPI/SMBIOS ?
15. PCIe相关
- PCIe枚举过程
- PCIe config space有哪些字段
- 如何獲取PCIe bar 大小
- Oprom加载过程
- 一个PCIe 驱动应该做哪些工作将一个PCIe设备工作起来
- PCIe hotplug rebalance
16. 工作中碰到最棘手的问题是什么?如何解决的?
17. Bios boot 常見的debug fix
- PEI/DXE階段FreePool Assert 如何debug?
- OS 階段 MCA error , 如何debug?
- OS 階段,如何打印RT driver的uart log?
18. BMC 相關
- BMC 如何detect BIOS Ras error ?
19. C 语言题目:
- static, external, register的用法
- 结构体和联合体的区别
- 描述下C可执行文件在内存中的布局
- 全局變量存放在 那個 section
- C 语言压栈过程
20. 算法题:
- 计算一个64bit无符号整型中的bit0、bit1的个数
21. 智力題:
- 一共24個瓶飲料,每個2瓶子可以換一瓶飲料,請問一共可以喝多少飲料?
22. 综合
- 讲述下你看过哪些Spec