免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: moonwhite999
打印 上一主题 下一主题

两道嵌入式面试题 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2010-03-19 23:29 |只看该作者
本帖最后由 天使是山东人 于 2010-03-20 11:42 编辑

林锐那本书,也就糊弄学生可以,糊弄开发者,有点小儿科了吧。。。
再说他说的那是windows下vc++的东西,和unix下的c没有什么太大关系。。。

第一道题根本无解,为什么? 因为根据我的经验,很多判断条件是随着每次循环而不同的,比如你循环一个数组,如果当前项大于100,然后怎么样,如果当前项小于50,然后怎么样,,,

至于第二道题目,不知道考官的意思是不是考数组下标的

论坛徽章:
0
12 [报告]
发表于 2010-03-19 23:30 |只看该作者
回复 10# cjaizss


    谢谢

论坛徽章:
0
13 [报告]
发表于 2010-03-20 09:52 |只看该作者
什么题目啊这是。。

论坛徽章:
0
14 [报告]
发表于 2010-03-20 10:49 |只看该作者
第一题看看林锐高质量C/C++编程的附录B,那里有。
dozec 发表于 2010-03-19 22:27



    是的!

论坛徽章:
0
15 [报告]
发表于 2010-03-20 11:31 |只看该作者
我没看过林锐的那本书,第一道题晚自己把它想复杂了,第二道题个人认为可以做一做,其实不是那么容易做好的,有很多陷阱

论坛徽章:
154
2022北京冬奥会纪念版徽章
日期:2015-08-07 17:10:5720周年集字徽章-年
日期:2022-10-26 16:44:2015-16赛季CBA联赛之深圳
日期:2022-11-02 14:02:4515-16赛季CBA联赛之八一
日期:2022-11-28 12:07:4820周年集字徽章-20	
日期:2023-07-19 08:49:4515-16赛季CBA联赛之八一
日期:2023-11-04 19:23:5115-16赛季CBA联赛之广夏
日期:2023-12-13 18:09:34
16 [报告]
发表于 2010-03-20 11:55 |只看该作者
for(i=0;i<100;i++)sum+=i;
这样的代码,编译器可以做流水操作的优化,

这对性能很重要,如果可能你反问面试官,究竟怎么个优化法

论坛徽章:
0
17 [报告]
发表于 2010-03-20 12:14 |只看该作者
我查到了"标准答案"了,
  1. for (i=0; i<N; i++)
  2. {
  3. if (condition)
  4. DoSomething();
  5. else
  6. DoOtherthing();
  7. }
复制代码
优点:程序简洁
缺点:多执行了N-1 次逻辑判断,并且
打断了循环“流水线”作业,使得编译
器不能对循环进行优化处理,降低了效
率。
  1. if (condition)
  2. {
  3. for (i=0; i<N; i++)
  4. DoSomething();
  5. }
  6. else
  7. {
  8. for (i=0; i<N; i++)
  9. DoOtherthing();
  10. }
复制代码
优点:循环的效率高
缺点:程序不简洁

以上是林锐先生给出的解答.这个解答的着眼点在于程序的风格及执行效率.
林很可能不搞嵌入式,或者仅限于在单进程的情况下讨论这个问题.

lz去应聘嵌入式,按道理对"实时响应"不能不有所考虑 .
假如condition是外界某触发信号,你觉得 ,两种写法哪一种更好?
如果你给出的是上述标准答案 , 那人家说的没错, 你不适合搞嵌入式的.

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
18 [报告]
发表于 2010-03-20 12:39 |只看该作者
我查到了"标准答案"了,优点:程序简洁
缺点:多执行了N-1 次逻辑判断,并且
打断了循环“流水线”作业,使 ...
老手 发表于 2010-03-20 12:14



    之所以我觉得第一个想出这个问题的人应该觉得脸红,比如林锐吧。因为这个题目居然把两种语意完全不同的流程并在一起比较。把这种问题放出来给别人回答,回答者有点水平的都会去怀疑提问者到底懂不懂编程。
   总之,提问者应该要觉得丢人才对,否则脸皮厚了点。

论坛徽章:
0
19 [报告]
发表于 2010-03-20 13:00 |只看该作者
之所以我觉得第一个想出这个问题的人应该觉得脸红,比如林锐吧。因为这个题目居然把两种语意完全 ...
cjaizss 发表于 2010-03-20 12:39


原来也遇到过这题

    还请版主再说下,为什么这2种语意完全不同?一起出为什么出题者不懂编程呢?

论坛徽章:
0
20 [报告]
发表于 2010-03-20 13:37 |只看该作者
想了一下,题目出的是比较牵强:
第一种情况,在循环过程中,condition会变,也不好写成第二种形式;
第二种情况,在某一种condition下,执行一个循环,也没必要写成第一种情况;

所以两种形式有各自适用的场景,无优劣之分!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP