首页面试技巧cpp面试题及答案

cpp面试题及答案

huangp1489huangp1489时间2024-07-07 05:41:15分类面试技巧浏览16
导读:如何看待问“a = a + b和a += b有什么区别”的Java面试官?如何看待问“a = a + b和a += b有什么区别”的Java面试官?a=a+b 是加法运算,需要两次寻址。a+= b是增量运算,有寄存器优先时,只有一次寻址。赋值运算是一样的。一般情况下可认为两者一样。但前者与数学算法描述更接近,相……...
  1. 如何看待问“a = a + b和a += b有什么区别”的Java面试官?

如何看待问“a = a + b和a += b有什么区别”的Java面试官?

a=a+b 是加法运算,需要两次寻址。a+= b是增量运算,有寄存器优先时,只有一次寻址。赋值运算是一样的。一般情况下可认为两者一样。但前者与数学算法描述更接近,相对来说更严谨。后者书写快捷,但可读性略有下降。综合考虑,还是用a= a+ b形式更好,毕竟可读性更好,效率差异微乎其微,在高速运算时代基本可忽略。

从运维人员角度来说,a=a+b会比a+=b好,主要不是为了性能,不是为了节省计算步骤,或者代码比较漂亮。就是为了别人读代码能更简单的理解你的逻辑。

a=a+b基本需要初中数学就懂得的公式。但是a+=b都需要有编程语言背景的才能看懂,而且j***a,c,c++,Python,perl各种各样编程语言都有他的特性。有的先算左边有的先算右边,这个在无形中加重了阅读和接手代码的难度。因为大型项目开发人员50人以上的,人员流动十分十分频繁,而且新招聘往往都是比较新手的,代码写法越粗俗接手的人员要求越低,二次修改导致的bug的概率会越低。有助于项目的成功。

cpp面试题及答案
(图片来源网络,侵删)

而且现在机器的计算能力已经这么强了,普通的业务代码强烈要求使用a=a+b,对于那些架构师大拿写的框架或者底层代码需要考虑性能的,那就根据实际情况选择了。

如果仅仅从知识上来说,a = a+b 和 a += b 是不同的,前几天刚好看到有说这个问题的:

// s1是short类型, 1是int类型, s1 + 1 向上转型为 int 类型, 无法直接赋值给 short 类型, 需要强制类型转换

cpp面试题及答案
(图片来源网络,侵删)

// short s1 = 1; s1 = s1 + 1;

// 显式赋值操作

short s1 = 1;

cpp面试题及答案
(图片来源网络,侵删)

s1 = (short) (s1 + 1);

// 能通过编译, 隐式类型转换

// 计算操作, 直接转换

估计提问的人,才做J***a没几年,问有什么区别并不是真的难为你,而是想问你基础扎实还是不扎实,J***a代码细节很重要,要不然bug找起来起来很困难,很简单的道理,如果做一个银行结算功能,你不知道i++和++i的区别,就有可能把钱算错,测试出问题需要花费大量的时间排查是数据库数据有问题?还是算法问题?或者界面传值有问题?结果查了一天发现是自己写的循环有问题,这还是发现出来的,如果测试量少,没有发现呢?

还有如果你不知道arrayList和linkedList的区别,不知道stringbuffer和stringbuilder的区别,不知道map扩容机制,然后你就会发现,你的代码最烂,bug最多,效率最底下,项目组也会计成本与人工花费的!代码的细节真的很重要!

最后一句话,如果你知道可以不屑回答,但是,不知道还是安心的补充知识吧!

如果面试中大量的问题和考验纠结于这种所谓的基础知识,我只能替这家公司感到担忧。在项目实践过程中,使用a=a+b还是a+=b,不会影响关键程序逻辑的构造。是否能讲出所谓的区别,也根本无法评估一个开发人员的能力高低。如今的软件开发行业技术迭代日新月异,各种语言、框架、开发理念设计模式层出不穷,而作为开发者需要时刻保持对新技术的学习掌握使用,根本没有过多的时间再去计较每一种技术的细微特性,并且是否了解这些细节特性实际上并不会对工作质量产生多大的影响。现代的软件开发人员在很多时候,碰到问题只求快速找到解决方案,以求及时解决当前面临的问题。例如本人非常频繁地使用MD5算法,但是自从接触编程以来,我就没有认真分析过MD5算法的具体实现过程。在早起的JDK1.4的年代基本类库中并没有提供直接的MD5加密工具类,我就谷歌上找了一段现成的代码。后来apache commons组件库提供了现成的各种加密算法工具包,我就直接使用这些组建工具进行日常开发。因为我个根本不需要掌握着这些加密算法的实现原理,这种加密解密方法在我眼里就是一种无需掌握细节便可满足日常工作的基础工具包。

[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.jskji.com/post/21052.html

代码问题需要
求职面试技巧讲座心得体会 口语情景面试技巧,口语情景面试技巧有哪些