当前位置:文档之家› 15-JVM面试题(87题)

15-JVM面试题(87题)

15-JVM面试题(87题)
15-JVM面试题(87题)

JVM面试题

1、java中会存在内存泄漏吗,请简单描述。

会。自己实现堆载的数据结构时有可能会出现内存泄露,可参看e?ective java.

2、64 位JVM 中,int 的长度是多数?

Java 中,int 类型变量的长度是一个固定值,与平台无关,都是32 位。意思就是说,在32 位和64 位的Java 虚拟机中,int 类型的长度是相同的。

3、Serial 与Parallel GC 之间的不同之处?

Serial 与Parallel 在GC 执行的时候都会引起stop-the-world。它们之间主要不同serial 收集器是默认的复制收集器,执行GC 的时候只有一个线程,而parallel 收集器使用多个GC 线程来执行。4、32 位和64 位的JVM,int 类型变量的长度是多数?

32 位和64 位的JVM 中,int 类型变量的长度是相同的,都是32 位或者4个字节。

5、Java 中WeakReference 与SoftReference 的区别?

虽然WeakReference 与SoftReference 都有利于提高GC 和内存的效率,但是WeakReference ,一旦失去最后一个强引用,就会被GC 回收,而软引用虽然不能阻止被回收,但是可以延迟到JVM 内存不足的时候。

6、JVM 选项-XX:+UseCompressedOops 有什么作用?为什么要使用

当你将你的应用从32 位的JVM 迁移到64 位的JVM 时,由于对象的指针从32 位增加到了64 位,因此堆内存会突然增加,差不多要翻倍。这也会对CPU缓存(容量比内存小很多)的数据产生不利的影响。因为,迁移到64 位的JVM主要动机在于可以指定最大堆大小,通过压缩OOP 可以节省一定的内存。通过-XX:+UseCompressedOops 选项,JVM 会使用32 位的OOP,而不是64 位的OOP。

7、怎样通过Java 程序来判断JVM 是32 位还是64位?

你可以检查某些系统属性如sun.arch.data.model 或os.arch 来获取该信息。

8、32 位JVM 和64 位JVM 的最大堆内存分别是多数?

理论上说上32 位的JVM 堆内存可以到达2^32,即4GB,但实际上会比这个小很多。不同操作系统之间不同,如Windows 系统大约1.5 GB,Solaris 大约3GB。64 位JVM 允许指定最大的堆内存,理论上可以达到2^64,这是一个非常大的数字,实际上你可以指定堆内存大小到100GB。甚至有的JVM,如Azul,堆内存到1000G 都是可能的。

9、JRE、JDK、JVM 及JIT 之间有什么不同?

JRE 代表Java 运行时(Java run-time),是运行Java 引用所必须的。JDK 代表Java 开发工具(Java development kit),是Java 程序的开发工具,如Java编译器,它也包含JRE。JVM 代表Java 虚拟机(Java virtual machine),它的责任是运行Java 应用。JIT 代表即时编译(Just In Time compilation),当代码执行的次数超过一定的阈值时,会将Java 字节码转换为本地代码,如,主要的热点代码会被准换为本地代码,这样有利大幅度提高Java 应用的性能。

10、解释Java 堆空间及GC?

当通过Java 命令启动Java 进程的时候,会为它分配内存。内存的一部分用于创建堆空间,当程序中创建对象的时候,就从对空间中分配内存。GC 是JVM 内部的一个进程,回收无效对象的内存用于将来的分配。

11、JVM 内存区域

JVM 内存区域主要分为线程私有区域【程序计数器、虚拟机栈、本地方法区】、线程共享区域【JAVA 堆、方法区】、直接内存。

线程私有数据区域生命周期与线程相同, 依赖用户线程的启动/结束而创建/销毁(在Hotspot VM 内, 每个线程都与操作系统的本地线程直接映射, 因此这部分内存区域的存/否跟随本地线程的生/死对应)。线程共享区域随虚拟机的启动/关闭而创建/销毁。

直接内存并不是JVM 运行时数据区的一部分, 但也会被频繁的使用: 在JDK 1.4 引入的NIO 提供了基于Channel 与Bu?er 的IO 方式, 它可以使用Native 函数库直接分配堆外内存, 然后使用DirectByteBu?er 对象作为这块内存的引用进行操作(详见: Java I/O 扩展), 这样就避免了在Java堆和Native 堆中来回复制数据, 因此在一些场景中可以显著提高性能。

12、程序计数器(线程私有)

一块较小的内存空间, 是当前线程所执行的字节码的行号指示器,每条线程都要有一个独立的程序计数器,这类内存也称为“线程私有”的内存。

正在执行java 方法的话,计数器记录的是虚拟机字节码指令的地址(当前指令的地址)。如果还是Native 方法,则为空。

这个内存区域是唯一一个在虚拟机中没有规定任何OutOfMemoryError 情况的区域。

13、虚拟机栈(线程私有)

是描述java方法执行的内存模型,每个方法在执行的同时都会创建一个栈帧(Stack Frame)用于存储局部变量表、操作数栈、动态链接、方法出口等信息。每一个方法从调用直至执行完成的过程,就对应着一个栈帧在虚拟机栈中入栈到出栈的过程。

栈帧(Frame)是用来存储数据和部分过程结果的数据结构,同时也被用来处理动态链接(Dynamic Linking)、方法返回值和异常分派(Dispatch Exception)。栈帧随着方法调用而创建,随着方法结束而销毁——无论方法是正常完成还是异常完成(抛出了在方法内未被捕获的异常)都算作方法结束。

14、本地方法区(线程私有)

本地方法区和Java Stack 作用类似, 区别是虚拟机栈为执行Java 方法服务, 而本地方法栈则为Native 方法服务, 如果一个VM 实现使用C-linkage 模型来支持Native 调用, 那么该栈将会是一个C 栈,但HotSpot VM 直接就把本地方法栈和虚拟机栈合二为一。

15、你能保证GC 执行吗?

不能,虽然你可以调用System.gc() 或者Runtime.gc(),但是没有办法保证GC的执行。

16、怎么获取Java 程序使用的内存?堆使用的百分比?

可以通过https://www.doczj.com/doc/d21881369.html,ng.Runtime 类中与内存相关方法来获取剩余的内存,总内存及最大堆内存。通过这些方法你也可以获取到堆使用的百分比及堆内存的剩余空间。Runtime.freeMemory() 方法返回剩余空间的字节数,Runtime.totalMemory()方法总内存的字节数,Runtime.maxMemory() 返回最大内存的字节数。

17、Java 中堆和栈有什么区别?

JVM 中堆和栈属于不同的内存区域,使用目的也不同。栈常用于保存方法帧和局部变量,而对象总是在堆上分配。栈通常都比堆小,也不会在多个线程之间共享,而堆被整个JVM 的所有线程共享。

18、描述一下JVM 加载class 文件的原理机制

JVM 中类的装载是由类加载器(ClassLoader)和它的子类来实现的,Java 中的类加载器是一个重要的Java 运行时系统组件,它负责在运行时查找和装入类文件中的类。

由于Java 的跨平台性,经过编译的Java 源程序并不是一个可执行程序,而是一个或多个类文件。当Java 程序需要使用某个类时,JVM 会确保这个类已经被加载、连接(验证、准备和解析)和初始化。类的加载是指把类的.class 文件中的数据读入到内存中,通常是创建一个字节数组读入.class 文件,然后产生与所加载类对应

的Class 对象。

加载完成后,Class 对象还不完整,所以此时的类还不可用。当类被加载后就进入连接阶段,这一阶段包括验证、准备(为静态变量分配内存并设置默认的初始值)和解析(将符号引用替换为直接引用)三个步骤。最后JVM 对

类进行初始化,包括:1)如果类存在直接的父类并且这个类还没有被初始化,那么就先初始化父类;2) 如果类中存在初始化语句,就依次执行这些初始化语句。

类的加载是由类加载器完成的,类加载器包括:根加载器(BootStrap)、扩展加载器(Extension)、系统加载器(System)和用户自定义类加载器(https://www.doczj.com/doc/d21881369.html,ng.ClassLoader 的子类)。

从Java 2(JDK 1.2)开始,类加载过程采取了父亲委托机制(PDM)。PDM 更好的保证了Java 平台的安全性,在该机制中,JVM 自带的Bootstrap 是根加载器,其他的加载器都有且仅有一个父类加载器。类的加载首先请求父类加载器加载,父类加载器无能为力时才由其子类加载器自行加载。JVM 不会向Java 程序提供对Bootstrap 的引用。下面是关于几个类

加载器的说明:

1.Bootstrap:一般用本地代码实现,负责加载JVM 基础核心类库(rt.jar);

2.Extension:从java.ext.dirs 系统属性所指定的目录中加载类库,它的父加载器是Bootstrap;

3.System:又叫应用类加载器,其父类是Extension。它是应用最广泛的类加载器。它从环境变量

classpath 或者系统属性java.class.path 所指定的目录中记载类,是用户自定义加载器的默认父加载器。

19、GC 是什么?为什么要有GC?

GC 是垃圾收集的意思,内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java 提供的GC 功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java 语言没有提供释放已分配内存的显示操作方法。Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一:System.gc() 或Runtime.getRuntime().gc() ,但JVM 可以屏蔽掉显示的垃圾回收调用。

垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低

优先级的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。在Java 诞生初期,垃圾回收是Java最大的亮点之一,因为服务器端的编程需要有效的防止内存泄露问题,然而时过境迁,如今

Java 的垃圾回收机制已经成为被诟病的东。移动智能终端用户通常觉得iOS 的系统比Android 系统有更好的用户体验,其中一个深层次的原因就在于Android 系统中垃圾回收的不可预知性。

20、堆(Heap-线程共享)-运行时数据区

是被线程共享的一块内存区域,创建的对象和数组都保存在Java 堆内存中,也是垃圾收集器进行垃圾收集的最重要的内存区域。由于现代VM 采用分代收集算法, 因此Java 堆从GC 的角度还可以细分为: 新生代(Eden 区、From Survivor 区和To Survivor 区)和老年代。

21、方法区/永久代(线程共享)

即我们常说的永久代(Permanent Generation), 用于存储被JVM 加载的类信息、常量、静态变量、即时编译器编译后的代码等数据.HotSpot VM把GC分代收集扩展至方法区,即使用Java堆的永久代来实现方法区, 这样HotSpot 的垃圾收集器就可以像管理Java 堆一样管理这部分内存,而不必为方法区开发专门的内存管理器(永久带的内存回收的主要目标是针对常量池的回收和类型的卸载,因此收益一般很小)

运行时常量池(Runtime Constant Pool)是方法区的一部分。Class 文件中除了有类的版本、字段、方法、接口等描述等信息外,还有一项信息是常量池(Constant Pool Table),用于存放编译期生成的各种字面量和符号引用,这部分内容将在类加载后存放到方法区的运行时常量池中。Java 虚拟机对Class 文件的每一部分(自然也包括常量池)的格式都有严格的规定,每一个字节用于存储哪种数据都必须符合规范上的要求,这样才会被虚拟机认可、装载和执行。

22、JVM 运行时内存

Java 堆从GC 的角度还可以细分为: 新生代(Eden 区、From Survivor 区和To Survivor 区)和老年代。

23、新生代

是用来存放新生的对象。一般占据堆的1/3 空间。由于频繁创建对象,所以新生代会频繁触发MinorGC

进行垃圾回收。新生代又分为Eden 区、ServivorFrom、ServivorTo 三个区。

Eden 区

Java 新对象的出生地(如果新创建的对象占用内存很大,则直接分配到老年代)。当Eden 区内存不够

的时候就会触发MinorGC,对新生代区进行一次垃圾回收。

ServivorFrom

上一次GC 的幸存者,作为这一次GC 的被扫描者。

ServivorTo

保留了一次MinorGC 过程中的幸存者。

MinorGC 的过程(复制->清空->互换)

MinorGC 采用复制算法。

1:eden、servicorFrom 复制到ServicorTo,年龄+1

首先,把Eden 和ServivorFrom 区域中存活的对象复制到ServicorTo 区域(如果有对象的年龄以及达

到了老年的标准,则赋值到老年代区),同时把这些对象的年龄+1(如果ServicorTo 不够位置了就放

到老年区);

2:清空eden、servicorFrom

然后,清空Eden 和ServicorFrom 中的对象;

3:ServicorTo 和ServicorFrom 互换

最后,ServicorTo 和ServicorFrom 互换,原ServicorTo 成为下一次GC 时的ServicorFrom区。

24、老年代

主要存放应用程序中生命周期长的内存对象。

老年代的对象比较稳定,所以MajorGC 不会频繁执行。在进行MajorGC 前一般都先进行了一次MinorGC,使得有新生代的对象晋身入老年代,导致空间不够用时才触发。当无法找到足够大的连续空

间分配给新创建的较大对象时也会提前触发一次MajorGC 进行垃圾回收腾出空间。

MajorGC 采用标记清除算法:首先扫描一次所有老年代,标记出存活的对象,然后回收没有标记的对象。ajorGC 的耗时比较长,因为要扫描再回收。MajorGC 会产生内存碎片,为了减少内存损耗,我们一般

需要进行合并或者标记出来方便下次直接分配。当老年代也满了装不下的时候,就会抛出OOM(Out of Memory)异常。

25、永久代

指内存的永久保存区域,主要存放Class 和Meta(元数据)的信息,Class 在被加载的时候被放入永久

区域,它和和存放实例的区域不同,GC 不会在主程序运行期对永久区域进行清理。所以这也导致了永久

代的区域会随着加载的Class 的增多而胀满,最终抛出OOM 异常。

26、JAVA8 与元数据

在Java8 中,永久代已经被移除,被一个称为“元数据区”(元空间)的区域所取代。元空间的本质和永久代类似,元空间与永久代之间最大的区别在于:元空间并不在虚拟机中,而是使用本地内存。因此,默认情况下,元空间的大小仅受本地内存限制。类的元数据放入nativememory, 字符串池和类的静态变量

放入java 堆中,这样可以加载多少类的元数据就不再由MaxPermSize 控制, 而由系统的实际可用空间

来控制。

27、引用计数法

在Java 中,引用和对象是有关联的。如果要操作对象则必须用引用进行。因此,很显然一个简单的办法是通过引用计数来判断一个对象是否可以回收。简单说,即一个对象如果没有任何与之关联的引用,即他们的引用计数都不为0,则说明对象不太可能再被用到,那么这个对象就是可回收对象。

28、可达性分析

为了解决引用计数法的循环引用问题,Java 使用了可达性分析的方法。通过一系列的“GC roots”对象作为起点搜索。如果在“GC roots”和一个对象之间没有可达路径,则称该对象是不可达的。要注意的是,不可达对象不等价于可回收对象,不可达对象变为可回收对象至少要经过两次标记过程。两次标记后仍然是可回收对象,则将面临回收。

29、标记清除算法(Mark-Sweep)

最基础的垃圾回收算法,分为两个阶段,标注和清除。标记阶段标记出所有需要回收的对象,清除阶段

回收被标记的对象所占用的空间。如图

从图中我们就可以发现,该算法最大的问题是内存碎片化严重,后续可能发生大对象不能找到可利用空

间的问题。

30、复制算法(copying)

为了解决Mark-Sweep 算法内存碎片化的缺陷而被提出的算法。按内存容量将内存划分为等大小的两块。每次只使用其中一块,当这一块内存满后将尚存活的对象复制到另一块上去,把已使用的内存清掉,如图:

这种算法虽然实现简单,内存效率高,不易产生碎片,但是最大的问题是可用内存被压缩到了原本的一半。且存活对象增多的话,Copying 算法的效率会大大降低。

31、标记整理算法(Mark-Compact)

结合了以上两个算法,为了避免缺陷而提出。标记阶段和Mark-Sweep 算法相同,标记后不是清理对象,而是将存活对象移向内存的一端。然后清除端边界外的对象。如图:

32、分代收集算法

分代收集法是目前大部分JVM 所采用的方法,其核心思想是根据对象存活的不同生命周期将内存划分为不同的域,一般情况下将GC 堆划分为老生代(Tenured/Old Generation)和新生代(YoungGeneration)。老生代的特点是每次垃圾回收时只有少量对象需要被回收,新生代的特点是每次

垃圾回收时都有大量垃圾需要被回收,因此可以根据不同区域选择不同的算法。

33、新生代与复制算法

目前大部分JVM 的GC 对于新生代都采取Copying 算法,因为新生代中每次垃圾回收都要回收大部分对象,即要复制的操作比较少,但通常并不是按照1:1 来划分新生代。一般将新生代划分为一块较大的Eden 空间和两个较小的Survivor 空间(From Space, To Space),每次使用Eden 空间和其中的一块Survivor 空间,当进行回收时,将该两块空间中还存活的对象复制到另一块Survivor 空间中。

34、老年代与标记复制算法

而老年代因为每次只回收少量对象,因而采用Mark-Compact 算法。

1.JAVA 虚拟机提到过的处于方法区的永生代(Permanet Generation),它用来存储class 类,常量,

方法描述等。对永生代的回收主要包括废弃常量和无用的类。

2.对象的内存分配主要在新生代的Eden Space 和Survivor Space 的From Space(Survivor 目前存

放对象的那一块),少数情况会直接分配到老生代。

3.当新生代的Eden Space 和From Space 空间不足时就会发生一次GC,进行GC 后,EdenSpace

和From Space 区的存活对象会被挪到To Space,然后将Eden Space 和FromSpace 进行清理。

4.如果To Space 无法足够存储某个对象,则将这个对象存储到老生代。

5.在进行GC 后,使用的便是Eden Space 和To Space 了,如此反复循环。

6.当对象在Survivor 区躲过一次GC 后,其年龄就会+1。默认情况下年龄到达15 的对象会被移到

老生代中。

35、JAVA 强引用

在Java 中最常见的就是强引用,把一个对象赋给一个引用变量,这个引用变量就是一个强引用。当一个对象被强引用变量引用时,它处于可达状态,它是不可能被垃圾回收机制回收的,即使该对象以后永远都不会被用到JVM 也不会回收。因此强引用是造成Java 内存泄漏的主要原因之一。

36、JAVA软引用

软引用需要用SoftReference 类来实现,对于只有软引用的对象来说,当系统内存足够时它不会被回收,当系统内存空间不足时它会被回收。软引用通常用在对内存敏感的程序中。

37、JAVA弱引用

弱引用需要用WeakReference 类来实现,它比软引用的生存期更短,对于只有弱引用的对象来说,只要垃圾回收机制一运行,不管JVM 的内存空间是否足够,总会回收该对象占用的内存。

38、JAVA虚引用

虚引用需要PhantomReference 类来实现,它不能单独使用,必须和引用队列联合使用。虚引用的主要作用是跟踪对象被垃圾回收的状态。

39、分代收集算法

当前主流VM 垃圾收集都采用”分代收集” (Generational Collection)算法, 这种算法会根据对象存活周期的不同将内存划分为几块, 如JVM 中的新生代、老年代、永久代,这样就可以根据各年代特点分别采用最适当的GC 算法

40、在新生代-复制算法

每次垃圾收集都能发现大批对象已死, 只有少量存活. 因此选用复制算法, 只需要付出少量存活对象的复制成本就可以完成收集

41、在老年代-标记整理算法

因为对象存活率高、没有额外空间对它进行分配担保, 就必须采用“标记—清理”或“标记—整理”算法来进行回收, 不必进行内存复制, 且直接腾出空闲内存。

42、分区收集算法

分区算法则将整个堆空间划分为连续的不同小区间, 每个小区间独立使用, 独立回收. 这样做的好处是可以控制一次回收多少个小区间, 根据目标停顿时间, 每次合理地回收若干个小区间(而不是整个堆), 从而减少一次GC 所产生的停顿。

43、GC 垃圾收集器

Java 堆内存被划分为新生代和年老代两部分,新生代主要使用复制和标记-清除垃圾回收算法;年老代主要使用标记-整理垃圾回收算法,因此java 虚拟中针对新生代和年老代分别提供了多种不同的垃圾收集器,JDK1.6 中Sun HotSpot 虚拟机的垃圾收集器如下:

44、Serial 垃圾收集器(单线程、复制算法)

Serial(英文连续)是最基本垃圾收集器,使用复制算法,曾经是JDK1.3.1 之前新生代唯一的垃圾收集器。Serial 是一个单线程的收集器,它不但只会使用一个CPU 或一条线程去完成垃圾收集工作,并且在进行垃圾收集的同时,必须暂停其他所有的工作线程,直到垃圾收集结束。

Serial 垃圾收集器虽然在收集垃圾过程中需要暂停所有其他的工作线程,但是它简单高效,对于限定单个CPU 环境来说,没有线程交互的开销,可以获得最高的单线程垃圾收集效率,因此Serial垃圾收集器依然是java 虚拟机运行在Client 模式下默认的新生代垃圾收集器。

45、ParNew 垃圾收集器(Serial+多线程)

ParNew 垃圾收集器其实是Serial 收集器的多线程版本,也使用复制算法,除了使用多线程进行垃圾收集之外,其余的行为和Serial 收集器完全一样,ParNew 垃圾收集器在垃圾收集过程中同样也要暂停所有其他的工作线程。

ParNew 收集器默认开启和CPU 数目相同的线程数,可以通过-XX:ParallelGCThreads 参数来限制垃圾收集器的线程数。【Parallel:平行的】

ParNew 虽然是除了多线程外和Serial 收集器几乎完全一样,但是ParNew垃圾收集器是很多java虚拟机运行在Server 模式下新生代的默认垃圾收集器。

46、Parallel Scavenge 收集器(多线程复制算法、高效)

Parallel Scavenge 收集器也是一个新生代垃圾收集器,同样使用复制算法,也是一个多线程的垃圾收集器,它重点关注的是程序达到一个可控制的吞吐量(Thoughput,CPU 用于运行用户代码的时间/CPU 总消耗时间,即吞吐量=运行用户代码时间/(运行用户代码时间+垃圾收集时间)),高吞吐量可以最高效率地利用CPU 时间,尽快地完成程序的运算任务,主要适用于在后台运算而不需要太多交互的任务。自适应调节策略也是ParallelScavenge 收集器与ParNew 收集器的一个重要区别。

57、Serial Old 收集器(单线程标记整理算法)

Serial Old 是Serial 垃圾收集器年老代版本,它同样是个单线程的收集器,使用标记-整理算法,这个收集器也主要是运行在Client 默认的java 虚拟机默认的年老代垃圾收集器。在Server 模式下,主要有两个用途:

1.在JDK1.5 之前版本中与新生代的Parallel Scavenge 收集器搭配使用。

2.作为年老代中使用CMS 收集器的后备垃圾收集方案。新生代Serial 与年老代Serial Old 搭配垃圾

收集过程图:

新生代Parallel Scavenge 收集器与ParNew 收集器工作原理类似,都是多线程的收集器,都使用的是复制算法,在垃圾收集过程中都需要暂停所有的工作线程。新生代ParallelScavenge/ParNew 与年老代Serial Old 搭配垃圾收集过程图:

58、Parallel Old 收集器(多线程标记整理算法)

Parallel Old 收集器是Parallel Scavenge的年老代版本,使用多线程的标记-整理算法,在JDK1.6才开始提供。

在JDK1.6 之前,新生代使用ParallelScavenge 收集器只能搭配年老代的Serial Old 收集器,只能保证新生代的吞吐量优先,无法保证整体的吞吐量,Parallel Old 正是为了在年老代同样提供吞吐量优先的垃圾收集器,如果系统对吞吐量要求比较高,可以优先考虑新生代Parallel Scavenge和年老代Parallel Old 收集器的搭配策略。

新生代Parallel Scavenge 和年老代Parallel Old 收集器搭配运行过程图

59、CMS 收集器(多线程标记清除算法)

Concurrent mark sweep(CMS)收集器是一种年老代垃圾收集器,其最主要目标是获取最短垃圾回收停顿时间,和其他年老代使用标记-整理算法不同,它使用多线程的标记-清除算法。最短的垃圾收集停顿时间可以为交互比较高的程序提高用户体验。CMS 工作机制相比其他的垃圾收集器来说更复杂。整个过程分为以下4 个阶段:

初始标记

只是标记一下GC Roots 能直接关联的对象,速度很快,仍然需要暂停所有的工作线程。

并发标记

进行GC Roots 跟踪的过程,和用户线程一起工作,不需要暂停工作线程。

重新标记

为了修正在并发标记期间,因用户程序继续运行而导致标记产生变动的那一部分对象的标记记录,仍然

需要暂停所有的工作线程。

并发清除

清除GC Roots 不可达对象,和用户线程一起工作,不需要暂停工作线程。由于耗时最长的并发标记和并发清除过程中,垃圾收集线程可以和用户现在一起并发工作,所以总体上来看CMS 收集器的内存回收和用户线程是一起并发地执行。CMS 收集器工作过程

60、G1 收集器

Garbage ?rst 垃圾收集器是目前垃圾收集器理论发展的最前沿成果,相比与CMS 收集器,G1 收

集器两个最突出的改进是:

1.基于标记-整理算法,不产生内存碎片。

2.可以非常精确控制停顿时间,在不牺牲吞吐量前提下,实现低停顿垃圾回收。G1 收集器避免全区域

垃圾收集,它把堆内存划分为大小固定的几个独立区域,并且跟踪这些区域的垃圾收集进度,同

时在后台维护一个优先级列表,每次根据所允许的收集时间,优先回收垃圾最多的区域。区域划分和优先级区域回收机制,确保G1 收集器可以在有限时间获得最高的垃圾收集效率

61、JVM 类加载机制

JVM 类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们就分别来看一下这五个过程。

加载

加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的https://www.doczj.com/doc/d21881369.html,ng.Class 对象,

作为方法区这个类的各种数据的入口。注意这里不一定非得要从一个Class 文件获取,这里既可以从

ZIP 包中读取(比如从jar 包和war 包中读取),也可以在运行时计算生成(动态代理),也可以由其它文件生成(比如将JSP 文件转换成对应的Class 类)。

验证

这一阶段的主要目的是为了确保Class 文件的字节流中包含的信息是否符合当前虚拟机的要求,并且不会危害虚拟机自身的安全。

准备

准备阶段是正式为类变量分配内存并设置类变量的初始值阶段,即在方法区中分配这些变量所使用的内

存空间。注意这里所说的初始值概念,比如一个类变量定义为:

实际上变量v 在准备阶段过后的初始值为0 而不是8080,将v 赋值为8080 的put static 指令是

程序被编译后,存放于类构造器方法之中。

但是注意如果声明为:

public static ?nal int v = 8080;

在编译阶段会为v 生成ConstantValue 属性,在准备阶段虚拟机会根据ConstantValue 属性将v

赋值为8080。

解析

解析阶段是指虚拟机将常量池中的符号引用替换为直接引用的过程。符号引用就是class 文件中

的:

public static int v = 8080;

实际上变量v 在准备阶段过后的初始值为0 而不是8080,将v 赋值为8080 的put static 指令是程序被编译后,存放于类构造器方法之中。但是注意如果声明为:

在编译阶段会为v 生成ConstantValue 属性,在准备阶段虚拟机会根据ConstantValue 属性将v

赋值为8080。

解析

解析阶段是指虚拟机将常量池中的符号引用替换为直接引用的过程。符号引用就是class 文件中

的:

在编译阶段会为v 生成ConstantValue 属性,在准备阶段虚拟机会根据ConstantValue 属性将v赋值为8080。

解析

解析阶段是指虚拟机将常量池中的符号引用替换为直接引用的过程。符号引用就是class 文件中的:

1.CONSTANT_Class_info

2.CONSTANT_Field_info

3.CONSTANT_Method_info

等类型的常量。

符号引用

符号引用与虚拟机实现的布局无关,引用的目标并不一定要已经加载到内存中。各种虚拟机实现的内存布局可以各不相同,但是它们能接受的符号引用必须是一致的,因为符号引用的字面量形式明确定义在Java 虚拟机规范的Class 文件格式中。

直接引用

直接引用可以是指向目标的指针,相对偏移量或是一个能间接定位到目标的句柄。如果有了直接引用,

那引用的目标必定已经在内存中存在。

初始化

初始化阶段是类加载最后一个阶段,前面的类加载阶段之后,除了在加载阶段可以自定义类加载器以

外,其它操作都由JVM 主导。到了初始阶段,才开始真正执行类中定义的Java 程序代码。

类构造器

初始化阶段是执行类构造器方法的过程。方法是由编译器自动收集类中的类变量的赋值操作和静态语句块中的语句合并而成的。虚拟机会保证子方法执行之前,父类的方法已经执行完毕,如果一个类中没有对静态变量赋值也没有静态语句块,那么编译器可以不为这个类生成()方法。注意以下几种情况不会执行类初始化:

1.通过子类引用父类的静态字段,只会触发父类的初始化,而不会触发子类的初始化。

2.定义对象数组,不会触发该类的初始化。

3.常量在编译期间会存入调用类的常量池中,本质上并没有直接引用定义常量的类,不会触

发定义常量所在的类。

4.通过类名获取Class 对象,不会触发类的初始化。

5.通过Class.forName 加载指定类时,如果指定参数initialize 为false 时,也不会触发类初

始化,其实这个参数是告诉虚拟机,是否要对类进行初始化。

6.通过ClassLoader 默认的loadClass 方法,也不会触发初始化动作。

62、类加载器

虚拟机设计团队把加载动作放到JVM 外部实现,以便让应用程序决定如何获取所需的类,JVM 提供了

3 种类加载器:

启动类加载器(Bootstrap ClassLoader)

负责加载JAVA_HOME\lib 目录中的,或通过-Xbootclasspath 参数指定路径中的,且被虚拟机认可(按文件名识别,如rt.jar)的类。

扩展类加载器(Extension ClassLoader)

负责加载JAVA_HOME\lib\ext 目录中的,或通过java.ext.dirs 系统变量指定路径中的类库。

应用程序类加载器(Application ClassLoader):

负责加载用户路径(classpath)上的类库。JVM 通过双亲委派模型进行类的加载,当然我们也可以通过继承https://www.doczj.com/doc/d21881369.html,ng.ClassLoader实现自定义的类加载器。

63、双亲委派

当一个类收到了类加载请求,他首先不会尝试自己去加载这个类,而是把这个请求委派给父类去完成,每一个层次类加载器都是如此,因此所有的加载请求都应该传送到启动类加载其中,只有当父类加载器反馈自己无法完成这个请求的时候(在它的加载路径下没有找到所需加载的Class),子类加载器才会尝试自己去加载。

采用双亲委派的一个好处是比如加载位于rt.jar 包中的类https://www.doczj.com/doc/d21881369.html,ng.Object,不管是哪个加载器加载这个类,最终都是委托给顶层的启动类加载器进行加载,这样就保证了使用不同的类加载器最终得到的都是同样一个Object 对象

64、OSGI(动态模型系统)

OSGi(Open Service Gateway Initiative),是面向Java 的动态模型系统,是Java 动态化模块化系统的

一系列规范。

65、动态改变构造

OSGi 服务平台提供在多种网络设备上无需重启的动态改变构造的功能。为了最小化耦合度和促使这些耦合度可管理,OSGi 技术提供一种面向服务的架构,它能使这些组件动态地发现对方。

66、模块化编程与热插拔

OSGi 旨在为实现Java 程序的模块化编程提供基础条件,基于OSGi 的程序很可能可以实现模块级的热插拔功能,当程序升级更新时,可以只停用、重新安装然后启动程序的其中一部分,这对企业级程序开发来说是非常具有诱惑力的特性。

OSGi 描绘了一个很美好的模块化开发目标,而且定义了实现这个目标的所需要服务与架构,同时也有成熟的框架进行实现支持。但并非所有的应用都适合采用OSGi 作为基础架构,它在提供强大功能同时,也引入了额外的复杂度,因为它不遵守了类加载的双亲委托模型。

67、JVM内存模型

线程独占:栈,本地方法栈,程序计数器

线程共享:堆,方法区

68、栈

又称方法栈,线程私有的,线程执行方法是都会创建一个栈阵,用来存储局部变量表,操作栈,动态链接,方法

出口等信息.调用方法时执行入栈,方法返回式执行出栈.

69、本地方法栈

与栈类似,也是用来保存执行方法的信息.执行Java方法是使用栈,执行Native方法时使用本地方法栈.

70、程序计数器

保存着当前线程执行的字节码位置,每个线程工作时都有独立的计数器,只为执行Java方法服务,执行Native方法时,程序计数器为空.

71、堆

JVM内存管理最大的一块,对被线程共享,目的是存放对象的实例,几乎所欲的对象实例都会放在这里,当堆没有可用空间时,会抛出OOM异常.根据对象的存活周期不同,JVM把对象进行分代管理,由垃圾回收器进行垃圾的回收管理

72、方法区

又称非堆区,用于存储已被虚拟机加载的类信息,常量,静态变量,即时编译器优化后的代码等数据.1.7的永

久代和1.8的元空间都是方法区的一种实现。

73、分代回收

分代回收基于两个事实:大部分对象很快就不使用了,还有一部分不会立即无用,但也不会持续很长时间

年轻代->标记-复制

老年代->标记-清除

74、堆和栈的区别

栈是运行时单位,代表着逻辑,内含基本数据类型和堆中对象引用,所在区域连续,没有碎片;堆是存储单位,代表着数据,可被多个栈共享(包括成员中基本数据类型、引用和引用对象),所在区域不连续,会有碎片。

1、功能不同

栈内存用来存储局部变量和方法调用,而堆内存用来存储Java中的对象。无论是成员变量,局部变量,还是类变量,它们指向的对象都存储在堆内存中。

2、共享性不同

栈内存是线程私有的。

堆内存是所有线程共有的。

3、异常错误不同

慕课网分享:40个Java集合面试问题和答案

慕课网分享:40个Java集合面试问题和答案 Java集合框架为Java编程语言的基础,也是Java面试中很重要的一个知识点。这里,慕课网列出了一些关于Java集合的重要问题和答案,程序员们,你能回答出几道问题呢? 1.Java集合框架是什么?说出一些集合框架的优点? 每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。在保证线程安全的情况下使用泛型和并发集合类,Java已经经历了很久。它还包括在Java并发包中,阻塞接口以及它们的实现。集合框架的部分优点如下: (1)使用核心集合类降低开发成本,而非实现我们自己的集合类。 (2)随着使用经过严格测试的集合框架类,代码质量会得到提高。 (3)通过使用JDK附带的集合类,可以降低代码维护成本。 (4)复用性和可操作性。 2.集合框架中的泛型有什么优点? Java1.5引入了泛型,所有的集合接口和实现都大量地使用它。泛型允许我们为集合提供一个可以容纳的对象类型,因此,如果你添加其它类型的任何元素,它会在编译时报错。这避免了在运行时出现ClassCastException,因为你将会在编译时得到报错信息。泛型也使得代码整洁,我们不需要使用显式转换和instanceOf操作符。它也给运行时带来好处,因为不会产生类型检查的字节码指令。 3.Java集合框架的基础接口有哪些?

Collection为集合层级的根接口。一个集合代表一组对象,这些对象即为它的元素。Java 平台不提供这个接口任何直接的实现。 Set是一个不能包含重复元素的集合。这个接口对数学集合抽象进行建模,被用来代表集合,就如一副牌。 List是一个有序集合,可以包含重复元素。你可以通过它的索引来访问任何元素。List 更像长度动态变换的数组。 Map是一个将key映射到value的对象.一个Map不能包含重复的key:每个key最多只能映射一个value。 一些其它的接口有Queue、Dequeue、SortedSet、SortedMap和ListIterator。 4.为何Collection不从Cloneable和Serializable接口继承? Collection接口指定一组对象,对象即为它的元素。如何维护这些元素由Collection的具体实现决定。例如,一些如List的Collection实现允许重复的元素,而其它的如Set就不允许。很多Collection实现有一个公有的clone方法。然而,把它放到集合的所有实现中也是没有意义的。这是因为Collection是一个抽象表现。重要的是实现。 当与具体实现打交道的时候,克隆或序列化的语义和含义才发挥作用。所以,具体实现应该决定如何对它进行克隆或序列化,或它是否可以被克隆或序列化。 在所有的实现中授权克隆和序列化,最终导致更少的灵活性和更多的限制。特定的实现应该决定它是否可以被克隆和序列化。 5.为何Map接口不继承Collection接口? 尽管Map接口和它的实现也是集合框架的一部分,但Map不是集合,集合也不是Map。因此,Map继承Collection毫无意义,反之亦然。 如果Map继承Collection接口,那么元素去哪儿?Map包含key-value对,它提供抽取key或value列表集合的方法,但是它不适合“一组对象”规范。 6.Iterator是什么? Iterator接口提供遍历任何Collection的接口。我们可以从一个Collection中使用迭代器方法来获取迭代器实例。迭代器取代了Java集合框架中的Enumeration。迭代器允许调用者在迭代过程中移除元素。 7.Enumeration和Iterator接口的区别? Enumeration的速度是Iterator的两倍,也使用更少的内存。Enumeration是非常基础的,也满足了基础的需要。但是,与Enumeration相比,Iterator更加安全,因为当一个集合正在被遍历的时候,它会阻止其它线程去修改集合。 迭代器取代了Java集合框架中的Enumeration。迭代器允许调用者从集合中移除元素,而Enumeration不能做到。为了使它的功能更加清晰,迭代器方法名已经经过改善。

面试万能题库

一、选择题 1.下面关于变量及其范围的陈述正确的是______。 A.实例变量是类的成员变量 B.实例变量用关键字staric声明 C.在方法中定义的局部变量在该方法被执行时创建 D.局部变量在使用前必须被初始化 2.执行完以下代码int [ ] x = new int[25];后,以下哪项说明是正确的______。 A. x[0]为空 B. x[24]为0 C. x[25]为0 D. x[24]未定义 3. 关于以下application的说明,正确的是______。 1.class StaticStuff { static int x=10; static { x+=5; } public static void main(String args[ ]) { System.out.println(“x=”+ x); } static { x/=3;} } a) 4行与9行不能通过编译,因为缺少方法名和返回类型 b) 9行不能通过编译,因为只能有一个静态初始化器 c) 编译通过,执行结果为:x=5 d) 编译通过,执行结果为:x=3 4. 下面代码的执行结果是______。 import java.util.*; public class ShortSet{ public static void main(String args[]) { Set s=new HashSet(); for(Short i=0;i<100;i++) { s.add(i); s.remove(i-1); } System.out.println(s.size()); }

java经典面试题汇总

Java基础方面: 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package 子孙类其他package public √√√√ protected √√√ × friendly √√ × × private √ × × × 不写时默认为friendly 2、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口) 答:匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Static Nested Class 和 Inner Class的不同 答:Nested Class (一般是C++的说法),Inner Class (一般是JA V A的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(Inner Class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象 4、&和&&的区别 答:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and) 5、Collection 和 Collections的区别 答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的 7、String s = new String("xyz");创建了几个String Object 答:两个,一个字符对象,一个字符对象引用对象 8、Math.round(11.5)等於多少? Math.round(-11.5)等於多少 答: Math.round(11.5)==12;Math.round(-11.5)==-11;round方法返回与参数最接近的长整数,参数加1/2后求其floor 9、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错 答:short s1 = 1; s1 = s1 + 1; (s1+1运算结果是int型,需要强制转换类型)short s1 = 1; s1 += 1;(可以正确编译) 10、Java有没有goto 答:java中的保留字,现在没有在java中使用 11、数组有没有length()这个方法? String有没有length()这个方法 答:数组没有length()这个方法,有length的属性。String有有length()这个方法 12、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型

《面试》组织活动题集合

《面试》组织活动题集合(一) 和很多机构的看法不同,我觉得组织活动题是最能够体现能力的面试题型。所以,希望大家重视对组织活动题的学习,考不考,其实并不关键。如果能够把组织答出现场感,说明你真的在做事。——阿某 计划组织协调练习题 1、某省希望工程办公室决定新建5所希望小学,领导委派你做学校选址的前期准备工作,为领导决策提供依据,你如何收集相关信息? 2、如果进入新的岗位,你的现阶段目标和今后一个时期的目标是什么?为了达到你的目标,你需要在哪方面加强什么能力? 3、最近,你单位开发使用了一套新的数据采集系统,虽然你们已经给出了该系统详细的使用说明,但还是有很多部门抱怨使用麻烦,经常出错。假如你是推广该系统的负责人,你将如何处理? 4、单位要你组织一次本单位各部门“依法行政,文明执法”的经验交流会,你如何组织? 5、假设你被录用后不久,在办公室接到上级机关的电话,通知你单位派人参加一个重要会议。那么,在电话中你应问清哪些事项? 6、一段时间以来,某市的音像市场极其混乱。对此,该市工商、税务、公安等几家部门决定对该音像市场进行一次联合大检查。 你认为应如何策划并组织这次联合大检查?(如考生回答过于简单,可问:这次大检查应特别注意哪些问题?) 2、村委会派你去组织一项水利工程工作,你会如何组织这项工作?追问:在这过程中需要注意的是什么?

3、单位派你去农村进行摸底调查,你会如何开展此项工作? 如果你是人事部门的一个干部,上级让你组织次招聘应届毕业生的任务,你会怎么组织? 4、有群众举报你所在辖区某个品牌的电动玩具有安全隐患,领导让你负责对整个辖区的玩具销售商做一个调查,请做一个调查方案. 5、某地团委发来电传:兹定**书记带领 36 人来南京雨花台烈士陵园于 5 月 4日进行参观教育活动,5 月 3 日下午 5 点火车到达南京,请接待. 1,根据以上电传,你能圆满完成接待任务吗? 2,请谈一下你的接待安排. 6、上级领导要来你所在的单位调研,你该如何准备 计划组织类 1、领导让你组织一个关于税收政策宣传月的活动,活动要辐射区、 县,你有什么打算? (2007年2月天津市国税系统公务员招录面试真 题) 2、领导排你在单位范围内组织一次“为灾区人民”捐款的活动, 你怎么组织? (2007年2月黑龙江省国税系统公务员招录面试题) 3、全国开展教育乱收费调查,你的领导让你带队去某县开展教育 乱收费的调查,你会怎么开展调查? (2007年2月2日中央机关 国家公务员考试面试真题) 4、领导让你负责一个培训活动,你怎样组织? (2007年2月1日中 央机关国家公务员考试面试真题)

结构化面试题库——经典

招聘实用手册 目录 一、胜任特征的描述: (3) 技能: (3) 能力 (3) 知识 (4) 特质 (4) 动机 (8) 社会角色 (9) 自我形象: (9) 二、招聘开始 (9) 1、明确需求: (9) 2、简历筛选技巧 (11) 3、纸笔测验 (11) 4、结构化面试 (11) 三、题库: (12) 知识技能类(专业类) (12) 能力类: (12) 语言表达力 (12) 反应力 (12) 应变能力 (12) 综合分析力 (13) 应变能力 (13) 规划力 (13) 沟通能力 (13) 时间管理能力 (14) 领导能力 (14) 学习能力 (14) 说服能力 (15) 倾听能力 (15) 想象力 (15) 逻辑思维 (15) 理解力 (15) 推理能力 (15) 计划性 (15) 解决问题能力 (16) 组织协调能力 (16) 特质类 (16) 情绪稳定性 (16) 人际交往倾向和人际关系 (16)

兴趣和爱好 (16) 价值取向 (16) 敬业精神 (17) 责任心 (17) 职业道德 (17) 抗挫折性 (17) 合作精神 (18) 服务意愿 (18) 竞争意识 (18) 发展潜力 (18) 工作动机和期望 (18) 事业心进取心和自信心 (18) 自知力自控力 (19) 人际关系与适应性 (19) 动机 (19) 成就动机 (19) 自我形象 (19) 社会角色 (19) 四、高效的面试技巧 (19) 一、胜任特征的描述: 胜任素质模型:指能将某一工作中表现优秀者与表现普通者区分开来的个体潜在的深层次特征。和工作分析、职位评价共同支撑起公司的人力资源管理工作。其主要包括以下几个方面: 技能: 由于练习而近乎自动化了的动作方式。可分为: 动作技能:主要是肌肉运动,它表现在外部行动和对事物的直接行动中。例如操作机器(打字)、写字、弹琴、打球等技能都属于这一类。 心智技能:主要是认识活动,包括感知、记忆、想象和思维,而以思维为它的主要成分。例如解题、心算、阅读、作文等的技能都属于这一类。掌握正确的思维方法是心智技能的主要特点。能力 顺利完成某种活动且直接影响活动效率的心理特征。能力分为 一般能力:不同种类活动中表现出来的共同能力。是人们有效的掌握知识和完成活动必不可少的心理条件。 特殊能力:从事某种专业领域活动所必需的专门能力或几种专门能力的结合体。这是胜任素质模型中比较重要的一部分。

集合面试题

###1.请讲下Java里面的容器 分两大类,Map和Collection。而Collection又有子接口List (数据存储顺序和插入顺序是一样的)、Set(里面的元素具有唯一性) Map是存储键值对的,里面的健不可以重复,但值可以重复 List主要有ArrayList和LinkedList两种实现。实现的数据结构不同, 所以主要的区别也都是和数据结构相关的。ArrayList基于数组,随机访问快, 而对于中间元素的插入删除效率比较低,而且需要考虑扩容问题。 LinkedList,则基于链表,和ArrayList提到的正相反,随机访问慢, 但对于中间元素的插入和删除更有效率。 Set也是一种Collection,和List比起来主要体现在元素唯一性。 ###2.请说下Iterator的作用 迭代器可以实现Collection接口的方法,可以一个一个地获取集合中的元素特性:在遍历集合时可判断是否有下一个元素 ###3.说下ArrayList和LinkedList的区别和联系,并说明什么情况下用它们 区别:ArrayList用于对象的随机访问速度快,没有顺序 LinkedList实现机制是链表式的,和顺序有关,速度比ArrayList慢 --->联系:ArrayList和LinkedList都是List接口的实现类 当要快速获取一个值时,用ArrayList,用于顺序插入操作时,用LinkedList. ###4.说下List,Set,Map三种集合各有什么特征 List集合中的元素可以重复, Set集合中的元素不可以重复 Map集合用键-值映射存放对象,Map容器中的键对象不能重复,值对象可以重复 ###5.HashSet和TreeSet有什么区别,什么时候用它们 区别:HashSet中的元素不能重复,没有顺序 TreeSet中的元素不能重复,但有顺序 当集合中的元素需要排序时,用TreeSet 一般情况下用HashSet,因为不需要排序,速度比TreeSet快 ###6.什么是泛型,怎么使用的,有什么好处? 答案 泛型又分为:方法泛型和类泛型。 定义一个集合时,可以知道里面定义的是什么类型 使用:在集合类型后面加< 数据类型> 使用泛型后,从集合中取得元素后就不用再用强转

历年面试真题6

历年面试真题6 【考题回顾】小朋友们互相攀比,看谁的爸爸更有钱。一个小朋友输了,回家要求换爸爸。对此,你怎么看? 【参考答案】 1.现如今,“拼爹”“攀比”早已不是新鲜话题。但低龄化拼爹,不仅会拼掉孩子的童真,也会拼掉祖国的未来。所以,对于这个现象,我们应该高度重视。 2.分析背后原因。例如,成人世界潜在的“阶层意识”已侵蚀了孩子的心灵,造成了幼儿价值观的扭曲。又如,不少家长常有与同事、朋友攀比的行为,久而久之,孩子自然也会在无形中养成这种攀比心理。再如,有些幼儿园老师作风不端正,言行有失,对不同家境的幼儿做出一些不恰当的比较,促进孩子的攀比心理。 3.提出建议。首先,家长必须小心检视自己的行为,在教养方式上,以民主、开放的态度对待孩子。其次,幼儿园要营造育人的人文环境,幼儿老师要严以律己,并引导幼儿形成正确的价值观念。最后,社会要为幼儿正确价值观念的形成和发展提供良好环境。 【考题回顾】幼儿园老师让做活动,幼儿不参加怎么办? 【参考答案】 1.活动是幼儿教育的一种重要方式,作为幼儿教师要努力调动孩子们的积极性,促进孩子通过活动学习和成长。 2.分析和了解孩子们不愿意参加活动的原因。比如,可能是孩子们对幼儿园环境还感到陌生,因此不敢轻易参与活动;可能是这个活动孩子们都不感兴趣;也可能是幼儿教师没有给孩子们说清楚活动的规则,孩子们不知所措。 3.分别解决问题。比如,可以先组织简单的熟悉和交流环节,增进师生感情,增强幼儿对教师的信任感;询问小朋友的意见,更改其他小朋友们更喜欢的活动形式;简单生动地重新介绍活动,甚至可以先做出示范,让小朋友理解活动。 【考题回顾】一个小朋友把厕所弄的都是水,作为教师怎么办? 【参考答案】 1.小朋友自律性差,而且喜欢玩水,这都是孩子的天性,作为幼儿教师我应当理解他们,然后给予耐心的引导和教育。 2.安顿好小朋友。检查小朋友的衣物有没有弄湿,及时更换干净的干燥的衣袜,防止孩子受凉。然后让小朋友跟大家一起进行正常的学习活动。 3.对小朋友进行教育。通过讲故事,例如讲述《水龙头哭了》的故事,让孩子们懂得节约用书,并且告诉大家这样不仅浪费水,还容易让他人摔跤滑倒,还会给清洁阿姨带来麻烦。

(完整版)STAR面试题库

STAR面试题库 1职业道德和价值观(选2-3题) 请说明您有过很好的设想并且将它付诸实现的过程,那是为了解决什么问题?您的设想又是怎样解决那个问题? 请告诉我您曾经怎样必须学用一种新的方式去做某件亊,或者必须去学做一件新的事情,等等 请说一说您曾经怎样在困难的条件下从事工作(比如时间紧迫,竞争压力或是彼此矛盾的工作要求)?压力来自什么地方?您怎样处理的? 请举一个例子说明别人都不愿意做的某件事您却愿意做。说明一下当时的情况,为什么没有别人愿意做?你为什么做了?回顾一下,你当时是否能作别的选择? 举一例子说明您曾对某一项工作的质量负责。您怎样决定什么是“质量良好”?您怎样确保高质量的成果? 最近以来您最引以为自豪的成就是什么?为什么? 请说一说您曾经怎样付出加倍的努力来提高您的技术和专业知识。您做了挪些事?这些努力是否有助于您提高工作效率?

2有效地与他人合作(选2-3题) 请说一说您有一个取得重要成就的集体中工作的情况。取得了什么样的成就?您在其中起了什么作用? 请说一说您在一个有矛盾的集体中工作的情况。您是怎样说怎样做的?集体的成员反映怎样?后来如何解决的? 请介绍一个您共事过的“最难相处”的同事。为什么跟他难以相处?您怎么才能和他共同工作的? 您是否加入过高效率的团组?它为什么效率高?您是否加入过低效率的团组?它为什么效率低下?您认为建立高效率的工作团组的真正关键是什么?优秀的团组成员是怎样造就的? 请说一说您有需要您来解决问题或困难局面的集体中工作的情况。您是怎样说怎样做的?您的行为或建议如何影响了这个集体的决定?困难局面最后是怎样解决的? 介绍一下您和与自己很不一样的人共同工作的体会(比如不同的种族、性別、宗教信仰或国籍)。不同点在哪里?结果如何?

JAVA框架面试题汇总

1.SpringMVC Framework的理解: 1、它是基于组件技术的.全部的应用对象,无论控制器和视图,还是业务对象之类的都是java组件。并且和Spring提供的其他基础结构紧密集成 2、不依赖于Servlet API(目标虽是如此,但是在实现的时候确实是依赖于Servlet的) 3、可以任意使用各种视图技术,而不仅仅局限于JSP 4、支持各种请求资源的映射策略 5、它应是易于扩展的 2.简单的谈一下SpringMVC的工作流程? 流程? 1、用户发送请求至前端控制器DispatcherServlet? 2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。? 3、处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。? 4、DispatcherServlet调用HandlerAdapter处理器适配器? 5、HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。? 6、Controller执行完成返回ModelAndView? 7、HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet? 8、DispatcherServlet将ModelAndView传给ViewReslover视图解析器? 9、ViewReslover解析后返回具体View? 10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。? 11、DispatcherServlet响应用户 3.如何解决POST请求中文乱码问题,GET的又如何处理呢? 在web.xml中加入: . .CharacterEncodingFilter . .???? .????????encoding .?????? utf-8

集合面试题汇总

集合面试题总结 1.Java集合框架是什么?说出一些集合框架的优点? 每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。在保证线程安全的情况下使用泛型和并发集合类,Java已经经历了很久。它还包括在Java 并发包中,阻塞接口以及它们的实现。集合框架的部分优点如下: (1)使用核心集合类降低开发成本,而非实现我们自己的集合类。 (2)随着使用经过严格测试的集合框架类,代码质量会得到提高。 (3)通过使用JDK附带的集合类,可以降低代码维护成本。 (4)复用性和可操作性。 2.集合框架中的泛型有什么优点? Java1.5引入了泛型,所有的集合接口和实现都大量地使用它。泛型允许我们为集合提供一个可以容纳的对象类型,因此,如果你添加其它类型的任何元素,它会在编译时报错。这避免了在运行时出现ClassCastException,因为你将会在编译时得到报错信息。泛型也使得代码整洁,我们不需要使用显式转换和instanceOf操作符。它也给运行时带来好处,因为不会产生类型检查的字节码指令。 3.Java集合框架的基础接口有哪些? Collection为集合层级的根接口。一个集合代表一组对象,这些对象即为它的元素。Java平台不提供这个接口任何直接的实现。 Set是一个不能包含重复元素的集合。这个接口对数学集合抽象进行建模,被用来代表集合,就如一副牌。 List是一个有序集合,可以包含重复元素。你可以通过它的索引来访问任何元素。List更像长度动态变换的数组。 Map是一个将key映射到value的对象.一个Map不能包含重复的key:每个key最多只能映射一个value。 一些其它的接口有Queue、Dequeue、SortedSet、SortedMap和ListIterator。 4.为何Collection不从Cloneable和Serializable接口继承? Collection接口指定一组对象,对象即为它的元素。如何维护这些元素由Collection的具体实现决定。例如,一些如List的Collection实现允许重复的元素,而其它的如Set就不允许。很多Collection实现有一个公有的clone方法。然而,把它放到集合的所有实现中也是没有意义的。这是因为Collection是一个抽象表现。重要的是实现。 当与具体实现打交道的时候,克隆或序列化的语义和含义才发挥作用。所以,具体实现应该决定如何对它进行克隆或序列化,或它是否可以被克隆或序列化。 在所有的实现中授权克隆和序列化,最终导致更少的灵活性和更多的限制。特定的实现应该决定它是否可以被克隆和序列化。 5.为何Map接口不继承Collection接口? 尽管Map接口和它的实现也是集合框架的一部分,但Map不是集合,集合也不是Map。因此,Map继承Collection毫无意义,反之亦然。 如果Map继承Collection接口,那么元素去哪儿?Map包含key-value对,它提供抽取key 或value列表集合的方法,但是它不适合“一组对象”规范。 6.Iterator是什么? Iterator接口提供遍历任何Collection的接口。我们可以从一个Collection中使用迭代器方法来获取迭代器实例。迭代器取代了Java集合框架中的Enumeration。迭代器允许调用者在迭

卫生系统历年面试真题

卫生系统面试题及参考答案 1、作为一名医务工作者,你认为你有哪些优势和不足? 一.我是一名医务工作者,从事医务工作,能够接触各式各样的人,经常处理一些紧急事件,这就使我具有较强的为人处事的能力,遇事比较冷静、处理事情层次分明,干脆利落,做事认真、稳重、耐心细致。 二.是我有比较强的团体精神,能和同事建立起一种相互信任的合作关系,有良好的倾听能力和沟通能力,能和其他人互动,共享信息和荣誉,对待工作认真努力,能够及时完成,并且很乐意帮助同事,乐于承担本职工作以外的工作,而且在工作中这种精神得到了提高和完善。 三,俗话说,人无完人,金无足赤,同样在我身上也存在着不足之处,诸如社会阅历浅,工作经验少等,只有通过自身不断地发现,再改正,并真诚、虚心地向别人请教学习,才能克服缺点,不断完善自已。 2、你在值班的时候,在你面前一个急症病号突然晕倒,你如何处理? 一.在工作中遇到这样的事情是正常的,我应该冷静,迅速,妥善地处理这件事,不应该有所慌。 二,立刻检查这位患者的生命体征,看是否稳定,并且同时将这一情况汇报医院总值班医生。 三,若病人病情稳定,那么我将和值班护士一起对这位病人的情况做出相应的对症处理 四,若病人情况危机,比较严重,我应该立刻联系其他科室正在值班的医生,请求协助治疗。 五,治疗过程中,不能擅离职守,更不能自行安排替班,若是病人做检查等需要我的陪同,应该跟总值班医生汇报情况,得到批准后再离开。 3.你是一名急诊科医务人员,在你值班的时候,你的亲戚好友找你有急事,你会怎么做? 一,仔细询问亲戚好友,了解急事的具体情况,性质等,再作出相应的判断。 二,若是这件急事跟我的职业相关,比如亲戚身体不适,或者受伤等,

结构化面试真题试题库

一、教师资格结构化面试真题 【中小学结构化题目总结】 1、关于终身学习 2、学生不爱学习该怎么办? 3、有同学写情书给你怎么办? 4、家有三斗米,不做孩子王。 5、学生迟到,上网,你怎么看? 6、老师性格温和你怎么看?中公教师网提供 7、同事和她的学生有矛盾,老师态度不好,你作为他的同事,该怎办? 8、信息化时代有老师认为没有必要家访,作为老师你这么看。 9、霍林姆斯基说学生应该抬起头来走路,你怎么看? 10、如果学生在上课的时候跟旁边的同学讲悄悄话,你要怎么做? 11、如果你是新生班主任,对待学生考试不理想你怎么办? 12、一道例题老师连续讲了三遍,学生还不会。然后骂学生笨。你怎么看。 13、现在教师工资比较低,付出的跟收获的不成正比,怎么看? 14、学生家长对你的教法不满意,你怎么办? 15、学生当全班学生面说你偏心,怎么办? 16、新学期,你带上了一批学习成绩优异,竞争力强的班集体,你觉得在班级建设中更应该注重什么? 17、老师为了学生能够学习愉快而减轻了作业的负担,但是同学们的成绩都下滑了,对此你怎么看? 18、你批评一个孩子,孩子离家出走,家长找你,如果你是班主任应该怎么办? 19、通讯手段代替家访可以么?中公教师网提供 20、老师说学生你再这样就进监狱了,你怎么看? 21、减负问题 22、上课有同学做小动作,你怎么办? 23、新学期开始了,你作为一个班的班主任,你会怎么办? 24、老师拒绝外校高薪聘请,你怎么看? 25、老师喜欢提问学习好的学生,你怎么看? 26、现在不允许体罚学生,好多老师都反应对于调皮的学生束手无策,你是老师,你怎么办? 27、老师说现在的学生越来越不爱学习了,你怎么看? 28、中学女生比男生弱,你怎么看?

Java程序员集合框架面试题-java集合框架面试题

Java程序员集合框架面试题:java集合框 架面试题 Java集合框架是最常被问到的Java面试问题,要理解Java技术强大特性,就有必要掌握集合框架。下面就由小编为大家介绍一下Java程序员集合框架面试题的文章,欢迎阅读。 Java程序员集合框架面试题篇1 1、什么是Java集合API Java集合框架API是用来表示和操作集合的统一框架,它包含接口、实现类、以及帮助程序员完成一些编程的算法。简言之,API 在上层完成以下几件事: ●编程更加省力,提高城程序速度和代码质量 ●非关联的API提高互操作性 ●节省学习使用新API成本 ●节省设计新API的时间 ●鼓励、促进软件重用 具体来说,有6个集合接口,最基本的是Collection接口,由三个接口Set、List、SortedSet继承,另外两个接口是Map、SortedMap,这两个接口不继承Collection,表示映射而不是真正的集合。 2、什么是Iterator 一些集合类提供了内容遍历的功能,通过java.util.Iterator 接口。这些接口允许遍历对象的集合。依次操作每个元素对象。当使

用Iterators时,在获得Iterator的时候包含一个集合快照。通常在遍历一个Iterator的时候不建议修改集合本省。 3、 Iterator与ListIterator有什么区别? Iterator:只能正向遍历集合,适用于获取移除元素。ListIerator:继承Iterator,可以双向列表的遍历,同样支持元素的修改。 Java程序员集合框架面试题篇2 1、什么是HaspMap和Map? Map是接口,Java 集合框架中一部分,用于存储键值对,HashMap 是用哈希算法实现Map的类。 2、 HashMap与HashTable有什么区别?对比Hashtable VS HashMap 两者都是用keyvalue方式获取数据。Hashtable是原始集合类之一(也称作遗留类)。HashMap作为新集合框架的一部分在Java2的 1.2版本中加入。它们之间有一下区别: ● HashMap和Hashtable大致是等同的,除了非同步和空值(HashMap允许null值作为key和value,而Hashtable不可以)。 ● HashMap没法保证映射的顺序一直不变,但是作为HashMap 的子类LinkedHashMap,如果想要预知的顺序迭代(默认按照插入顺序),你可以很轻易的置换为HashMap,如果使用Hashtable就没那么容易了。 ● HashMap不是同步的,而Hashtable是同步的。

企业面试题|最常问的MySQL面试题集合

企业面试题|最常问的MySQL面试题集合(一) 除了基础题部分,小编收集整理的MySQL面试题还包括如下知识点或题型: MySQL高性能索引 SQL语句 MySQL查询优化 MySQL高扩展高可用 MySQL安全性 为了避免收藏不看,让大家更有耐心看下去,印象更深刻些,民工哥将分几次分别发布这些内容,欢迎持续关注公众号后续文章分享。 问题1:char、varchar的区别是什么? varchar是变长而char的长度是固定的。如果你的内容是固定大小的,你会得到更好的性能。 问题2: TRUNCATE和DELETE的区别是什么? DELETE命令从一个表中删除某一行,或多行,TRUNCATE命令永久地从表中删除每一行。 问题3:什么是触发器,MySQL中都有哪些触发器? 触发器是指一段代码,当触发某个事件时,自动执行这些代码。在MySQL数据库中有如下六种触发器: 1、Before Insert 2、After Insert 3、Before Update 4、After Update 5、Before Delete 6、After Delete

问题4:FLOAT和DOUBLE的区别是什么? FLOAT类型数据可以存储至多8位十进制数,并在内存中占4字节。 DOUBLE类型数据可以存储至多18位十进制数,并在内存中占8字节。 问题5:如何在MySQL种获取当前日期? SELECT CURRENT_DATE(); 问题6:如何查询第n高的工资? SELECT DISTINCT(salary) from employee ORDER BY salary DESC LIMIT n-1,1 问题7:请写出下面MySQL数据类型表达的意义(int(0)、char(16)、varchar(16)、datetime、text) 知识点分析 此题考察的是MySQL数据类型。MySQL数据类型属于MySQL数据库基础,由此延伸出的知识点还包括如下内容: MySQL基础操作 MySQL存储引擎 MySQL锁机制 MySQL事务处理、存储过程、触发器 数据类型考点: 1、整数类型,包括TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,分别 表示1字节、2字节、3字节、4字节、8字节整数。任何整数类型都可以加上UNSIGNED属性,表示数据是无符号的,即非负整数。 长度:整数类型可以被指定长度,例如:INT(11)表示长度为11的INT类型。 长度在大多数场景是没有意义的,它不会限制值的合法范围,只会影响显 示字符的个数,而且需要和UNSIGNED ZEROFILL属性配合使用才有意义。 例子,假定类型设定为INT(5),属性为UNSIGNED ZEROFILL,如果用户插入的数据为12的话,那么数据库实际存储数据为00012。 2、实数类型,包括FLOAT、DOUBLE、DECIMAL。 DECIMAL可以用于存储比BIGINT还大的整型,能存储精确的小数。

校园招聘面试题题库

校园招聘通用面试题 一、基本情况测试题 1、请您自我介绍一下? 考察点:考察其是否与简历所列举的内容一致,语言简练、条理清晰、层次要分明。 2、谈谈您的家庭情况? 考察点:考察其家庭情况,可以对了解应聘者的性格、观念、心态等有一定的作用。 3、请您简明地评价一下自己,你预备用哪些词形容? 考察点:考察应聘者的性格及爱好等,也能从侧面了解其文字方面的功底如何。 4、您认为自己最大的弱点是什么? 考察点:考察应聘者是否诚实,也能从侧面有助于了解应聘者的性格特点。 5、哪位人物对你影响最大? 考察点:考察其职业生涯路径有可能朝哪个方向发展,对其影响大的人物的职业发展路径,通常都成为应聘者追求的目标。 6、说说你迄今为止最感失败的经验及对你的影响。 考察点:考察应聘者是否对于这个问题是能如实的回答,能有效反映一个人生命历程的深度和广度。 二、个人能力测试题: 7、您认为您适合干什么? 考察点:一个人的职业生涯选择是从想干什么和能干什么这两个方面着手考虑的,这两点都得到满足才是最佳选择,考察了解应聘者对未来规划以及性格特点。 8、最基础的工作您也会愿意干么? 考察点:考察应聘者明显不心甘情愿地贡献,只是在应付差事,还是意识到基本功不够扎实,只有通过单调、枯燥的工作得到磨炼才能在将来有毅力去征服困难。 9、您能为我们公司带来什么呢? 考察点:考察应聘者是否经受过一些专业培训或者别的兴趣、受好等。 10、您和其他求职者有什么不同? 考察点:考察应聘者是不是以自我为中心、自以为是或者团队精神较差,或者通过这个问题能了解其它学员的情况,发现这批学员中谁是最优秀的人才,谁不适合被录取。 11、您的目标及和对前途的打算是什么? 考察点:考察应聘者对自己是否有明确的人生目标及努力上进的精神。 12、你为什么还没找到合适的职位呢? 考察点:考察学员是否是第一次面试,是否还有其它的工作经验及实习经历。

法务面试试题集合

法务面试试题集合 、面试开始题(自我评估) 简单介绍下你自己,概括的说你的爱好、特长,自己的性格有哪些特点。你认为你是一个挑战型的还是稳健性的性格? 以组织过的或者参加组织过的一次比较大型的活动为例,谈一下你的收获、 体会和教训在工作中,对你来说最重要的两三件事是什么? 你为自己设定了什么样的目标?你打算如何实现它们? 、与求职者工作历史有关的问题 你在XX公司主要从事什么工作?请具体说明。 什么会离开上一家公司?(哪些原因导致你考虑离开你目前的公司?)上一份工作中收获了什么? 简单谈下之前的工作内容和业绩? 你觉得在你原来的领域面对的最大挑战是什么?你认为在你所从事的具体工作中,获得成功的关键因素有哪些?你以前的工作经验是否有助于你胜任更高的职位?为什么?在你所从事的工作中,哪一项工作最无关紧要? 问题是如何看待的? 三、确定求职动机的问题 为什么来我们公司面试?(你为什么对我们的工作职位感兴趣?)面试之前做了哪些准备呢? 你对自己未来的职业生涯规划。 你对未来的老板有哪些期望? 你想在我们公司找到哪些在你原来公司找不到的东西? 请说说,对你来说,什么样的工作氛围才是非常适宜的? 请你说说,你为什么认为经常跳槽正代表着你的工作能力? 四、确定工作能力的问题 专业能力 简单谈下公司法务和律师之间的区别? 谈谈你应聘这个职位的优势和劣势。 你觉得能为我们做哪些事而别人不能做? 到目前为止,你做的最出色的工作是什么? 你能描述一下你碰到问题的项目吗?你是如何解决这些问题的?最终取得了什么结果? 要想在这个行业取得成功,你认为必须具备什么样的个性品质?

有效的沟通技能 请讲一个这样的情形:某人说话不清,但是你还必须听他的话,你怎样回答他的问题才好? 你认为一个好的沟通者应该具备哪些条件? 请你讲一下和一个有非常糟糕习惯的人在一起工作的经历,你会怎样使对方改变他的不良行为? 我想知道你曾经遇到的最有挑战性的沟通方面的问题。你为什么认为那次经历对你最富有挑战性,你是怎样应对的? 若你的经理让你告诉你的某位同事“表现不好就走人”,你该怎样处理这件事? 工作主动性 说一个你曾经干了些份外工作的经历。你为什么要承担那么多的份外工作? 请讲这样一个经历:你获得了很难得到的一些资源,这些资源对你完成工作目标特别重要。 你前任工作中,都干了哪些有助于你提高工作创造性的事情? 在你前任工作中,你曾经试图解决了哪些与你工作责任无关的公司问题? 假设你的老板不在,你不得不做出超过你权限的决定,你该怎么做? 假设给你分配一个项目,这个项目除了完成期限外,既没有历史,也没有操作说明,你该怎么开始这个项目? 你想承担多更大的责任吗?为什么? 讲一个你突然接到某个预想不到的任务的经历。 在你以前的工作中,你曾经解决过多少本来不属于你职权范围内的一些公司的问题? 工作中,你认为哪些情形是比较危险的?为什么? 继续学习能力 请讲讲你从某个项目或任务中学到了什么? 为了提升你的工作效率,近来你都做了些什么? 讲一个这样的经历:发生一件对你来说很糟糕的事情,但后来证明,你从这个糟糕的事件中学到了很多。 过去12个月里,你投资多少钱和时间用于自我发展的,你为什么要这样做? 告诉我,你是怎样有意识的提高自己的工作技能、知识和能力的?你用什么办法来达到你近来接受的哪些教育经历有助于你干好这个工作? 为了干这个工作,你都做了哪些准备? 假如你的老板就你的工作和技能做出一些评价,但这些评价与实际不符,你该怎样办?五、结束问题 如果你被聘用的话,你会带来什么其他人不能带来的优点和长处? 如果我们录用你,你将如何开展你的工作? 我的问题问完了,你有什么疑问吗?

云南省考历年面试真题汇总

2010年7月31日云南公务员面试真题 1、你负责组织一次抗震救灾活动,你怎么组织? 2、汶川地震发生后,许多人伸出援助之手,谈谈你对慈善事业的看法。 3、如果你的直接领导不支持你的工作,你怎么办? 4、你是一位听不懂外文的志愿者,一位不能区分国别的外国人向你问路,你怎么办? 5、你的理想工作是什么? 2010年云南公务员面试真题:8月9日昭通面试题 1、领导让你写上年度总结报告,你怎么做? 2、有人说,“以人为本就是以个人意志为本”,对此你如何理解? 3、“千里之堤,毁于蚁穴”,你怎么理解这句话? 云南昆明市公务员考试面试真题:2009年10月17日 1、结合自身情况谈谈为什么要报考这个岗位? 2、我国大学生毕业后创业率不到1%,远远落后于西方发达国家,对此现象谈谈你的看法。 3、谈谈你组织的最成功的一次活动,并说明你是怎么做的? 4、你负责组织的活动很成功,领导在会议上只表扬了你一个人,你怎么办?

5、你负责组织一项培训,但受培训的下属却指责你的培训太虚不实用,你怎么处理? 云南昆明市公务员考试面试真题:2009年10月18日 1、介绍自己,谈谈你为什么报公务员。 2、我国的神舟七号飞船的成功发射、嫦娥一号探月成功等等都表明我国的高科技技术发展迅速,但在一些基础工业方面却不尽如意、如一些重要机械的零配件却是长期进口,对此谈谈你的看法。 3、你负责组织、安排一场国际会议,你打算怎么办? 4、陪领导参加研讨会,领导临时决定让你参与交流,你怎么办? 5、假如你被录用,发现你的工作和预期不一样,你会怎么做? 云南公务员考试面试真题:2009年10月18日 1、2009年4月11日,张氏兄弟为了给母亲治病,绑架了以人质试图进行敲诈勒索,最后在警察的对峙下,张氏兄弟放弃,人质被成功解救。最终没有造成人员伤亡,也没有得到要勒索的20000元,经法院审判,哥哥被判有期徒刑5年6个月,并处于罚金2000元,弟弟有期徒刑2年,缓刑3年,并处罚金1000元。有人觉得判罚过轻。 2、根据刑法XXXX条,违反刑法的,情节较轻的判罚5-10年。 3、网友认为张氏兄弟2人因为给母亲治病,结果并没有造成人员伤亡,对社会造成危害较小。应从轻处罚。 4、在刑事案件审理中,审理案件的相关人员不得接触任何被告者亲属,但是张氏兄弟的母亲找到了这位法官,并下跪2次,但判决后,法官亲自去慰问张氏母亲。

相关主题
文本预览
相关文档 最新文档