面试题:1.你对SpringMVC的了解2.面向对象的特征有哪些3.抽象类和接口的区别4.在java里面有反射,反射的用途5.实现线程的方法6.get和post的区别7.SpringBoot相对于SpringMVC优势8.在java里面常用的集合类都有哪些

1.你对SpringMVC的了解
答:采用三层框架,降低代码之间的耦合,提高代码质量。SpringMVC的重要核心组件有:前端控制器(dispatcherServlet), 处理器映射(handlerMapping), 处理器适配器(HandlerAdapter), 视图解析器(ViewResolver)
工作流程
1.客户端发送请求到前端控制器(中央处理器),前端控制器判断请求是否符合格式,
如果符合格式到请求到达处理映射器,处理器映射器查找对应的处理器,将查找到的结果(处理器路径)返回给前端控制器,前端控制器到处理器适配器,处理器适配器进行处理业务,将业务执行的结果返回给前端控制器,前端控制器到视图解析器,进行视图解析,视图解析后返回一个view(数据)到前端控制器,前端控制器到视图渲染,将渲染后的结果返回给客户端

2.面向对象的特征有哪些
封装、继承、多态、重载、重写
(1)继承:就是保留父类的属性,开扩新的东西。通过子类可以实现继承,子类继承父类的所有状态和行为,同时添加自身的状态和行为。

(2)封装:就是类的私有化。将代码及处理数据绑定在一起的一种编程机制,该机制保证程序和数据不受外部干扰。

(3)多态:是允许将父对象设置成为和一个和多个它的子对象相等的技术。包括重载和重写。重载为编译时多态,重写是运行时多态。

(4)重载:在同一个类中,方法名一样。参数列表、方法体、返回值类型、访问修饰符可以不一样

(5)重写:存在于子父类关系中,子类重写父类方法,方法名一样访问权限修饰符大于等于父类,抛出异常范围小于等于父类,参数列表一样,方法体不一样
3.抽象类和接口的区别
(1)抽象类中有抽象方法有构造方法,构造方法不能直接创建对象,可以有静态代码块和静态方法;子类继承抽象类必须重写所有抽象方法,否则把自己变成抽象类
(2)接口中只能有抽象方法,jdk1.8之后允许有普通方法,不能含有静态代码块以及静态方法
一个类只能继承一个抽象类,而一个类却可以实现多个接口
4.在java里面有反射,反射的用途
反射:动态地发现和绑定类、方法、字段,以及所有其他的由于有所产生的的元素。通过反射,能够在需要时完成创建实例、调用方法和访问字段的工作。
在程序运行中通过类名,可以调用这个类中的所有方法以及属性
优点: 可以在程序运行的过程中,操作这些对象。
可以解耦,提高程序的可扩展性。
缺点:因为是JVM操作,所以对于性能来说会有所下降。
容易对程序源码造成一定的混乱。
用途:
1.在运行时判断任意一个对象所属的类
2.在运行时构造任意一个类的对象
3.在运行时判断任意一个类所具有的成员变量和方法
3.在运行时调用任意一个对象的方法,通过反射甚至可以调用到private修饰的方法
4.生成动态代理
5.实现线程的方法
1.继承Thread类,重写run方法
2.实现Runnable接口,重写run方法,实现Runnable接口的实现类的实例对象作为Thread构造函数的target
3.通过Callable和FutureTask创建线程
4.通过线程池创建线程
线程的物种状态:创建、就绪、运行、阻塞、死亡
6.get和post的区别
(1)get:地址栏传输数据,携带数据数量小,地址栏可见,速度快,不安全
(2)post:Tcp包传输数据,携带数据量大,地址栏不可见,速度相对慢,安全
7.SpringBoot相对于SpringMVC优势
(1)SpringBoot减少了大量的配置文件,约定优于配置 ,可以极大地简化了 spring 的配置流程,Spring Boot实现了自动配置,降低了项目搭建的复杂度。
(2)Spring 是一个“引擎”;

Spring MVC 是基于Spring的一个 MVC 框架 ;

Spring Boot 是基于Spring4的条件注册的一套快速开发整合包。
8.在java里面常用的集合类都有哪些
(1)单集合:set不能重复(HashSet,LinkedHashSet,TreeSet)
List有序、可重复(ArrayList,LinkedList)
(2)双列集合:Map(HashMap,TreeMap)
1、List(有序、可重复)
List里存放的对象是有序的,同时也是可以重复的,List关注的是索引,拥有一系列和索引相关的方法,查询速度快。因为往list集合里插入或删除数据时,会伴随着后面数据的移动,所以插入删除数据速度慢。
ArrayList:基于数组实现,查找、更新效率高,自动扩容1.5倍,初始容量10
LinkedList:基于双向链表实现,删除插入效率高,链表是由节点组成的节点中分两部分一部分存储节点元素,另一部分存储指针,指向下一个节点,删除一个元素,只要改变他前一个节点的指针指向就可以了

2、Set(不能重复)
Set里存放的对象是无序,不能重复的,集合中的对象不按特定的方式排序,只是简单地把对象加入集合中。
HashSet,基于Hash表去重,重写equals和hashcode
LinkedHashSet,通过比较器,实现Comparable重写comporTo()方法,底层是红黑树
3、Map(键值对、键唯一、值不唯一)
Map集合中存储的是键值对,键不能重复,值可以重复。根据键得到值,对map集合遍历时先得到键的set集合,对set集合进行遍历,得到相应的值。
HashMap,初始大小11,加载因子0.75,扩容2倍+1
TreeMap,有序(自然升序)基于红黑树叶
集合的优点
(1)使用核心集合类降低开发成本,而非实现我们自己的集合类。
(2)随着使用经过严格测试的集合框架类,代码质量会得到提高。
(3)通过使用JDK附带的集合类,可以降低代码维护成本。
(4)复用性和可操作性。

Java初级工程师面试题(一)相关推荐

  1. java初级工程师面试题一

    今天去面试了,做了份笔试题,很基础,由于没有关注基础最后还是挂了.在这里对今天的面试做一个总结以防止下一次再犯同样的错误. 1.写出jsp的四个作用域 解:application,session,re ...

  2. Java初级工程师面试题精选3

    61.Java中有几种方法可以实现一个线程?用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用?  Java中有三种方法来实现一个线程,分别是继承Thread类.实现Runn ...

  3. java初级工程师面试题_初级Java工程师面试所遇面试题

    1.servlet的生命周期 : 一.百度百科 : 1.客户端请求servlet: 2.加载servlet类到内存: 3.实例化并调用init()方法初始化servlet: 4.调用service() ...

  4. 面试总结----java初级工程师

    最近在找java初级工程师的工作,投了很多简历都没有反馈,只收到了几个面试通知,可能是因为工作年限和项目经历都不是很丰富,另外一个原因可能是之前接触的技术不新,对于现在想进互联网公司来说,技术上不太符 ...

  5. 微博面试Java,微博java开发工程师面试题整理

    下面要给大家分享的是一个小伙伴的微博java开发工程师一面的面试题,一起来看看微博java开发工程一面面试题都有哪些吧! 面试题(一面) 1.做一个小时笔试 2.java创建对象的几种方式是什么? 用 ...

  6. java后端工程师面试题(笔试):2022-11-04 经历(一)

    java后端工程师面试题(笔试):2022-11-04: 面试题:总分100 1.关于盒子模型(5分) 1)盒子模型的种类有几种?分别是什么?(1分) 2种,分别是1.W3C标准盒子模型 2.IE盒子 ...

  7. Java开发工程师笔试试题(附带答案)

    Java开发工程师笔试试题(附带答案) 最后附带CSDN下载 下载地址Java开发工程师笔试试题(包含答案)

  8. ※Java初级 常见面试题①

    2022春招面试指南:Java岗位基础篇(适用于各大企业招聘Java初级工程师岗位,附配套MD文档)_哔哩哔哩_bilibili 1.JDK1.8的新特性 - Lamda表达式 - 接口中新增默认方法 ...

  9. 思源科技java面试_【企业招聘笔试真题】思源Java开发工程师笔试题

    Java开发工程师笔试题 1.用最有效率的方法算出2乘以8等于几? 2.下面的程序输出结果是多少? 3.Import java.util.Date; 4.Public class Test exten ...

最新文章

  1. 快速学习 async await 的使用, Demo 解析
  2. 数据结构(六)查找---多路查找树(2-3-4树)
  3. 数学建模学习笔记(一)——层次分析模型
  4. (操作系统题目题型总结)第六章:文件管理
  5. 《Python算法教程》——2.4 请提防黑盒子
  6. PDF转CAD怎么转?如何将PDF文件转换成CAD文件?
  7. 初窥 Python 的 import 机制
  8. oracle授予directory读权限,Oracle对目录文件(directory)的读写操作
  9. 《勒索软件防护体系建设指南》发布|美创深度参编,入选代表性厂商
  10. 行波iq调制器_行波型LiNbO3电光调制器的电极优化设计
  11. 养兔子c语言sdut,SDUT 养兔子
  12. NLP笔记:常用激活函数考察整理
  13. 卡特兰数——Catalan数
  14. HDU4801 转魔方、DFS模拟
  15. 索尼IMX316 标定_ToF模块相机校准
  16. 基于JAVA旅游路线规划系统计算机毕业设计源码+数据库+lw文档+系统+部署
  17. PID原理以及C语言的代码实现
  18. 搭建胜过Apache十倍的Web服务器
  19. linux yum安装iscsi,ISCSI_YUM安装教程
  20. 思修课展示视频~~~

热门文章

  1. 如何在子类中调用父类的函数
  2. 嵌入式Linux开发-6818开发板使用流程
  3. C语言符号的意思 一
  4. 实分析斯坦恩中文版_实分析_伊莱亚斯M斯坦恩_9787111552963_教材巡展网上行
  5. 小型超市管理系统毕业设计
  6. flashfxp连接无法打开服务器文件列表的解决方法
  7. 模块mshtml.dll已加载,但找不到入口点DllRegisterServer(随手笔记)
  8. 记录使用.netcore 完成微信公众号推送模板消息
  9. 内网渗透初探(三) | 查缺补漏
  10. windows黑客编程系列(四):修改注册表键值对之自启动