java初级程序员面试题-java面试逻辑题
“面试官:来说一下什么是面向对象?”对于初级程序员的我们,这个问题是极佳的展现能力的机会,如果回答好了,会有以下效果。
1:可以展现我们对编程宏观的认识
2:展现对Java基础与核心原理的掌握程度
3:有机会让你往公司核心业务发展,而不只是个码农
4:直接进入谈薪资的环节
回答要点
切记不能说:面向对象就是继承封装多态,继承是...封装是...多态是...
这种回答太过普通,很明显就是死记硬背的,根本没有理解,这样回答面试官后,他可能就不会再深入的问下去了。
因为面向过程/面向对象是所有编程语言的核心原理,它决定了代码编写的方式,甚至一个项目还没有启动、没有构思好,使用面向对象还是面向过程的问题就已经可以确认了。
所以面向对象这个知识的重要程度可想而知,面试官不想听到百度百科上都能搜到的概念,而是想通过这个问题,看看你对Java的理解、对软件工程的理解
要点一:回答这个问题,不能局限于编程语言,一定要往大扯
要点二:例子一定要贴近生活并实时结合编程
示范:
面向对象和面向过程,不光是编程中的一个方式java初级程序员面试题,也是生活中的两大事件处理方式。比如我坐在这里面试,核心原因是老板想做个项目。
(以上段落表达:你对面向对象的理解不局限于编程)
由于老板不会写代码,所以他要找到“项目总监”这个类,而面试官您,就是基于“项目总监”类的对象。因为项目总监只是一个概念,并不存在于实际中,就像公孙龙讲的:白马非马。然后您要做到对项目整理的把控,没有时间来写每一行代码,所以要找“程序员”这个类,那么我就是程序员类的对象。
(以上段落表达:你对抽象概念的理解、类与对象的关系)
但是我们所有人与老板,都不是“IS-A”的关系,而是“USE-A”也就是我们
不是:Programmer p = new Programmer(); (继承)
而是:IProgrammer p = new Programmer(); (接口)
这样做的好处在于,老板与员工不在是个紧密的继承链关系java初级程序员面试题,耦合度低,如果哪个员工离职,不会牵一发动全身,我们只需要将接口的实现更换一下就可以,对于老板,就掌握他的IProgrammer p
(以上段落表达:你对类与类之间关系的理解、多态的理解)
再比如,每天中午给我们送外卖的外卖员,“送餐”是一个父类也是一个接口,那么具体谁来送餐,哪个对象送餐,可以灵活的设置。这也就是工厂模式、Spring的思想:在不改变代码的情况下,对具体的实现进行灵活的掌控
(以上段落表达:你对设计模式、Spring的理解)