单片机面试笔试大全
更新时间:2023-10-26 06:29:01 阅读量: 综合文库 文档下载
单片机笔试面试白皮书
目录
第一部 笔试面试流程 ............................................................................................................... 2
一、 准备简历 ................................................................................................................... 2 二、 简历投递 ................................................................................................................... 2 三、 笔试准备 ................................................................................................................... 3 四、 面试准备 ................................................................................................................... 3 五、 面试练习 ................................................................................................................... 4 第二部 C笔试面试题................................................................................................................ 5
第一大块:基本语法 ............................................................................................................... 5 第二大块:变量 ....................................................................................................................... 8 第三大块:函数 ..................................................................................................................... 18 第四大块:指针 & 内存 ...................................................................................................... 21 第五大块:链表 ..................................................................................................................... 27 第六大块:算法 ..................................................................................................................... 30 第三部 LSD笔试面试题 .......................................................................................................... 37 第四部 C++/驱动笔试面试题 ................................................................................................. 38 第五部 JAVA笔试面试题 ........................................................................................................ 41 第六部 android笔试面试题 ................................................................................................... 41 第七部 项目面试题 ................................................................................................................. 42
第一部
一、 准备简历
笔试面试流程
在51、智联、中华英才网站个做一份简历。
简历内容重点: 所学课程(C语言、linux系统程序设计、JAVA、android) 所做项目:项目描述一定要完整,清晰。项目是关键点。
并且,如果面试的是android,那么把android项目放在前面。 【一句话摆平】你和应届生的本质区别,就在于你有项目经验。 工作背景:如果有技术相关背景,写清楚,只要技术相关都可以加分的。 交流背景:以前做过和交流沟通相关的事情
如果是应届生,那么做过的学生会工作,组着过活动等;
如果工作过,那么做过的工作,把闪光点说出来;最起码,工作沟通、
稳定性等方面是可以展示出来的。面试官很关心这个。
简历书写注意事项: 简历书写语言简洁,多用条例性语言。(第一、第二、第三、...) 简历不能出现经历空白,如中间半年没有任何经历。
简历不能和其他学员的简历出现相同的内容,尤其是项目描述。否则,两个人都有可能失去面试机会。
简历版面简单,字体不要超过3种。不需要相片,不需要花哨的格式。 招聘网站介绍: 51效果最好,重点关注51招聘网站。 注意关键字:
在简历重要多出现重要关键字: C语言、数据结构、linux系统开发(linux系统移植、驱动、arm、C++)、JAVA、android
二、 简历投递
每天早晨(一定要早晨,早晨的效果是最好的,否则可能效果减半)把3个网站的简历
都“刷新”一下。 每天早晨投递简历,主要搜索,嵌入式开发、C开发、linux开发、JAVA开发、android开发、软件开发。每天投递十几个公司。 一家公司,如果没给面试通知,多次投递。重点关注的51网站,要在这个网站上注册2-3个账号,使用同样的简历,每天可以更换账号投递。 并不是你投递的每个人的简历公司人事都会看到,如果收到的简历很多,那么人事可能每天只能看到排在收件箱最前面的简历。所以你的投递必须要人事能最先看到。 简历投递的重点注意:
第一、最好投递时间是早晨。早晨效果往往是其他时间段的两倍。 第二、51上要注册两、三个账号。使用同样的简历,轮流投递。 第三、第一轮投递使用海投的方式,即搜索“嵌入式开发”、“linux开发”、“C开发”等关键字,然后全选投递(海投)。 第四、以后每天坚持投递,投递职位数目在十多个。
三、 笔试准备
笔试的主要内容应该是C语言和android,其次算法,JAVA。所以C语言必须扎实。很多公司的笔试题目就是为了笔试而笔试,可能开发中千年难用。但是你做不出来,就能体现出公司的出题水平。我们可以鄙视这些公司,但我们还是要认真准备笔试的。 1、“嵌入式经典笔试整理收录”这份题目必须看.这里面的题目一道都不能落下全部弄懂。 这里面都是基础.包括概念在内.练习题目不但要看懂,而且要在纸上动手写出来。 一定要在纸上写出来,因为不笔试的时候不是上机,要一次写出来,难度还是大些。 2、“高质量C++-C编程指南.doc”看这份资料。这份看完基本C语言就没有太多问题。 3、看其他面试笔试资料。资料要多看。 注意:很多笔试题目一定要自己在纸上写出来。笔试讲求的就是“纸上谈兵”!在纸上写程序要比你在电脑上写难很多。切记不可以骄傲。
四、 面试准备
看\嵌入式经典面试题目收录\常见面试题目。必须每道题目都能流畅完整打出来。 准备自我介绍: 1、教育背景:学校专业毕业时间。 2、工作背景:之前从事什么工作。一定要说明为什么转到这个行业了,为什么离开上一家公司了。对之前工作中的自己不要否定:因为你自己都否定自己了,谁还会肯定你? 3、培训背景: 所学课程:课程名称(不要把课程名称都忘掉了,名字都忘了,别人怎么相信你学好这个课程) 所做项目:在培训期间动手完成了那些项目。 项目描述要清晰,一般套路:1、项目名称(这个也不能忘)2、项目简介 3、项目分成几个模块 4、项目所使用的技术。 项目描述是整个面试的一个重点。 4、技术问答:对面试官所提出的技术问题,进行解答。 解答问题要简洁明了,要用肯定语气,一定要给面试官信心。
回到问题要简介明了,不要有语气词。
如果有不会回答的问题,不用着急。可以肯定的告诉面试官不知道。很多问题答不上来是正常的。所以不要紧张。都答上来还不一定要你呢(面试中面试官一定要出一些拟答不上来的问题,这样才能确定你的能力范围,另外也能让你认识到自己的不足,这样你开价的时候也会自觉地悠着点)。 也可以绕过去,但不能太多问题都去绕。
面试官提问喜欢沿着一个问题不停的追问,直到你不会为止。所以准备的时候注意一定要全面深入。另外不会也不用紧张,影响后面的面试。 5、人事面试: 常见问题:你对加班的看法? 你对你上一家公司的经理的看法? 你觉得你最忌最大的优点和缺点个是什么? 你为什么离开上一家公司? 你3年或者5年的职业发展规划? 你觉得你自己值这么多钱(你开的薪资)吗?
闲聊:注意闲聊的时候不要忘形,要给别人一种稳定,喜欢技术,对公司所属行业感兴趣,自己个人爱好健康,不要提消极(爱玩游戏,懒,之类的事情) 6、谈薪资: 谈薪资,开始要想要自己期望的薪资是多少。不要模糊的。告诉比人我期望薪资多少。不过不要太高,如果太高的话,别人即使想要你也可以去,但别人会认为你不踏实,而不敢要你。 所以你所说的期望薪资可以比你的最低薪资多出500.最多不能多出1000. 注意一般面试时间要超过20分钟。如果面试官面试时间超过20分钟,那么说明他对你的情趣比较大了。30分钟以上说明你已经有6成以上的把握了。一般情况如果面试的人当时没有对你表示出意向,让你回去等通知,基本没戏了。
五、 面试练习
把面试的自我介绍写下来,让后多读几遍。最好是对着镜子读。不要不好意思,流畅与否,那就是每月500或者1000的差呀。。。 面试准备是非常重要的。因为经常面试的东西主要就那些。另外,面试过程中必须对自己有信心。那怕装也得装出来。正常情况下,如果两个人技术差不多,那么面试官一般都会挑选有信心的。有信心的人在日后的项目中会更有韧性,能担当的更多。即使技术现在不是很好,但有信心的话,可以在以后的工作中很快就弥补上来了。每个人对自己的信心,要有这样的觉悟,即使我现在技术不是很好,但我将来一定会好好学,好好做,一定能给我所在的公司带来价值,公司选择我那是正确,不选我那是公司最大的损失。反过来,如果对自己没有信心,那凭什么让面试官对你有信心呢?即使你技术过了,他还可能认为,是不是死记硬背的。即使你值5k他会觉得,给你3.5k你都会来。面试不但是技术的战争,更是心理的战争。
最后一句:信心十足,但不高调。
祝大家马到成功!!!
第二部 C笔试面试题
第一大块:基本语法
1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)
#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情:
1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)
2). 懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的值,是更清晰而没有代价的。
3). 意识到这个表达式将使一个16位机的整型数溢出-因此要用到长整型符号L,告诉编译器这个常数是的长整型数。
4). 如果你在你的表达式中用到UL(表示无符号长整型),那么你有了一个好的起点。记住,第一印象很重要。 2. 写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个
#define MIN(A,B) ((A) <= (B) (A) : (B))
这个测试是为下面的目的而设的:
1). 标识#define在宏中应用的基本知识。这是很重要的,因为直到嵌入(inline)操作符变为标准C的一部分,宏是方便产生嵌入代码的唯一方法,对于嵌入式系统来说,为了能达到要求的性能,嵌入代码经常是必须的方法。
2). 三重条件操作符的知识。这个操作符存在C语言中的原因是它使得编译器能产生比if-then-else更优化的代码,了解这个用法是很重要的。 3). 懂得在宏中小心地把参数用括号括起来
4). 我也用这个问题开始讨论宏的副作用,例如:当你写下面的代码时会发生什么事? least = MIN(*p++, b);
其实宏在编程中的副作用主要表现在编译器的处理计算上,如果考虑不周全很容易出现重复计算的问题。所以写程序要用宏的简洁,又要注意其中的陷阱,以防出现莫名其妙的错误
3. 用宏定义写出swap(x,y) #define swap(x, y)\\ x = x + y;\\ y = x - y;\\ x = x - y;
4. 请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句
#define Max(a,b) ( a/b)?a:b
第五部 JAVA笔试面试题
60. JAVA中:如何在main执行之前打印“hello world?” 61. 多态有哪些表现形式? 62. 接口和抽象类有什么区别?
63. Overload和override有什么区别?
64. MVC概念(为什么有DAO层,什么作用) 65. GC回收机制
66. Arraylist和linklist的区别 67. 编写程序实现压缩算法:
String text(\68. final,finally,finalize的区别 69. 写出5个常见异常?
70. public、protected、private、默认的作用域; 71. String 和StringBuffer
第六部 android笔试面试题
【面试分析】三大块:界面、网络编程、数据共享。
为什么这么说?目前企业正大踏步地把各类应用(银行、同城等各类网站)做成app,这是趋势。界面是用户付费的前提,网络编程是企业赚钱的前提,数据库是企业分析客户的工具。
项目中,必须补上“网络编程”相关功能,不管你的项目当时是否做了。介绍项目时,不要把sharedPreference和数据库忘了介绍了。
这里可参考《android面试题(一).doc》和《android面试题(二).doc》 72. android中的动画有哪几类,它们的特点和区别是什么? 73. Handler机制
Message、Handler、Message Queue、Looper的关系? andriod提供了 Handler 和 Looper 来满足线程间的通信。Handler 先进先出原则。Looper类用来管理特定线程内对象之间的消息交换(Message Exchange)。
1)Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的Message Queue(消息队列)。
2)Handler: 你可以构造Handler对象来与Looper沟通,以便push新消息到Message Queue里;或者接收Looper从Message Queue取出)所送来的消息。
3) Message Queue(消息队列):用来存放线程放入的消息。
4)线程:UI thread 通常就是main thread,而Android启动程序时会替它建立一个Message Queue。
74. Android异步处理方式?
75. android四大组件及其启动方式、生命周期
【面试题一】
activity弹出一个popwindow,然后关掉这个弹出框,activity生命周期如何调用的? 76. 网络编程:http通讯,get和post区别 77.
78. Android中常用的五种布局 79. 如何优化listView?
80. 什么是ANR 如何避免它?
81. 在onCreate方法中Bundle savedInstanceState 这个参数有什么作用? 82. android 中线程与线程,进程与进程之间如何通信 83. View如何进行刷新?
84. 请说明隐式、显式Intent的区别?
85. 请说明getWritableDatabase()和getReadableDatabase()的区别? 86. Activity A 如何使用activity B界面中的空间?不许用intent 87. UI线程,和new thread中;Thread.getID是否相同?
答案:同。
88. NinePatch和bitmap有什么区别?
答:前者可拉伸 89.
第七部
项目面试题
90. 介绍一下你做过的项目
91. 你项目开发中遇到的问题(深刻的)如何解决的 92. 调试工具、调试方法。段错误等? 93. 软件开发流程
第一步:需求调研分析 第二步:概要设计 第四步:编码 第五步:测试 第六步:软件交付准备 第七步:验收
注意:回答问题时候 属于要准确专业。不要随便更改术语。
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 单片机
- 笔试
- 面试
- 大全