Chinaunix首页 | 论坛 | 博客
  • 博客访问: 275683
  • 博文数量: 95
  • 博客积分: 2047
  • 博客等级: 大尉
  • 技术积分: 1022
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-14 16:18
文章分类

全部博文(95)

文章存档

2013年(1)

2011年(94)

我的朋友

分类: 嵌入式

2011-08-28 20:40:33

周末一直在想笔试题目有点难,考得不太好,结果凌晨1点发来通知,早上到实验室发现大家都收到面试通知了。

下午面试,地点就在学校附近的酒店房间,基本一层楼被包下作为面试点,两位HR,一男一女。

上来基本没时间做自我介绍,直接看简历,提问。

可能是我的简历写了很多嵌入式Linux开发,多数为这方面问题。

1、写出尽量多的linux命令
ps、mv、cp、ls、top、vim、gedit、top、git、man,其他的忘了,总之写了有十来个。
接着问列出所有用户进程的命令,直觉应该是ps命令加参数,但没用过,只能老实回答必须要看命令帮助才能答出,可以用ps --help或者man ps查看命令的参数。

2、谈谈Linux驱动开发流程
貌似我也不懂正确的流程,就把我做驱动的流程说了下:
1)裸机调通硬件(比如ARM先用ADS调试)
2)熟悉驱动框架,需要完成哪些函数
3)建立起驱动dummy框架,使得上层可以正确调用
4)逐个完成驱动具体需要完成的函数(比如write函数,read函数等等)
5)整体测试
6)Debug
7)Codereview等等
说到codereview HR似乎很熟悉这个,问我们使用的什么标准,我还真不懂用的什么标准,我们的codereview就是大家坐在一起,看看代码有没有明显的bug,比如格式不好,内存泄露一类的,最后回答了C用的是ANSI C标准,估计HR想问的是我们的CMM等级吧(貌似没有?)。


3、第三个问题是字符串编程
可惜了这个字符串问题,明明知道会考,这次中兴来的太早,还没开始准备,不过说来平时做驱动里面还真是用不到,做应用可能会用到。
一开始叫写strtok,可怜的我一头茫然,没听过这个函数,然后换写strstr,找子串,头脑里大概蹦出用循环一个一个对比,但是当场写出来估计后面也没有面其他问题的时间了,放弃吧,实话实说目前我就会写strcpy,平时项目中不用字符串。

4、字符串不会,于是问我汇编如何,当场冷汗,答能看懂,于是让我用汇编写个2的n次方出来,我都答能看懂了,还要写啊!
2的n次方,第一反应是用左移,左移貌似是LSL,最后憋出来三句汇编
ADR R0,N <--解释这个是地址
MOV R1,RO <--这个写错了,应该是MOV R1,[RO],这个是数值
LSL R2,R1

上面代码的结果应该是R2乘以2的n次方,那R2应该是1才对(忘写了,貌似当时写的也不是R2,记不清了) 
不过HR貌似用X86架构,不用ARM,所以问我这是什么汇编,答曰ARM汇编,解释了半天寄存器,然后告诉HR目前所有工作都是基于ARM架构的。
还有继续问函数返回问题,问返回地址,当时在想汇编,答是sp,傻了,应该是lr,但这个和X86架构很不一样,所以应该不是HR想要的结果。

5、Linux内核裁剪流程<--这个俺长做
1)git 官网下Linux内核
2)添加特定处理器的架构代码(mach目录)<--应该说打个patch比较正规
3)选定使用的编译器,arm架构目前主要eabi的编译器
4)make menuconfig 配置内核<--漏了添加各种各样的驱动
5)make
6)大量的debug
7)生成内核
最后还问了问最新的linux内核版本(2.3.33)

4-5基本是穿插进行的,5结束后问我汇编写完没

总之,20分钟的面试很短,2个大题做的不好,估计勉强能及格吧,如果不要我也没关系,来练练手的,相信充分准备后是可以取得更好的成绩。

这次中兴来的这么早,正好让我们了解下笔试和面试的流程,这个暑假可以进行充分的准备,希望自己能找到满意的工作。

我个人目标魔都,虽然老妈一直想让我回家。。<--无奈的眼神

Rockie Cheng

阅读(893) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~