以前总是人为工作距离自己很遥远,转眼间已经大三下了,整日不是看小说,就是混日子看一些杂七杂八的,对未来充满了不切实际的幻想,从来没像一个真正的程序员活过。csdn上看到一些大牛的面试和人生经历,我觉得我真的好幼稚,愚蠢。所以决定好好学习,弥补自己这三年多的亏欠。
华为面试题:
1,面向对象的优点:
1,易维护:采用面向对象思想设计的结构,可读性高,由于继承的存在,即使需求改变,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。
2,质量高:在设计时,可重用现有的,在以前的项目领域中已被测试过的类使系统满足业务需求并且具有较高的质量。
3,效率高:在软件开发时,根据设计的需求对现实世界的事物进行抽象,产生类。使用这种方法解决问题接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量。
4,易扩展性:由于继承,封装,多态,自然设计出高内聚,低耦合的系统结构,是的系统更灵活,而且成本较低。
缺点:类和继承等特点会使得程序会多很多指针操作来定位函数的入口和自身要维护虚拟方法表等额外的工作,程序的处理效率相对要低(但是开发效率高),所以现在单纯的c语言还是有很大的用武之地。 但随着技术的进步,cpu和内存性能突飞猛进,原来的一核到八核,内存16
m到现在16G,所以程序的效率会随着硬件的发展而变好,现在一些项目也由c转变成用c++写。
、
2,面向对象的一些高级概念: