苹果公司嵌入式工程师面经
电话面试之前是HR来交流基本情况,除了了解一下教育背景和项目经验以外,还会考察英语水平。
一、电话面:
面试官包括两个在美国的印度同事和一个国内的中国同事,其中一个印度人会是未来的上司。
面试的主要形式是在collabedit网站上根据题目写代码,主要是写一些low-level的C,不过都比较基础。
大致题目包括
1.memcpy 怎么写,怎么优化,
2.写一点assembly,volatile 关键字什么意义,什么情况要用,
3.写段程序判断big-endian和little-endian,reverse a linked list等。
春节之后通知我去现场面试,一开始还打算让我去美国,不过可能考虑到我需要重新申请签证耗时会比较久,决定在面试官来中国出差的时候直接去他们酒店面试。
面试前还通知我不要穿的太正式。
二、线下面试
面试时一共5个面试官,包括三个印度人,一个美国人和一个中国人,前两轮两人一组,最后则是未来的印度上司一个人面,也基本上就问了技术问题。
第一轮:
1.主要题目是优化一段C代码,代码本身是alloc一个array of array。
2.接着问我fork, 还有process和thread的区别。
3.然后问了我interrupt的概念,并给了我一小段关于interrupt的程序,问我怎么debug。
面试官看我答不出更多的东西,这轮就结束了。
第二轮和第三轮:
题目虽然不一样,不过本质上是数据结构的设计,主要就是用C实现一个FIFO(queue)。
第三轮时面试官和我说,来onsite面试主要还是看我在他们眼前写程序,来看我写程序的水平如何,是否自信。
最后我又问了些职位相关的问题,就结束了。
#Apple##面试题目#