首页技术struts2面试题及答案,shiro面试题

struts2面试题及答案,shiro面试题

编程之家2026-06-201044次浏览

大家好,今天来为大家解答struts2面试题及答案这个问题的一些问题点,包括shiro面试题也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

struts2面试题及答案,shiro面试题

J2EE经典面试题及答案

J2EE经典面试题及答案

J2EE,使用Java技术开发企业级应用的一种事实上的工业标准,它是Java技术不断适应和促进企业级应用过程中的产物。下面为各位考生分享的是J2EE经典面试题及答案,希望对大家有所帮助!

1.MVC的各个部分都有那些技术来实现?如何实现?

答:MVC是Model-View-Controller的简写。"Model"代表的是应用的业务逻辑(通过JavaBean,EJB组件实现),"View"是应用的表示面(由JSP页面产生),"Controller"是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。

2.J2EE是什么?

答:Je22是Sun公司提出的多层(multi-diered),分布式(distributed),基于组件(component-base)的企业级应用模型(enterpriese application model).在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件又可在不同计算机上,并且处于相应的层次(tier)中。所属层次包括客户层(clietn tier)组件,web层和组件,Business层和组件,企业信息系统(EIS)层。

struts2面试题及答案,shiro面试题

3.J2EE是技术还是平台还是框架?

答:J2EE本身是一个标准,一个为企业分布式应用的开发提供的标准平台。

J2EE也是一个框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA等技术。

4.STRUTS的应用(如STRUTS架构)

答:Struts是采用Java Servlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework。采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架。 Struts有如下的主要功能:

一.包含一个controller servlet,能将用户的请求发送到相应的Action对象。

struts2面试题及答案,shiro面试题

二.JSP自由tag库,并且在controller servlet中提供关联支持,帮助开发员创建交互式表单应用。

三.提供了一系列实用对象:XML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提示和消息。

5.WEB SERVICE名词解释。JSWDL开发包的介绍。JAXP、JAXM的解释。SOAP、UDDI,WSDL解释。

答:Web ServiceWeb Service是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作。

JAXP(Java API for XML Parsing)定义了在Java中使用DOM, SAX, XSLT的通用的接口。这样在你的程序中你只要使用这些通用的接口,当你需要改变具体的实现时候也不需要修改代码。

JAXM(Java API for XML Messaging)是为SOAP通信提供访问方法和传输机制的API。

WSDL是一种 XML格式,用于将网络服务描述为一组端点,这些端点对包含面向文档信息或面向过程信息的消息进行操作。这种格式首先对操作和消息进行抽象描述,然后将其绑定到具体的网络协议和消息格式上以定义端点。相关的具体端点即组合成为抽象端点(服务)。

SOAP即简单对象访问协议(Simple Object Access Protocol),它是用于交换XML编码信息的轻量级协议。

UDDI的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。

6.C/S与 B/S区别:

答:有如下八个方面的不同:

(1)硬件环境不同:

C/S一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务.

B/S建立在广域网之上的,不必是专门的网络硬件环境,例与电话上网,租用设备.信息自己管理.有比C/S更强的适应范围,一般只要有操作系统和浏览器就行

(2)对安全要求不同

C/S一般面向相对固定的用户群,对信息安全的控制能力很强.一般高度机密的信息系统采用C/S结构适宜.可以通过B/S发布部分可公开信息.

B/S建立在广域网之上,对安全的控制能力相对弱,可能面向不可知的用户。

(3)对程序架构不同

C/S程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑.

B/S对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上.比C/S有更高的要求 B/S结构的程序架构是发展的趋势,从MS的.Net系列的BizTalk 2000 Exchange 2000等,全面支持网络的构件搭建的系统. SUN和IBM推的JavaBean构件技术等,使 B/S更加成熟.

(4)软件重用不同

C/S程序可以不可避免的整体性考虑,构件的重用性不如在B/S要求下的构件的重用性好.

B/S对的多重结构,要求构件相对独立的功能.能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上的石头桌子

(5)系统维护不同

C/S程序由于整体性,必须整体考察,处理出现的问题以及系统升级.升级难.可能是再做一个全新的系统

B/S构件组成,方面构件个别的更换,实现系统的无缝升级.系统维护开销减到最小.用户从网上自己下载安装就可以实现升级.

(6)处理问题不同

C/S程序可以处理用户面固定,并且在相同区域,安全要求高需求,与操作系统相关.应该都是相同的系统

B/S建立在广域网上,面向不同的用户群,分散地域,这是C/S无法作到的.与操作系统平台关系最小.

(7)用户接口不同

C/S多是建立的Window平台上,表现方法有限,对程序员普遍要求较高

B/S建立在浏览器上,有更加丰富和生动的表现方式与用户交流.并且大部分难度减低,减低开发成本.

(8)信息流不同

C/S程序一般是典型的中央集权的机械式处理,交互性相对低

B/S信息流向可变化, B-B B-C B-G等信息、流向的变化,更像交易中心。

7.什么是JNDI

什么是spring 最新面试题答案

1.什么是spring?

Spring是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。

2.使用Spring框架的好处是什么?

轻量:Spring是轻量的,基本的版本大约2MB。

控制反转:Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们。

面向切面的编程(AOP):Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开。

容器:Spring包含并管理应用中对象的生命周期和配置。

MVC框架:Spring的WEB框架是个精心设计的框架,是Web框架的一个很好的替代品。

事务管理:Spring提供一个持续的事务管理接口,可以扩展到上至本地事务下至全局事务(JTA)。

异常处理:Spring提供方便的API把具体技术相关的异常(比如由JDBC,Hibernate or JDO抛出的)转化为一致的unchecked异常。

3. Spring由哪些模块组成?

以下是Spring框架的基本模块:

Core module

Bean module

Context module

Expression Language module

JDBC module

ORM module

OXM module

Java Messaging Service(JMS) module

Transaction module

Web module

Web-Servlet module

Web-Struts module

Web-Portlet module

4.核心容器(应用上下文)模块。

这是基本的Spring模块,提供spring框架的基础功能,BeanFactory是任何以spring为基础的应用的核心。Spring框架建立在此模块之上,它使Spring成为一个容器。

5. BeanFactory– BeanFactory实现举例。

Bean工厂是工厂模式的一个实现,提供了控制反转功能,用来把应用的配置和依赖从正真的应用代码中分离。

最常用的BeanFactory实现是XmlBeanFactory类。

6. XMLBeanFactory

最常用的就是org.springframework.beans.factory.xml.XmlBeanFactory,它根据XML文件中的定义加载beans。该容器从XML文件读取配置元数据并用它去创建一个完全配置的系统或应用。

7.解释AOP模块

AOP模块用于发给我们的Spring应用做面向切面的开发,很多支持由AOP联盟提供,这样就确保了Spring和其他AOP框架的共通性。这个模块将元数据编程引入Spring。

8.解释JDBC抽象和DAO模块。

通过使用JDBC抽象和DAO模块,保证数据库代码的简洁,并能避免数据库资源错误关闭导致的问题,它在各种不同的数据库的错误信息之上,提供了一个统一的异常访问层。它还利用Spring的AOP模块给Spring应用中的对象提供事务管理服务。

9.解释对象/关系映射集成模块。

Spring通过提供ORM模块,支持我们在直接JDBC之上使用一个对象/关系映射映射(ORM)工具,Spring支持集成主流的ORM框架,如Hiberate,JDO和 iBATIS SQL Maps。Spring的事务管理同样支持以上所有ORM框架及JDBC。

10.解释WEB模块。

Spring的WEB模块是构建在application context模块基础之上,提供一个适合web应用的上下文。这个模块也包括支持多种面向web的任务,如透明地处理多个文件上传请求和程序级请求参数的绑定到你的业务对象。它也有对Jakarta Struts的支持。

12. Spring配置文件

Spring配置文件是个XML文件,这个文件包含了类信息,描述了如何配置它们,以及如何相互调用。

13.什么是Spring IOC容器?

Spring IOC负责创建对象,管理对象(通过依赖注入(DI),装配对象,配置对象,并且管理这些对象的整个生命周期。

14. IOC的优点是什么?

IOC或依赖注入把应用的代码量降到最低。它使应用容易测试,单元测试不再需要单例和JNDI查找机制。最小的代价和最小的侵入性使松散耦合得以实现。IOC容器支持加载服务时的饿汉式初始化和懒加载。

15. ApplicationContext通常的实现是什么?

FileSystemXmlApplicationContext:此容器从一个XML文件中加载beans的定义,XML Bean配置文件的全路径名必须提供给它的构造函数。

ClassPathXmlApplicationContext:此容器也从一个XML文件中加载beans的定义,这里,你需要正确设置classpath因为这个容器将在classpath里找bean配置。

WebXmlApplicationContext:此容器加载一个XML文件,此文件定义了一个WEB应用的所有bean。

16. Bean工厂和 Application contexts有什么区别?

Application contexts提供一种方法处理文本消息,一个通常的做法是加载文件资源(比如镜像),它们可以向注册为监听器的bean发布事件。另外,在容器或容器内的对象上执行的那些不得不由bean工厂以程序化方式处理的操作,可以在Application contexts中以声明的方式处理。Application contexts实现了MessageSource接口,该接口的实现以可插拔的方式提供获取本地化消息的方法。

17.一个Spring的应用看起来象什么?

一个定义了一些功能的接口。

这实现包括属性,它的Setter, getter方法和函数等。

Spring AOP。

Spring的XML配置文件。

使用以上功能的客户端程序。

依赖注入

18.什么是Spring的依赖注入?

依赖注入,是IOC的一个方面,是个通常的概念,它有多种解释。这概念是说你不用创建对象,而只需要描述它如何被创建。你不在代码里直接组装你的组件和服务,但是要在配置文件里描述哪些组件需要哪些服务,之后一个容器(IOC容器)负责把他们组装起来。

19.有哪些不同类型的IOC(依赖注入)方式?

构造器依赖注入:构造器依赖注入通过容器触发一个类的构造器来实现的,该类有一系列参数,每个参数代表一个对其他类的依赖。

Setter方法注入:Setter方法注入是容器通过调用无参构造器或无参static工厂方法实例化bean之后,调用该bean的setter方法,即实现了基于setter的依赖注入。

20.哪种依赖注入方式你建议使用,构造器注入,还是 Setter方法注入?

你两种依赖方式都可以使用,构造器注入和Setter方法注入。最好的解决方案是用构造器参数实现强制依赖,setter方法实现可选依赖。

Spring Beans

21.什么是Spring beans?

Spring beans是那些形成Spring应用的主干的java对象。它们被Spring IOC容器初始化,装配,和管理。这些beans通过容器中配置的元数据创建。比如,以XML文件中<bean/>的形式定义。

Spring框架定义的beans都是单件beans。在bean tag中有个属性”singleton”,如果它被赋为TRUE,bean就是单件,否则就是一个 prototype bean。默认是TRUE,所以所有在Spring框架中的beans缺省都是单件。

22.一个 Spring Bean定义包含什么?

一个Spring Bean的定义包含容器必知的所有配置元数据,包括如何创建一个bean,它的生命周期详情及它的依赖。

23.如何给Spring容器提供配置元数据?

这里有三种重要的方法给Spring容器提供配置元数据。

XML配置文件。

基于注解的配置。

基于java的配置。

24.你怎样定义类的作用域?

当定义一个<bean>在Spring里,我们还能给这个bean声明一个作用域。它可以通过bean定义中的scope属性来定义。如,当Spring要在需要的时候每次生产一个新的bean实例,bean的scope属性被指定为prototype。另一方面,一个bean每次使用的时候必须返回同一个实例,这个bean的scope属性必须设为 singleton。

25.解释Spring支持的几种bean的作用域。

Spring框架支持以下五种bean的作用域:

singleton: bean在每个Spring ioc容器中只有一个实例。

prototype:一个bean的定义可以有多个实例。

request:每次http请求都会创建一个bean,该作用域仅在基于web的Spring ApplicationContext情形下有效。

session:在一个HTTP Session中,一个bean定义对应一个实例。该作用域仅在基于web的Spring ApplicationContext情形下有效。

global-session:在一个全局的HTTP Session中,一个bean定义对应一个实例。该作用域仅在基于web的Spring ApplicationContext情形下有效。

缺省的Spring bean的作用域是Singleton.

26. Spring框架中的单例bean是线程安全的吗?

不,Spring框架中的单例bean不是线程安全的。

27.解释Spring框架中bean的生命周期。

Spring容器从XML文件中读取bean的定义,并实例化bean。

Spring根据bean的定义填充所有的属性。

如果bean实现了BeanNameAware接口,Spring传递bean的ID到 setBeanName方法。

如果Bean实现了 BeanFactoryAware接口, Spring传递beanfactory给setBeanFactory方法。

如果有任何与bean相关联的BeanPostProcessors,Spring会在postProcesserBeforeInitialization()方法内调用它们。

如果bean实现IntializingBean了,调用它的afterPropertySet方法,如果bean声明了初始化方法,调用此初始化方法。

如果有BeanPostProcessors和bean关联,这些bean的postProcessAfterInitialization()方法将被调用。

如果bean实现了 DisposableBean,它将调用destroy()方法。

28.哪些是重要的bean生命周期方法?你能重载它们吗?

有两个重要的bean生命周期方法,第一个是setup,它是在容器加载bean的时候被调用。第二个方法是 teardown它是在容器卸载类的时候被调用。

The bean标签有两个重要的属性(init-method和destroy-method)。用它们你可以自己定制初始化和注销方法。它们也有相应的注解(@PostConstruct和@PreDestroy)。

29.什么是Spring的内部bean?

当一个bean仅被用作另一个bean的属性时,它能被声明为一个内部bean,为了定义inner bean,在Spring的基于XML的配置元数据中,可以在<property/>或<constructor-arg/>元素内使用<bean/>元素,内部bean通常是匿名的,它们的Scope一般是prototype。

30.在 Spring中如何注入一个java集合?

Spring提供以下几种集合的配置元素:

<list>类型用于注入一列值,允许有相同的值。

<set>类型用于注入一组值,不允许有相同的值。

<map>类型用于注入一组键值对,键和值都可以为任意类型。

<props>类型用于注入一组键值对,键和值都只能为String类型。

31.什么是bean装配?

装配,或bean装配是指在Spring容器中把bean组装到一起,前提是容器需要知道bean的依赖关系,如何通过依赖注入来把它们装配到一起。

32.什么是bean的自动装配?

Spring容器能够自动装配相互合作的bean,这意味着容器不需要<constructor-arg>和<property>配置,能通过Bean工厂自动处理bean之间的协作。

33.解释不同方式的自动装配。

有五种自动装配的方式,可以用来指导Spring容器用自动装配方式来进行依赖注入。

no:默认的方式是不进行自动装配,通过显式设置ref属性来进行装配。

byName:通过参数名自动装配,Spring容器在配置文件中发现bean的autowire属性被设置成byname,之后容器试图匹配、装配和该bean的属性具有相同名字的bean。

byType::通过参数类型自动装配,Spring容器在配置文件中发现bean的autowire属性被设置成byType,之后容器试图匹配、装配和该bean的属性具有相同类型的bean。如果有多个bean符合条件,则抛出错误。

constructor:这个方式类似于byType,但是要提供给构造器参数,如果没有确定的带参数的构造器参数类型,将会抛出异常。

autodetect:首先尝试使用constructor来自动装配,如果无法工作,则使用byType方式。

34.自动装配有哪些局限性?

自动装配的局限性是:

重写:你仍需用<constructor-arg>和<property>配置来定义依赖,意味着总要重写自动装配。

基本数据类型:你不能自动装配简单的属性,如基本数据类型,String字符串,和类。

模糊特性:自动装配不如显式装配精确,如果有可能,建议使用显式装配。

35.你可以在Spring中注入一个null和一个空字符串吗?

可以。

Spring注解

36.什么是基于Java的Spring注解配置?给一些注解的例子.

基于Java的配置,允许你在少量的Java注解的帮助下,进行你的大部分Spring配置而非通过XML文件。

以@Configuration注解为例,它用来标记类可以当做一个bean的定义,被Spring IOC容器使用。另一个例子是@Bean注解,它表示此方法将要返回一个对象,作为一个bean注册进Spring应用上下文。

37.什么是基于注解的容器配置?

相对于XML文件,注解型的配置依赖于通过字节码元数据装配组件,而非尖括号的声明。

开发者通过在相应的类,方法或属性上使用注解的方式,直接组件类中进行配置,而不是使用xml表述bean的装配关系。

38.怎样开启注解装配?

注解装配在默认情况下是不开启的,为了使用注解装配,我们必须在Spring配置文件中配置<context:annotation-config/>元素。

39.@Required注解

这个注解表明bean的属性必须在配置的时候设置,通过一个bean定义的显式的属性值或通过自动装配,若@Required注解的bean属性未被设置,容器将抛出BeanInitializationException。

40.@Autowired注解

@Autowired注解提供了更细粒度的控制,包括在何处以及如何完成自动装配。它的用法和@Required一样,修饰setter方法、构造器、属性或者具有任意名称和/或多个参数的PN方法。

41.@Qualifier注解

当有多个相同类型的bean却只有一个需要自动装配时,将@Qualifier注解和@Autowire注解结合使用以消除这种混淆,指定需要装配的确切的bean。

Spring数据访问

42.在Spring框架中如何更有效地使用JDBC?

使用SpringJDBC框架,资源管理和错误处理的代价都会被减轻。所以开发者只需写statements和 queries从数据存取数据,JDBC也可以在Spring框架提供的模板类的帮助下更有效地被使用,这个模板叫JdbcTemplate(例子见这里here)

43. JdbcTemplate

JdbcTemplate类提供了很多便利的方法解决诸如把数据库数据转变成基本数据类型或对象,执行写好的或可调用的数据库操作语句,提供自定义的数据错误处理。

44. Spring对DAO的支持

Spring对数据访问对象(DAO)的支持旨在简化它和数据访问技术如JDBC,Hibernate or JDO结合使用。这使我们可以方便切换持久层。编码时也不用担心会捕获每种技术特有的异常。

45.使用Spring通过什么方式访问Hibernate?

在Spring中有两种方式访问Hibernate:

控制反转 Hibernate Template和 Callback。

继承 HibernateDAOSupport提供一个AOP拦截器。

46. Spring支持的ORM

Spring支持以下ORM:

Hibernate

iBatis

JPA(Java Persistence API)

TopLink

JDO(Java Data Objects)

OJB

47.如何通过HibernateDaoSupport将Spring和Hibernate结合起来?

用Spring的 SessionFactory调用 LocalSessionFactory。集成过程分三步:

配置the Hibernate SessionFactory。

继承HibernateDaoSupport实现一个DAO。

在AOP支持的事务中装配。

48. Spring支持的事务管理类型

Spring支持两种类型的事务管理:

编程式事务管理:这意味你通过编程的方式管理事务,给你带来极大的灵活性,但是难维护。

声明式事务管理:这意味着你可以将业务代码和事务管理分离,你只需用注解和XML配置来管理事务。

49. Spring框架的事务管理有哪些优点?

它为不同的事务API如 JTA,JDBC,Hibernate,JPA和JDO,提供一个不变的编程模式。

它为编程式事务管理提供了一套简单的API而不是一些复杂的事务API如

它支持声明式事务管理。

它和Spring各种数据访问抽象层很好得集成。

50.你更倾向用那种事务管理类型?

大多数Spring框架的用户选择声明式事务管理,因为它对应用代码的影响最小,因此更符合一个无侵入的轻量级容器的思想。声明式事务管理要优于编程式事务管理,虽然比编程式事务管理(这种方式允许你通过代码控制事务)少了一点灵活性。

Spring面向切面编程(AOP)

51.解释AOP

面向切面的编程,或AOP,是一种编程技术,允许程序模块化横向切割关注点,或横切典型的责任划分,如日志和事务管理。

52. Aspect切面

AOP核心就是切面,它将多个类的通用行为封装成可重用的模块,该模块含有一组API提供横切功能。比如,一个日志模块可以被称作日志的AOP切面。根据需求的不同,一个应用程序可以有若干切面。在Spring AOP中,切面通过带有@Aspect注解的类实现。

52.在Spring AOP中,关注点和横切关注的区别是什么?

关注点是应用中一个模块的行为,一个关注点可能会被定义成一个我们想实现的一个功能。

横切关注点是一个关注点,此关注点是整个应用都会使用的功能,并影响整个应用,比如日志,安全和数据传输,几乎应用的每个模块都需要的功能。因此这些都属于横切关注点。

54.连接点

连接点代表一个应用程序的某个位置,在这个位置我们可以插入一个AOP切面,它实际上是个应用程序执行Spring AOP的位置。

55.通知

通知是个在方法执行前或执行后要做的动作,实际上是程序执行时要通过SpringAOP框架触发的代码段。

Spring切面可以应用五种类型的通知:

before:前置通知,在一个方法执行前被调用。

after:在方法执行之后调用的通知,无论方法执行是否成功。

after-returning:仅当方法成功完成后执行的通知。

after-throwing:在方法抛出异常退出时执行的通知。

around:在方法执行之前和之后调用的通知。

56.切点

切入点是一个或一组连接点,通知将在这些位置执行。可以通过表达式或匹配的方式指明切入点。

57.什么是引入?

引入允许我们在已存在的类中增加新的方法和属性。

58.什么是目标对象?

被一个或者多个切面所通知的对象。它通常是一个代理对象。也指被通知(advised)对象。

59.什么是代理?

代理是通知目标对象后创建的对象。从客户端的角度看,代理对象和目标对象是一样的。

60.有几种不同类型的自动代理?

BeanNameAutoProxyCreator

DefaultAdvisorAutoProxyCreator

Metadata autoproxying

61.什么是织入。什么是织入应用的不同点?

织入是将切面和到其他应用类型或对象连接或创建一个被通知对象的过程。

织入可以在编译时,加载时,或运行时完成。

62.解释基于XML Schema方式的切面实现。

在这种情况下,切面由常规类以及基于XML的配置实现。

63.解释基于注解的切面实现

在这种情况下(基于@AspectJ的实现),涉及到的切面声明的风格与带有java5标注的普通java类一致。

Spring的MVC

64.什么是Spring的MVC框架?

Spring配备构建Web应用的全功能MVC框架。Spring可以很便捷地和其他MVC框架集成,如Struts,Spring的MVC框架用控制反转把业务对象和控制逻辑清晰地隔离。它也允许以声明的方式把请求参数和业务对象绑定。

65. DispatcherServlet

Spring的MVC框架是围绕DispatcherServlet来设计的,它用来处理所有的HTTP请求和响应。

66. WebApplicationContext

WebApplicationContext继承了ApplicationContext并增加了一些WEB应用必备的特有功能,它不同于一般的ApplicationContext,因为它能处理主题,并找到被关联的servlet。

67.什么是Spring MVC框架的控制器?

控制器提供一个访问应用程序的行为,此行为通常通过服务接口实现。控制器解析用户输入并将其转换为一个由视图呈现给用户的模型。Spring用一个非常抽象的方式实现了一个控制层,允许用户创建多种用途的控制器。

68.@Controller注解

该注解表明该类扮演控制器的角色,Spring不需要你继承任何其他控制器基类或引用Servlet API。

69.@RequestMapping注解

该注解是用来映射一个URL到一个类或一个特定的方处理法上。

hr如何面试技术人员

hr如何面试技术人员

hr如何面试技术人员(一)

公司工程人员较多,但对HR对工程人员面试也较多,以下简单谈一下面试中注意的方法与技巧,还请各位大虾多多补充,相互学习交流

一、熟知本岗位的工作职责与任职资格

二、清楚本岗位三个核心的胜任素质能力

三、HR必须熟悉本岗位的工作日常的工作内容,对候选人的工作的虚实进行核实,了解原来的工作情况

四、工作稳定性?--看应聘过往的工作跳糟频繁程度?求职意向等

五、工作计划能力?价值观匹配度?---原平常怎样做工作计划的?了解本公司需要怎么样的人才,什么样的企业氛围,是宽松的,还是严谨的?再去评价候选人是否合适?

技术岗位的技术力量还是以用人单位为准,但HR要了解基本的技术流程与工作内容。还有一些行业内的专用名字,逻辑方法。基本能测试出候选人合不合适本岗位。?关于中层岗位的面试技术?

一、处理问题的能力?--如果有个下属遇到困难,第一时间就跟你汇报,你会怎么办?

二、管理能力?---你对下属是如何分配工作的?如何激励下属有效工作的?

三、主持会议的能力?--一般多长时间主持一次会议?主持会议的作用?

四、管理能力

技术人员面试时应注意什么?

面试是企业人才招聘工作中的一个重要环节,企业通过面试想要达到的目的其实只有一个,那就是招聘到适合本企业需要的人才。

那么,面试应采取怎样科学有效的方式才能达到这个目的呢?最近,北京广州大厦人力资源总监田元、硅谷动力人力资源总监沙思文、壳牌勘探(中国)有限公司人力资源经理金志刚和北京新富投资公司人力资源部经理尹庆亮应邀来到本刊编辑部,与本刊记者共同围绕面试的话题进行了深入探讨:

《中外管理》:我们发现现在很多企业的面试其实就是走过场,或干脆凭感觉,换言之就是看你顺不顺眼,不知在座的各位对面试是怎样的理解?

金志刚:首先要解决面试者的心态问题。现在有些单位的人事干部往往喜欢居高临下,以为自己给了应聘者一个机会。其实面试是双向的,你给对方一个择业的机会,对方给你一个选择人才的机会,双方应该是平等的。

其次,面试过程中要通过相互沟通了解,检测对方是否是适合你单位的人才,同时面试者还要将你企业的生产经营以及企业文化等各方面的情况坦诚地告诉对方,让应聘者判断企业是否符合他发展的需求。

沙思文:有时很像一个习武之人在练功,平时多流汗,战时少流血,如果平时应付了事,战时很可能性命难保。如果一个企业在面试过程中长期应付差事走过场,企业就很难招到所需人才,而企业没有了人才,也就没有了发展后劲,这是很危险的。我想作为一个企业领导者,应该明白这个道理。

《中外管理》:面试时看应聘者的简历和与之交流应是什么关系?

金志刚:简历是基础,交流则可以验证简历的真伪。比如一个应聘者在简历中列举了他曾参与过某个项目的研发,通过交流我们就可以知道他在这个项目中担任了什么角色,是负责人,还是仅仅给项目采购了几个零件。

沙思文:抛开简历的水份不讲,单就简历,我们也能够从中看出一个人的写作水平,逻辑思维能力。

田元:有个问题是非常值得注意的,现在连刚走出高校大门的学生都知道怎么“做”简历而不是写简历,什么样的高科技手段都会用上,带画面的,图表的,彩色的等等,五光十色,令人眼花缭乱,真伪难辩,所以交流仍是最主要的。

尹庆亮:我个人认为,应当正确认识简历中的水份。人的一生不可能一帆风顺,有些人为了换个环境,为了找个好一点的工作,适当地在简历中加一些水份,这是善意的,只要不离谱就不必去苛求。在面试中,简历的审查和交流应该是各有侧重,不可偏废,因为有些人语言表达能力很强,而有些人则木讷,会干不会说。

《中外管理》:有些企业在面试过程中,喜欢用人才测评的方式来衡量人才,这种方法有效吗?

沙思文:人才测评技术在西方国家普遍采用,近几年才流传到我国,但经过实践它并不适合中国国情,对同样的问题,西方人会直观地按自己的理解去回答,而中国人则喜欢揣摩主考官的心思,按着主考官可能喜欢的答案回答,这样测试的结果怎么可能是真实的?

尹庆亮:测评技术中最常用的是性格测评,心理测评,应变测评等,但同样的问题不同文化背景的人其答案也是不同的。比如这样一个问题:“如果你有钱,是买汽车还是买自行车?”

文化背景、消费行为、消费心理都不同的人答案会相同吗?

田元:测评技术的另一个缺陷是,许多单位往往会使用同一个版本,这对于那些经常接触测评的人来说,答案是极其不真实的。

《中外管理》:我们经常接触一些国内中小企业的人力资源经理,他们普遍感到困惑的是,不知道面试该问些什么?尤其面试那些专业技术人员,更是不知所措。

尹庆亮:首先是建题库,对本单位所有的岗位都应建立一套完整的测试题;其次,作为一个优秀的人力资源经理,他必须能够通过非专业的问题判断出应聘者的专业能力。我个人一般是采取请教的方式,提出一两个问题,让应聘者在10分钟内让我这个非专业人士明白,如果10分钟的时间他仍然说得我满脑袋“浆糊”,这人的专业水平肯定一般。

沙思文:不能把面试工作简单地认为就是人力资源部的工作,一个优秀的人力资源经理,应该通过与各部门交流、沟通来了解掌握本单位各个岗位对人才的需求,各用人部门负责人也应参加面试。

我在面试时只负责测试应聘者的性格、工作风格、心理素质、应变能力等方面,专业问题由用人部门负责人测试。

《中外管理》:面试时应注意哪些问题?

金志刚:首先是做好充分的面试准备工作,比如面试表格的设计,对应聘者的着装、言谈、举止、回答问题的方式、听讲话时的表情、语言表达、沟通技巧等,都应有明确的评分标准。当然还要有提问的问题,也可以在面试过程中随机提出问题。

第二是注意营造一个良好、宽松、自由的氛围,不要让应聘者感到紧张、压抑,否则你就听不到真话了。

第三是提问题尽量简明扼要,要尽量让应聘者说话。

田元:面试时一定要注意不能忽略应聘者的一些细微的表现,以小见大的确有它的道理。我本人就有这样的体会:广州大厦开业时,有一个衣着得体、相貌英俊的“帅哥”来应聘营销经理,对这个人的第一印象我们是非常满意的,可面试时发现他说话时喜欢做小动作,还不时地脸红,给人的感觉是阴柔有余而阳刚不足。我们认为此人不适宜搞营销工作,后来的实践证明果然如此,因为这个人根本不善于与人沟通,而且做事理想主义色彩很浓,编制的计划非常细,但缺乏可操作性,最后只好请他走人。

沙思文:我同意田经理的看法,有时候窥一斑是能够见全豹的。

我在摩托罗拉工作时也碰到过类似事情:有一次我面试一个前来应聘的女孩子,第一感觉是很不错,但面试中间我突然有事出去了一下,回来后发现那女孩正坐在我的办公桌上煲电话粥。我当时认定这女孩不行,但由于当时用人部门急需要人,所以让她试了三个月,结果不等试用期满就被辞掉了。

《中外管理》:以小见大的事例很多,我们曾看过这样一个案例:一家幼儿园招聘一名园长,前来应聘的人很多,但就在应聘的人群走向会议室的途中,一个孩子摔倒在地上大哭,可这群应聘者仿佛没有看见一样,只有一个女青年跑过去抱起了孩子,并为他擦干了眼泪。后来的结果是,这名女青年被录用,原因是她具有爱心,尽管她的学历在应聘者中最低。

田元:对于幼儿园来说,爱心是第一位的,但如果这名女青年其他条件都不理想,这样的选择我不敢苟同。

金志刚:爱心是一个先决条件,是一个人本质的具体体现,现在很多单位在招聘人才时也都非常注意测试应聘者的品德,但专业素质也不能忽视。比如你要招一名电脑工程师,来应聘的虽然是一名具有“雷锋”一样品德的人,但对专业技术一无所知,这样的人你会要吗?

《中外管理》:有一部电视剧描述了这样一段故事:一个外地青年到上海一家外企应聘,总经理问他:“应聘的目的是什么?”男青年回答:“为企业贡献自己的聪明才智!”总经理说:“假话。你对本企业一无所知,毫无感情,何谈作贡献?”男青年又回答:“实现个人价值,干一番事业!”总经理说:“还是假话。干事业应该到你的家乡,上海人生地不熟,你干事业给谁看?”男青年只好垂头丧气地回答“是为了赚钱。”总经理于是点了点头;“这才是真话。”请问这样的面试方式对吗?

尹庆亮:可以肯定地说,这个总经理根本不懂面试的原则,面试一般是不会对应聘者的回答直接评价的,面试的结果也很少有当场宣布的。通常的面试都是在面试后由几名面试者共同对应聘者的面试评分表进行评估,然后再作出是否录用的决定。这位总经理的做法,太让应聘者难堪。

金志刚:如果是要刻意地测试应聘者的心理抗压能力,这种作法是可行的,否则真是太离谱了。面试在人才招聘中决不是可有可无的,而是一项非常重要的工作,如果不加重视,随意乱来,是不可能招到急需人才的。

沙思文:正如各位前面所谈的,面试一定要遵循它的原则,要营造良好的氛围,要尊重每一个应聘者,通过平等交流、沟通的方式检测应聘者是否是你企业所需的人才;对那些不符合招聘要求的应聘者,也要给予同样的尊重。试想,一个不尊重人才的企业怎么可能招聘到人才,又怎么可能留住人才呢?

降低笔试的比重(谈谈面试技术人员要看重的几个点)

这几天几个朋友聚会,一个朋友提到前几天有两个不错的程序员去一个大公司面试,本来认为是十拿九稳的事情,其中一个结果居然没通过,后来找人问了一下,发现是折在了笔试上,实在有点哭笑不得。而另外一个通过的,则是因为在现场直接对对方说:如果有笔试,我就直接走了。结果最后通过了„„笔试其实也有必要,但是坦白说,一旦突然接受现场笔试,

很多有经验的程序员通过的概率估计还不如学生,因为压根想不起来一些东西怎么写。很多公司都说招聘新人难,的确难,但也要看你选人的'方式和标准。除了基本的经验和技能,其实有几个点更加重要:

1,看态度

态度决定一起,这个不用多说了,呵呵。主要看看责任感和对自己公司所作事情的认同感。 2,学习能力

自我学习的能力非常重要。如果自己不主动学,或者掌握不了学习的方法,那么不论有几年的经验,水平也高不到哪里去,很可能会被后来的人超越。我们公司以前的几个技术核心,超过一半都不是科班出身,自学成才,甚至有一个是在电脑卖场里面装机学的编程。 3,解决问题的能力

这是最值得看重的能力,也是为什么我不大推荐现场笔试的原因。坦白说,现在互联网这么发达,基本上没什么技术问题是解决不了的。绝大部分问题百度一下,或者找些专业论坛问问(比如CSDN),都可以解决。所以从这点来看,与其笔试,不如给几个难题,给个时间段回家去解决。要知道对于技术来说,现场不能解决,不代表一直不能解决,就算他这几个难题都能找别人解决,也至少证明他有足够的外援能帮助他。我们优先考验的不是难题本身,而是解决问题的能力,而笔试压根解决不了这个问题。

如果你能遇到一个新人,他大学之后自学了几门语言,成功用这些语言做过一些小程序,并且经常上一些程序员网站,QQ上有一群同行。如果他还具有很强的责任感,认同你的公司,那么不要犹豫,也不要看他有几年的经验,他就是你求之不得的人才。

hr如何面试技术人员(二)

一:面试设计师

对于设计师级别,我会分成模块设计师、子系统设计师、专业系统设计师和系统设计师四个级别来考量。

对于设计师,在工具使用方面的考量会降低一些,但在对于系统理解方面则会加强考核。

1.模块设计师

对于模块设计师,我认为他需要掌握怎么样设计模块才能让程序员可以按照设计开展,以及如何考察设计的实现。

常问的问题:

1、根据面试者的经历,挑选面试者曾经做过的模块,问他会怎么样去进行设计;

2、怎么样去保证模块按设计的实现(可以问的问题是举例实现人员在实现时出现差错,他会怎么办)。

3、根据公司的需求,来问一些业务方面的理解能力。

2.子系统设计师

对于子系统设计师,我认为他需要掌握如何划分模块的能力以及如何去考评模块设计师的设计的能力。

常问的问题:

1、根据面试者的经历,挑选一个子系统问他怎么样去进行设计;

2、怎么去考评模块设计师的设计;

3、根据公司的需求,来问一些业务方面的理解能力。

3.专业系统设计师

对于专业系统的设计师,主要则需要考评其对于专业系统的理解程度以及知识的掌握面的程度。

常问的问题:

1、根据面试者的经历,如其有流程系统的设计经验,可以问流程系统的相关设计知识点,看其的掌握程度;

2、简单的介绍实现一个专业系统的关键点,同时说下自己对于该种专业系统的发展的想法。

4.系统设计师

对于系统设计师,则要要求更加的全面,考察其对于系统的架构设计的能力以及带领、组织团队的能力。

常问的问题:

1、根据面试者的经历,问其其中一个系统给他设计的话,他会怎么去做,这个主要考评其从需求推导设计的能力;

2、问面试者认为在进行系统设计时需要考虑的因素,或者就是以一个失败的案例,问他认为设计的失误出现在哪。

上面说的主要都是技术方面的考评,在性格方面需要考评团队合作能力、责任心这些等等,这些可以更多的让HR帮忙。

二:面试程序员

对于程序员级别,我会分成初级程序员、程序员和高级程序员三个等级来判断。

1.初级程序员

对于初程,在技术上其实我不会有过多的要求,对于初程我会更加关注他对于技术的兴趣程度(对于技术网站的关注、各种前沿技术信息的关心),而不仅仅是因为生活所迫;另外就是在技术方面的基本功和对于公司需要采用的产品/开源工具的了解程度。

根据这样的标准,在面试初级程序员时问的问题就集中在这两个方面,常问的就是:

1、经常上什么技术网站,论坛?

2、最近业界的最新技术出现了些什么?

3、根据公司采用的产品/开源工具来问,如公司采用webwork,可以问下面试者是否之前用过,或者是否用过类似的?

2.程序员

对于程序员,在技术上就要有所要求了,也许因为我更看重实战,所以对于程序员,我认为在工具方面上应该是很熟练的人员,其次就是对于工具的快速掌握能力。

根据这个标准,在面试程序员时我会常问的问题:

1、根据公司采用的产品/开源工具和面试者的经历来问,如公司采用webwork,但面试者以前只用struts,那么我会问他开发一个模块时,在采用struts下是一个怎么样的经典开发过程,开发过程中可能会碰到什么问题?

在工具的快速掌握能力上我现在并没有采用具体的考评手段,只会大概的问问面试者,但我觉得最好的方法就是让面试者当场采用一种未曾使用过的技术做hello world之类的东西,这样可以考察面试者学习工具的能力以及承受压力的能力。

3.高级程序员

对于高级程序员,在技术上自然要求就更高了,对于高程,除了需要熟练的使用工具之外,我觉得高程需要具备对于设计思想的深刻理解。

1、根据公司采用的产品/开源工具和面试者的经历来问,如公司采用webwork,但面试者以前只用struts,那么我会问他开发一个模块时,在采用struts下是一个怎么样的经典开发过程,开发过程中可能会碰到什么问题?(面试这样的问题是判断面试者到底有没有具备程序员的能力,具备了才继续往下问)

2、根据面试者的经历问设计模式方面的问题,如面试者采用过webwork、spring IoC、Hibernate这些东西,那么我会问一些MVC、IoC、ORM这样的实战问题,多是问如果让你自己实现一个webwork这样的MVC框架的东西,你会怎么做?

每个面试官随着面试经验的积累,都会逐渐的积累自己的一套面试标准,当然,这套面试标准也会随着公司的需求、业界的发展而不断的变化和发展,HR可以在面试时根据面试者的经历来调整,以更加准确的判断面试者的能力。

;

好了,文章到这里就结束啦,如果本次分享的struts2面试题及答案和shiro面试题问题对您有所帮助,还望关注下本站哦!

php开发app应用 php用什么软件打开女刀出装(刀妹出装2026)