单片机面试笔试大全

更新时间: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. 软件开发流程

第一步:需求调研分析 第二步:概要设计 第四步:编码 第五步:测试 第六步:软件交付准备 第七步:验收

注意:回答问题时候 属于要准确专业。不要随便更改术语。

本文来源:https://www.bwwdw.com/article/g2s2.html

Top