📅  最后修改于: 2023-12-03 15:09:56.592000             🧑  作者: Mango
近期我参加了惠普公司的软件工程师固件面试, 得到了这个职位的offer。分享一下我的面试经验。
笔试部分主要是围绕C语言和算法,大部分是选择题和填空题,有一些简答题和编程题。
其中比较有难度的编程题是:给定一个n*m的矩阵,每个元素是一个纯数字。从左上角出发,一直尝试往右和往下走,最终只能走到右下角。设计一个算法,找到一条路径,使得走过路径的元素之和最大。
技术面试主要分为两个部分:常规问题和固件方向问题。常规问题主要是一些基础概念和算法实现,如二叉树遍历、链表操作、排序算法等。这部分问题主要考察你的基础知识和代码实现能力。
固件方向问题主要是关于底层硬件和固件设计的问题,如裸机编程、中断处理、端口操作、内存分配等。这部分面试最好准备公司的产品和业务方向,这样能更好地回答一些问题。
以下是一些我在面试中遇到的典型问题:
整个面试过程大概持续了3个小时,对于有一定基础的程序员来说,难度并不是很大。建议面试前充分准备常见的数据结构和算法,了解裸机编程和底层硬件操作,多做一些练习题和编程题,这样能更好地应对面试。