今日IT储备面试经验总结

在秋招的末尾才醒悟的我,开始了勤奋的宣讲会之旅。

一家互联网彩印上市企业,实业+互联网的结合,还是蛮有前景的。

HR两分钟初面

1.自我介绍(简单介绍了一下我的专业和我面的岗位,还没讲完他就开始张嘴打算问问题,很少见到这么急的HR了。。)

2.你在什么学院(怎么了?管理学院的就不能做IT了吗,我们信管也是学技术的啊= =)

3.你学了哪些编程相关的东西

4.那我问你JAVA的框架有哪些

5.你知道计算机学院主要有哪些专业吗

6.那你觉得你跟他们比优势在哪呢人家可是专门学技术的

----------------------------------------------------------------the--------end--------------------------------------------------------------------------------

总之,凉凉。

但是我至少学习了一下JAVA的结构有哪些?(整理给自己看)

 JavaEE体系结构包括四层,从上到下分别是应用层、Web层、业务层、持久层。Struts和SpringMVC是Web层的框架,Spring是业务层的框架,Hibernate和MyBatis是持久层的框架。(来源:https://blog.csdn.net/litianxiang_kaola/article/details/79169148)

(首先弄清楚)MVC模式        来源  https://www.cnblogs.com/Shunia123/p/10619860.html

MVC是三个单词的首字母缩写,它们是Model(模型)、View(视图)和Controller(控制)。

所谓MVC模型就是将数据、逻辑处理、用户界面分离的一种方法。

  • M(Model, 模型):用于数据处理、逻辑处理。
  • V(View,视图):用于显示用户界面。
  • C(Controller,控制器):根据客户端的请求控制逻辑走向和画面。

而在Java中,MVC这三个部分则分别对应于 JavaBeans、JSP和Servlet。

  • M = JavaBeans:用于传递数据,拥有与数据相关的逻辑处理。
  • V = JSP:从Model接收数据并生成HTML
  • C = Servlet:接收HTTP请求并控制Model和View

一、WEB层

1.Spring MVC    来源  https://www.cnblogs.com/Shunia123/p/10619860.html

springMVC框架是基于Java的实现了MVC框架模式的请求驱动类型的轻量级框架。 

前端控制器是DispatcherServlet接口实现类,映射处理器是HandlerMapping接口实现类,视图解析器是ViewResolver接口实现类,页面控制器是Controller接口实现类。

  •  客户端请求提交到前端控制器DispatcherServlet;    ----即 web.xml 文件 。<web-app>.....</web-app> 中 servlet部分。
  •  前端控制器DispatcherServlet查找一个或者多个映射处理器HandlerMapping,从而确定调用哪个页面控制器Controller对请求进行处理;
  •  DispatcherServlet将请求提交给Controller; 
  •  Controller根据业务逻辑对请求进行处理,并返回ModelAndView; 
  •  DispatcherServlet查找一个或者多个ViewResolver,得到ModelAndView指定的视图view,并将model中的数据传入视图view中进行渲染; 
  •  DispatcherServlet将渲染后的视图返回响应;

2.Struts         来源https://www.cnblogs.com/jun9207/p/5192155.html

Struts 是 Apache 软件基金会(Apache Software Foundation)资助的一个为开发基于MVC模式应用架构的开源框架,是利用Java Servlet和JSP、XML等方面的技术来实现构建Web应用的一项非常有用的技术,它也是基于MVC模式的Web应用最经典框架。
Struts框架的主要架构设计和开发者是Craig R.McClanahan。Struts 是目前Java Web MVC框架中不争的王者。经过长达五年的发展,Struts已经逐渐成长为一个稳定、成熟的框架,并且占有了MVC框架中最大的市场份额。
Struts把 Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,主要由一系列的框架类、辅助类和定制的JSP标记库构成。开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间。
框架的组成
一个设计良好的框架一般分为三层:
(1 )接口层
这一层要尽量使用interface,在这一层中你要考虑到你现在的、将来的可能支持的功能,但不需要去实现它,只定义到接口层次就可以了。如Struts中的插件接口PlugIn。
(2 )抽象层
这一层要针对你当前的需求做定制,对你的需求中的通用逻辑做实现。这一层应该出现大量的抽象类。如Struts中的ActionServlet、Action和ActionForm等类。
(3 )实现层
不用说了,把前面两层没有做掉的事情在这一层都做了吧。如Struts中后台实现的各种功能

 二、业务层

Spring     来源https://www.360kuai.com/detail?cota=4&url=9ffd1a72cde19216b(更多详解https://blog.csdn.net/itcats_cn/article/details/81479185)

Spring 框架中的核心组件只有三个:Core、Context 和 Beans。

Bean 是 Spring 中关键因素,那 Context 和 Core 又有何作用呢?前面把 Bean 比作一场演出中的演员的话,那 Context 就是这场演出的舞台背景,而 Core 应该就是演出的道具了。只有他们在一起才能具备演出一场好戏的最基本条件。

(以下来源https://www.cnblogs.com/ysocean/p/7466191.html#_label3)

       1、核心容器:核心容器提供 Spring 框架的基本功能(Spring Core)。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转(IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。

  2、Spring 上下文:Spring 上下文是一个配置文件,向 Spring框架提供上下文信息。Spring 上下文包括企业服务,例如JNDI、EJB、电子邮件、国际化、校验和调度功能。

  3、Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向切面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。

  4、Spring DAO:JDBCDAO抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。

  5、Spring ORM:Spring 框架插入了若干个ORM框架,从而提供了 ORM 的对象关系工具,其中包括JDO、Hibernate和iBatisSQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。

  6、Spring Web 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。

  7、Spring MVC 框架:MVC框架是一个全功能的构建 Web应用程序的 MVC 实现。通过策略接口,MVC框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。模型由javabean构成,存放于Map;视图是一个接口,负责显示模型;控制器表示逻辑代码,是Controller的实现。Spring框架的功能可以用在任何J2EE服务器中,大多数功能也适用于不受管理的环境。Spring 的核心要点是:支持不绑定到特定 J2EE服务的可重用业务和数据访问对象。毫无疑问,这样的对象可以在不同J2EE 环境(Web 或EJB)、独立应用程序、测试环境之间重用。

三、持久层(物理层)

1.mybatis

什么是Mybatis
1 、mybatis就是一个封装来jdbc的持久层框架,它和hibernate都属于ORM框架(对象关系映射,目前数据库是关系型数据库  ORM 主要是把数据库中的关系数据映射称为程序中的对象https://blog.csdn.net/garfielder007/article/details/54353889),但是具体的说,hibernate是一个完全的orm框架,而mybatis是一个不完全的orm框架;
2 、Mybatis让程序员只关注sql本身,而不需要去关注如连接的创建、statement的创建等操作。
3、 Mybatis会将输入参数、输出结果进行映射。

分析结论
1、mybatis配置文件,包括Mybatis全局配置文件和Mybatis映射文件,其中全局配置文件配置了数据源、事务等信息;映射文件配置了SQL执行相关的 信息。
2、mybatis通过读取配置文件信息(全局配置文件和映射文件),构造出SqlSessionFactory,即会话工厂。
3、通过SqlSessionFactory,可以创建SqlSession即会话。Mybatis是通过SqlSession来操作数据库的。
4、SqlSession本身不能直接操作数据库,它是通过底层的Executor执行器接口来操作数据库的。Executor接口有两个实现类,一个是普通执行器,一个是缓存执行器(默认)。
5、Executor执行器要处理的SQL信息是封装到一个底层对象MappedStatement中。该对象包括:SQL语句、输入参数映射信息、输出结果集映射信息。其中输入参数和输出结果的映射类型包括java的简单类型、HashMap集合对象、POJO对象类型。

————————————————
原文链接:https://blog.csdn.net/qq_22583741/article/details/79450343

2.hibernate

Hibernate到底是什么?

 Hibernate是一个基于元数据的轻量级的ORM框架:

 1,元数据(Meta Data):data about data(数据的数据),也就是说描述一个对象数据,相当于这个对象的上下文环境。

 2,轻量级:占用资源少,没有侵入性。(其实我认为这只是相对而言,如果和Ibatis相比,它到成重量级的了)。

 3,ORM:(Object Relation Mapping)对象关系数据库的映射

这是Hibernate框架的重点,也就是说将我们程序中的实体(bean,这里也叫POJO)和数据库中的表进行映射。java类型和sql类型映射,面向对象设计和关系型数据库设计的映射,从而我们只需要将更多的精力放到业务中,而不是sql数据库方面。

4,POJO:(Plain Ordinary Java Object),无格式的普通java对象,也就是上边说的实体,和数据库做映射的简单类。只是在这里提出了一个新的名词而已。

 总而言之,Hibernate就是将我们的数据库表和程序的POJO类进行映射,数据的操作进行了封装,使我们不用把数据库弄得非常精通,我们会面向对象编程就可以了,这样大大提高了我们的编程效率,而且对个人的知识要求也降低了。

原文链接:https://blog.csdn.net/liujiahan629629/article/details/21442607

更多框架https://www.cnblogs.com/byqh/p/5595384.html

猜你喜欢

转载自www.cnblogs.com/cupe/p/11740793.html