高级java面试题及答案 (菁选2篇)

高级java面试题及答案1

  1、现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?

  这个线程问题通常会在第一轮或电话面试阶段被问到,目的是检测你对”join”方法是否熟悉。这个多线程问题比较简单,可以用join方法实现。

  2、在Java中Lock接口比synchronized块的优势是什么?你需要实现一个高效的缓存,它允许多个用户读,但只允许一个用户写,以此来保持它的完整性,你会怎样去实现它?

  lock接口在多线程和并发编程中最大的优势是它们为读和写分别提供了锁,它能满足你写像ConcurrentHashMap这样的高性能数据结构和有条件的阻塞。Java线程面试的问题越来越会根据面试者的回答来**。我强烈建议在你去参加多线程的面试之前认真读一下Locks,因为当前其大量用于构建电子交易终统的客户端缓存和交易连接空间。

  3、在java中wait和sleep方法的不同?

  通常会在电话面试中经常被问到的Java线程面试问题。最大的不同是在等待时wait会**锁,而sleep一直持有锁。Wait通常被用于线程间交互,sleep通常被用于暂停执行。

  4、用Java实现阻塞队列。

  这是一个相对艰难的多线程面试问题,它能达到很多的目的。第一,它可以检测侯选者是否能实际的用Java线程写程序;第二,可以检测侯选者对并发场景的理解,并且你可以根据这个问很多问题。如果他用wait()和notify()方法来实现阻塞队列,你可以要求他用最新的Java 5中的并发类来再写一次。

  5、用Java写代码来解决生产者——消费者问题。

  与上面的问题很类似,但这个问题更经典,有些时候面试都会问下面的问题。在Java中怎么解决生产者——消费者问题,当然有很多解决方法,我已经分享了一种用阻塞队列实现的方法。有些时候他们甚至会问怎么实现哲学家进餐问题。

  6、用Java编程一个会导致死锁的程序,你将怎么解决?

  这是我最喜欢的Java线程面试问题,因为即使死锁问题在写多线程并发程序时非常普遍,但是很多侯选者并不能写deadlock free code(无死锁代码?),他们很挣扎。只要告诉他们,你有N个资源和N个线程,并且你需要所有的资源来完成一个操作。为了简单这里的n可以替换为2,越大的数据会使问题看起来更复杂。通过避免Java中的死锁来得到关于死锁的更多信息。

  7、什么是原子操作,Java中的原子操作是什么?

  非常简单的java线程面试问题,接下来的'问题是你需要同步一个原子操作。

  8、Java中的volatile关键是什么作用?怎样使用它?在Java中它跟synchronized方法有什么不同?

  自从Java 5和Java内存模型改变以后,基于volatile关键字的线程问题越来越流行。应该准备好回答关于volatile变量怎样在并发环境中确保可见性、顺序性和一致性。

高级java面试题及答案2

  1、什么是竞争条件?你怎样发现和解决竞争?

  这是一道出现在多线程面试的高级阶段的问题。大多数的面试官会问最近你遇到的竞争条件,以及你是怎么解决的。有些时间他们会写简单的代码,然后让你检测出代码的竞争条件。可以参考我之前发布的关于Java竞争条件的文章。在我看来这是最好的java线程面试问题之一,它可以确切的检测候选者解决竞争条件的经验,or writing code which is free of data race or any other race condition。关于这方面最好的书是《Concurrency practices in Java》。

  2、你将如何使用thread dump?你将如何分析Thread dump?

  在UNIX中你可以使用kill -3,然后thread dump将会打印日志,在windows中你可以使用”CTRL+Break”。非常简单和专业的线程面试问题,但是如果他问你怎样分析它,就会很棘手。

  3、为什么我们调用start()方法时会执行run()方法,为什么我们不能直接调用run()方法?

  这是另一个非常经典的java多线程面试问题。这也是我刚开始写线程程序时候的困惑。现在这个问题通常在电话面试或者是在初中级Java面试的第一轮被问到。这个问题的回答应该是这样的,当你调用start()方法时你将创建新的线程,并且执行在run()方法里的代码。但是如果你直接调用run()方法,它不会创建新的线程也不会执行调用线程的代码。阅读我之前写的《start与run方法的区别》这篇文章来获得更多信息。

  4、 Java中你怎样唤醒一个阻塞的线程?

  这是个关于线程和阻塞的棘手的问题,它有很多解决方法。如果线程遇到了IO阻塞,我并且不认为有一种方法可以中止线程。如果线程因为调用wait()、sleep()、或者join()方法而导致的阻塞,你可以中断线程,并且通过抛出InterruptedException来唤醒它。我之前写的《How to deal with blocking methods in java》有很多关于处理线程阻塞的信息。

  5、在Java中CycliBarriar和CountdownLatch有什么区别?

  这个线程问题主要用来检测你是否熟悉JDK5中的并发包。这两个的区别是CyclicBarrier可以重复使用已经通过的障碍,而CountdownLatch不能重复使用。

  6、 什么是不可变对象,它对写并发应用有什么帮助?

  另一个多线程经典面试问题,并不直接跟线程有关,但间接帮助很多。这个java面试问题可以变的非常棘手,如果他要求你写一个不可变对象,或者问你为什么String是不可变的。

  7、你在多线程环境中遇到的共同的问题是什么?你是怎么解决它的?

  多线程和并发程序中常遇到的有Memory-interface、竞争条件、死锁、活锁和饥饿。问题是没有止境的,如果你弄错了,将很难发现和调试。这是大多数基于面试的,而不是基于实际应用的Java线程问题。


高级java面试题及答案 (菁选2篇)扩展阅读


高级java面试题及答案 (菁选2篇)(扩展1)

——java高级面试题及答案3篇

java高级面试题及答案1

  1)Java 中能创建 Volatile 数组吗?

  能,Java 中可以创建 volatile 类型数组,不过只是一个指向数组的引用,而不是整个数组。我的意思是,如果改变引用指向的数组,将会受到 volatile 的保护,但是如果多个线程同时改变数组的元素,volatile 标示符就不能起到之前的保护作用了。

  2)volatile 能使得一个非原子操作变成原子操作吗?

  一个典型的例子是在类中有一个long 类型的成员变量。如果你知道该成员变量会被多个线程访问,如计数器、价格等,你最好是将其设置为 volatile。为什么?因为 Java 中读取 long 类型变量不是原子的,需要分成两步,如果一个线程正在修改该 long 变量的值,另一个线程可能只能看到该值的一半(前 32 位)。但是对一个 volatile 型的 long 或 double 变量的读写是原子。

  3)volatile 修饰符的有过什么实践?

  一种实践是用 volatile 修饰 long 和 double 变量,使其能按原子类型来读写。double 和 long 都是64位宽,因此对这两种类型的读是分为两部分的,第一次读取第一个 32 位,然后再读剩下的 32 位,这个过程不是原子的,但 Java 中 volatile 型的 long 或 double 变量的读写是原子的。volatile 修复符的另一个作用是提供内存屏障(memory barrier),例如在分布式框架中的应用。简单的说,就是当你写一个 volatile 变量之前,Java 内存模型会插入一个写屏障(writebarrier),读一个 volatile 变量之前,会插入一个读屏障(read barrier)。意思就是说,在你写一个 volatile 域时,能保证任何线程都能看到你写的值,同时,在写之前,也能保证任何数值的更新对所有线程是可见的,因为内存屏障会将其他所有写的值更新到缓存。

  4)volatile 类型变量提供什么保证?

  volatile 变量提供顺序和可见性保证,例如,JVM或者 JIT为了获得更好的性能会对语句重排序,但是 volatile类型变量即使在没有同步块的情况下赋值也不会与其他语句重排序。 volatile 提供 happens-before 的保证,确保一个线程的修改能对其他线程是可见的。某些情况下,volatile 还能提供原子性,如读 64 位数据类型,像 long 和 double 都不是原子的,但 volatile 类型的 double 和 long 就是原子的。

  5) 10 个线程和 2 个线程的同步代码,哪个更容易写?

  从写代码的角度来说,两者的复杂度是相同的,因为同步代码与线程数量是相互**的。但是同步策略的选择依赖于线程的数量,因为越多的线程意味着更大的竞争,所以你需要利用同步技术,如锁分离,这要求更复杂的代码和专业知识。

  6)你是如何调用 wait()方法的?使用 if 块还是循环?为什么?

  wait() 方法应该在循环调用,因为当线程获取到CPU 开始执行的时候,其他条件可能还没有满足,所以在处理前,循环检测条件是否满足会更好。下面是一段标准的使用 wait 和 notify 方法的代码:

  // The standard idiom for using the waitmethodsynchronized (obj) {while (condition does not hold)

  obj.wait(); // (Releases lock, andreacquires on wakeup)... // Perform action appropriate to condition}

  参见 EffectiveJava 第 69 条,获取更多关于为什么应该在循环中来调用 wait 方法的内容。

  7)Java 中应该使用什么数据类型来**价格?

  如果不是特别关心内存和性能的话,使用BigDecimal,否则使用预定义精度的 double 类型。

  8)Java 中应该使用什么数据类型来**价格?

  如果不是特别关心内存和性能的话,使用BigDecimal,否则使用预定义精度的 double 类型。

  9)怎么将 byte 转换为 String?

  可以使用 String 接收 byte[] 参数的构造器来进行转换,需要注意的点是要使用的正确的编码,否则会使用*台默认编码,这个编码可能跟原来的编码相同,也可能不同。

java高级面试题及答案2

  1.什么是Java虚拟机?为什么Java被称作是“*台无关的编程语言”?

  Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。

  Java被设计成允许应用程序可以运行在任意的*台,而不需要程序员为每一个*台单独重写或者是重新编译。Java虚拟机让这个变为可能,因为它知道底层硬件*台的指令长度和其他特性。

  2.JDK和JRE的区别是什么?

  Java运行时环境(JRE)是将要执行Java程序的Java虚拟机。它同时也包含了执行applet需要的'浏览器插件。Java开发工具包(JDK)是完整的Java软件开发包,包含了JRE,编译器和其他的工具(比如:JavaDoc,Java调试器),可以让开发者开发、编译、执行Java应用程序。

  3.”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法?

  “static”关键字表明一个成员变量或者是成员方法可以在没有所属的类的实例变量的情况下被访问。

  Java中static方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而static方法是编译时静态绑定的。static方法跟类的任何实例都不相关,所以概念上不适用。

  4.是否可以在static环境中访问非static变量?

  static变量在Java中是属于类的,它在所有的实例中的值是一样的。当类被Java虚拟机载入的时候,会对static变量进行初始化。如果你的代码尝试不用实例来访问非static的变量,编译器会报错,因为这些变量还没有被创建出来,还没有跟任何实例关联上。

  5.Java**的数据类型有哪些?什么是自动拆装箱?

  Java语言**的8中基本数据类型是:

  byte

  short

  int

  long

  float

  double

  boolean

  char

  自动装箱是Java编译器在基本数据类型和对应的对象包装类型之间做的一个转化。比如:把int转化成Integer,double转化成double,等等。反之就是自动拆箱。

  6.Java中的方法覆盖(Overriding)和方法重载(Overloading)是什么意思?

  Java中的方法重载发生在同一个类里面两个或者是多个方法的方法名相同但是参数不同的情况。与此相对,方法覆盖是说子类重新定义了父类的方法。方法覆盖必须有相同的方法名,参数列表和返回类型。覆盖者可能不会限制它所覆盖的方法的访问。

  7.Java中,什么是构造函数?什么是构造函数重载?什么是复制构造函数?

  当新对象被创建的时候,构造函数会被调用。每一个类都有构造函数。在程序员没有给类提供构造函数的情况下,Java编译器会为这个类创建一个默认的构造函数。

  Java中构造函数重载和方法重载很相似。可以为一个类创建多个构造函数。每一个构造函数必须有它自己唯一的参数列表。

  Java不**像C++中那样的复制构造函数,这个不同点是因为如果你不自己写构造函数的情况下,Java不会创建默认的复制构造函数。


高级java面试题及答案 (菁选2篇)(扩展2)

——java面试题及答案3篇

java面试题及答案1

  1、String 是最基本的数据类型吗?

  答:不是。Java中的基本数据类型只有8个:byte、short、int、long、float、double、char、boolean;除了基本类型(primitive type),剩下的都是引用类型(reference type),Java 5以后引入的枚举类型也算是一种比较特殊的引用类型。

  2、float f=3.4;是否正确?

  答:不正确。3.4是双精度数,将双精度型(double)赋值给浮点型(float)属于下转型(down-casting,也称为窄化)会造成精度损失,因此需要**类型转换float f =(float)3.4; 或者写成float f =3.4F;。

  3、short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?

  答:对于short s1 = 1; s1 = s1 + 1;由于1是int类型,因此s1+1运算结果也是int 型,需要**转换类型才能赋值给short型。而short s1 = 1; s1 += 1;可以正确编译,因为s1+= 1;相当于s1 = (short)(s1 + 1);***隐含的**类型转换。

  4、Java有没有goto?

  答:goto 是Java中的保留字,在目前版本的Java中没有使用。(根据James Gosling(Java之父)编写的《The Java Programming Language》一书的附录中给出了一个Java关键字列表,***goto和const,但是这两个是目前无法使用的关键字,因此有些地方将其称之为保留字,其实保留字这个词应该有更广泛的意义,因为熟悉C语言的程序员都知道,在系统类库中使用过的有特殊意义的单词或单词的组合都被视为保留字)

  5.Java 中,throw 和 throws 有什么区别?

  答:throw 用于抛出 java.lang.Throwable 类的一个实例化对象,意思是说你可以通过关键字 throw 抛出一个 Error 或者 一个Exception,如: throw new IllegalArgumentException(“size must be multiple of 2〃) 而throws 的作用是作为方法声明和签名的一部分,方法被抛出相应的异常以便调用者能处理。Java 中,任何未处理的受检查异常**在 throws 子句中声明。

  6.Java 中,Serializable 与 Externalizable 的区别?

  答:Serializable 接口是一个序列化 Java 类的接口,以便于它们可以在网络上传输或者可以将它们的状态保存在磁盘上,是 JVM 内嵌的默认序列化方式,成本高、脆弱而且不安全。Externalizable 允许你**整个序列化过程,指定特定的二进制格式,增加安全机制。

  7.Java 中,DOM 和 SAX 解析器有什么不同?

  答:”DOM 解析器将整个 XML 文档加载到内存来创建一棵 DOM 模型树,这样可以更快的查找节点和修改 XML 结构,而 SAX 解析器是一个基于事件的解析器,不会将整个 XML 文档加载到内存。由于这个原因,DOM 比 SAX 更快,也要求更多的内存,不适合于解析大 XML 文件。


高级java面试题及答案 (菁选2篇)(扩展3)

——java高级工程师面试题及答案3篇

java高级工程师面试题及答案1

  1. Hibernate中:不看数据库,不看XML文件,不看查询语句,怎么样能知道表结构?

  解答:可以看与XML文件对应的域模型。

  2.目前几种主流数据库软件的应用特点、适用范围各是什么?

  解答:国际**的主导关系型数据库管理系统有SQL Server、ORACLE、SYBASE、INFORMIX和 DB2。本文从性能,可伸缩性和并行性,安全性,操作简便,使用风险,开放性,易维护性和价格,数据库二次开发方面比较了SQL Server,Oracle、SYBASE、DB2、INFORMIX 数据库:

  1)性能

  SQL Server:老版本多用户时性能不佳,新版本的性能有了明显的改善,各项处理能力都有了明显的提高。保持了多项TPC-C(TPC-C值被广泛用于衡量C/S环境下,由服务器和客户端构筑的整体系统的性能,它由事物处理性能委员会(TPC,Transaction Processing Corp)制定,TPC为非赢利性国际**。)纪录。

  Oracle :性能最高, 保持Windows NT下的TPC-C的世界记录。

  SYBASE :性能较高,**Sun、IBM、HP、Compaq和Veritas的集群设备的特性,实现高可用性。适应于安全性要求极高的系统。

  DB2 :适用于数据仓库和在线事物处理,性能较高。 客户端**及应用模式。

  INFORMIX :性能较高,**集群,实现高可用性。适应于安全性要求极高的系统,尤其是银行,证券系统的应用。

  2)可伸缩性,并行性

  SQL Server :以前版本SQL Server并行实施和共存模型并不成熟。很难处理大量的用户数和数据卷。伸缩性有限。新版本性能有了较大的改善,在Microsoft Advanced Servers上有突出的表现,超过了他的主要竞争对手。

  Oracle :*行服务器通过使一组结点共享同一簇中的工作来扩展Window NT的能力,提供高可用性和高伸缩性的簇的解决方案。如果Windows NT不能满足需要, 用户可以把数据库移到UNIX中,具有很好的伸缩性。

  SYBASE :新版本具有较好的并行性,速度快,对巨量数据无明显影响,但是技术实现复杂,需要程序**,伸缩性有限。

  DB2 :DB2具有很好的并行性。DB2把数据库管理扩充到了并行的、多节点的环境。数据库分区是数据库的一部分,包含自己的数据、索引、配置文件、和事务日志。数据库分区有时被称为节点或数据库节点,伸缩性有限。

  INFORMIX :采用单进程多线程的技术,具有较好的并行性。但是仅运行于UNIX*台,伸缩性有限。

  3)安全性

  SQL server :Microsoft Advanced Server 获得最高安全认证,服务器*台的稳定性是数据库的稳定性的基础,新版本的SQL的安全性有了极大的提高。 Oracle:获得最高认证级别的ISO标准认证。 SYBASE :通过Sun公司J2EE认证测试,获得最高认证级别的ISO标准认证。 DB2 :获得最高认证级别的ISO标准认证。 INFORMIX :获得最高认证级别的ISO标准认证。

  4)操作简便

  SQL Server :操作简单,采用图形界面。管理也很方便,而且编程接口特别友好(它的SQL-DMO让编程变得非常方便!) ,从易维护性和价格上SQL Server明显占有优势。 Oracle :较复杂, 同时提供GUI和命令行,在Windows NT和Unix, Linux 下操作相同。对数据库管理人员要求较高。 SYBASE :复杂,使用命令行操作,对数据库管理人员要求较高。 DB2 :操作简单,同时提供GUI和命令行,在Windows NT和Unix下操作相同。 INFORMIX :使用和管理复杂,命令行操作。对数据库管理人员要求较高。

  5)使用风险

  SQL Server :完全重写的代码,性能和兼容性有了较大的提高,与Oracle,DB2的性能差距明显减小。该产品的出台经历了长期的测试,为产品的安全和稳定进行了全面的检测,安全稳定性有了明显的提高。

  Oracle :长时间的开发经验,完全向下兼容,可以安全的进行数据库的升级,在企业,*中得到广泛的应用。并且如果在WINNT上无法满足数据的要求,可以安全的把数据转移到UNIX上来。

  SYBASE :开发时间较长,升级较复杂,稳定性较好,数据安全有保障。风险小。在安全要求极高的银行,证券行业中得到了广泛的应用。

  DB2 :在巨型企业得到广泛的应用,向下兼容性好。风险小。

  INFORMIX :开发时间较长,升级较复杂,稳定性较好,数据安全有保障。风险小。在安全要求极高的银行,证券行业中得到了广泛的应用。

  6)开放性

  SQL Server:只能在Windows 上运行,C/S结构,只**Windows客户,可以用ADO,DAO,OLEDB,ODBC连接。Windows9X系列产品是偏重于桌面应用,NT server适合各种大中小型企业。 操作系统的稳定对数据库是十分重要的。Windows*台的可靠性,安全性经过了最高级别的C2认证的。在处理大数据量的关键业务时提供了较好的性能。

  Oracle :能在所有主流*台上运行(包括 Windows)。完全**所有的工业标准。采用完全开放策略。多层次网络计算,**多种工业标准,可以用ODBC,JDBC,OCI等网络客户连接。可以使客户选择最适合的解决方案。对开发商全力**。

  SYBASE :能在所有主流*台上运行,在银行业中得到了广泛的应用。

  DB2 :有较好的开放性,最适于海量数据。跨*台,多层结构,**ODBC,JDBC等客户。在大型的国际企业中得到最为广泛的应用,在全球的500家最大的企业中,大部分采用DB2数据库服务器。

  IINFORMIX :仅运行在UNIX*台,包括SUNOS、HPUX、 ALFAOSF/1。在银行中得到广泛的应用。

  7)易维护性和价格

  SQL Server :从易维护性和价格上SQL Server明显占有优势。基于Microsoft的一贯风格,SQL Server的图形管理界面带来了明显的'易用性, 微软的数据库管理员培训进行的比较充分,可以轻松的找到很好的数据库管理员,数据库管理费用比较低,SQL Server的价格也是很低的,但是在License的购买上会抬高价格。总体来说SQL Server的价格在商用数据库中是最低的。

  Oracle :从易维护性和价格上来说Oracle的价格是比较高的,管理比较复杂,由于Oracle的应用很广泛,经验丰富的Oracle数据库管理员可以比较容易的找到,从而实现Oracle的良好管理。因此Oracle的性能价格比在商用数据库中是最好的。

  SYBASE :SYBASE的价格是比较低的,但是SYBASE的在企业和*中的应用较少,很难找到经验丰富的管理员,运行管理费用较高。

  DB2 :价格高, 管理员少,在*的应用较少,运行管理费用都很高,适用于大型企业的数据仓库应用。

  INFORMIX :价格在这些系统中居于中间,与SYBASE一样,在企业和*中应用较少,仅在银行中得到了广泛的应用。经验丰富的管理人员较少,运行管理费用高。

  8)数据库二次开发 SQL Server :数据库的二次开发工具很多,包括Visual C++, Visual Basic等开发工具,可以实现很好的Windows应用,开发容易。 Oracle :数据库的二次开发工具很多,涵盖了数据库开发的各个阶段,开发容易。 SYBASE :开发工具较少,经验丰富的人员很少。 DB2 :***巨型企业得到广泛的应用,*的经验丰富的人员很少。 INFORMIX :在银行业中得到广泛的应用,但是在*的经验丰富的人员很少。

  3.存储过程和函数的区别

  解答:

  从参数的返回情况来看:

  如果返回多个参数值最好使用存储过程,如果只有一个返回值的话可以使用函数。

  从调用情况来看:

  如果在SQL语句(DML或SELECT)中调用的话一定是存储函数或存储的封装函数不可以是存储过程,但调用存储函数的时候还有好多限制以及函数的纯度等级的问题,如果是在过程化语句中调用的话,就要看你要实现什么样的功能。函数一般情况下是用来计算并返回一个计算结果而存储过程一般是用来完成特定的数据操作(比如修改、插入数据库表或执行某些DDL语句等等),所以虽然他们的语法上很相似但用户在使用他们的时候所需要完成的功能大部分情况下是不同的。

java高级工程师面试题及答案2

  1. J2EE是什么?它包括哪些技术?

  解答:从整体上讲,J2EE是使用Java技术开发企业级应用的工业标准,它是Java技术不断适应和促进企业级应用过程中的产物。适用于企业级应用的J2EE,提供一个**立的、可移植的、多用户的、安全的和基于标准的企业级*台,从而简化企业应用的开发、管理和部署。J2EE是一个标准,而不是一个现成的产品。

  主要包括以下这些技术:

  1) Servlet Servlet是Java*台上的CGI技术。Servlet在服务器端运行,动态地生成Web页面。与传统的CGI和许多其它类似CGI的技术相比,Java Servlet具有更高的效率并更容易使用。对于Servlet,重复的请求不会导致同一程序的多次转载,它是依靠线程的方式来**并发访问的。

  2)JSP

  JSP(Java Server Page)是一种实现普通静态HTML和动态页面输出混合编码的技术。从这一点来看,非常类似Microsoft ASP、PHP等技术。借助形式上的内容和外观表现的分离,Web页面制作的任务可以比较方便地划分给页面设计人员和程序员,并方便地通过JSP来合成。在运行时态,JSP将会被首先转换成Servlet,并以Servlet的形态编译运行,因此它的效率和功能与Servlet相比没有差别,一样具有很高的效率。

  3) EJB

  EJB定义了一组可重用的组件:Enterprise Beans。开发人员可以利用这些组件,像搭积木一样建立分布式应用。

  4)JDBC

  JDBC(Java Database Connectivity,Java数据库连接)API是一个标准SQL(Structured Query Language,结构化查询语言)数据库访问接口,它使数据库开发人员能够用标准Java API编写数据库应用程序。JDBC API主要用来连接数据库和直接调用SQL命令执行各种SQL语句。利用JDBC API可以执行一般的SQL语句、动态SQL语句及带IN和OUT参数的存储过程。Java中的JDBC相当于Microsoft*台中的ODBC(Open Database Connectivity)。

  2.测试生命周期、测试过程分为几个阶段,以及各阶段的含义?

  解答:软件测试生命周期一般包括6个阶段:1)计划 2)分析,3)设计,4)构建,5)测试周期,6)最后测试和实施,

  1) 计划:产品定义阶段

  2). 分析:外部文档阶段

  3). 设计:文档架构阶段

  4). 构建:单元测试阶段

  5). 测试周期:错误修正,重复系统测试阶段

  6). 最后的测试和实施:代码冻结阶段

  3.您做系统设计用何种工具?

  解答:Visio, rational rose,power designer等

  4. 什么是Web容器?

  解答:容器就是一种服务程序,在服务器一个端口就有一个提供相应服务的程序,而这个程序就是处理从客户端发出的请求,如JAVA中的Tomcat容器,ASP的IIS或PWS都是这样的容器。

  5. 运行时异常与一般异常有何异同?

  解答:异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。


高级java面试题及答案 (菁选2篇)(扩展4)

——java面试题3篇

java面试题1

  1、&和&&的区别?

  答:&运算符有两种用法:(1)按位与;(2)逻辑与。&&运算符是短路与运算。逻辑与跟短路与的差别是非常巨大的,虽然二者都要求运算符左右两端的布尔值都是true整个表达式的值才是true。&&之所以称为短路运算是因为,如果&&左边的表达式的值是false,右边的表达式会被直接短路掉,不会进行运算。很多时候我们可能都需要用&&而不是&,例如在验证用户登录时判定用户名不是null而且不是空字符串,应当写为:username != null &&!username.equals(""),二者的顺序不能交换,更不能用&运算符,因为第一个条件如果不成立,根本不能进行字符串的equals比较,否则会产生NullPointerException异常。注意:逻辑或运算符(|)和短路或运算符(||)的差别也是如此。

  补充:如果你熟悉JavaScript,那你可能更能感受到短路运算的强大,想成为JavaScript的高手就先从玩转短路运算开始吧。

  2、解释内存中的栈(stack)、堆(heap)和静态区(static area)的用法。

  答:通常我们定义一个基本数据类型的变量,一个对象的引用,还有就是函数调用的现场保存都使用内存中的栈空间;而通过new关键字和构造器创建的对象放在堆空间;程序中的字面量(literal)如直接书写的100、"hello"和常量都是放在静态区中。栈空间操作起来最快但是栈很小,通常大量的对象都是放在堆空间,理论上整个内存没有被其他进程使用的空间甚至硬盘上的虚拟内存都可以被当成堆空间来使用。

  String str = new String("hello");

  上面的语句中变量str放在栈上,用new创建出来的字符串对象放在堆上,而"hello"这个字面量放在静态区。

  补充:较新版本的Java(从Java 6的某个更新开始)中使用了一项叫"逃逸分析"的技术,可以将一些局部对象放在栈上以提升对象的操作性能。

  3、Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?

  答:Math.round(11.5)的返回值是12,Math.round(-11.5)的返回值是-11。四舍五入的原理是在参数上加0.5然后进行下取整。

  4、swtich 是否能作用在byte 上,是否能作用在long 上,是否能作用在String上?

  答:在Java 5以前,switch(expr)中,expr只能是byte、short、char、int。从Java 5开始,Java中引入了枚举类型,expr也可以是enum类型,从Java 7开始,expr还可以是字符串(String),但是长整型(long)在目前所有的版本中都是不可以的。

java面试题2

  1、数组有没有length()方法?String有没有length()方法?

  答:数组没有length()方法,有length 的属性。String 有length()方法。JavaScript中,获得字符串的长度是通过length属性得到的,这一点容易和Java混淆。

  2、在Java中,如何跳出当前的多重嵌套循环?

  答:在最外层循环前加一个标记如A,然后用break A;可以跳出多重循环。(Java中**带标签的break和continue语句,作用有点类似于C和C++中的goto语句,但是就像要避免使用goto一样,应该避免使用带标签的break和continue,因为它不会让你的程序变得更优雅,很多时候甚至有相反的作用,所以这种语法其实不知道更好)

  3、构造器(constructor)是否可被重写(override)?

  答:构造器不能被继承,因此不能被重写,但可以被重载。

  4、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?

  答:不对,如果两个对象x和y满足x.equals(y) == true,它们的哈希码(hash code)应当相同。Java对于eqauls方法和hashCode方法是这样规定的:(1)如果两个对象相同(equals方法返回true),那么它们的.hashCode值一定要相同;(2)如果两个对象的hashCode相同,它们并不一定相同。当然,你未必要按照要求去做,但是如果你违背了上述原则就会发现在使用容器时,相同的对象可以出现在Set集合中,同时增加新元素的效率会**下降(对于使用哈希存储的系统,如果哈希码频繁的冲突将会造成存取性能急剧下降)。

java面试题3

  问题1:GregorianCalendar类是什么东西?

  答案:GregorianCalendar提供了**传统日历的**。

  问题2:ResourceBundle类是什么?

  答案:ResourceBundle用来存储指定语言环境的资源,应用程序可以根据运行时的语言环境来加载这些资源,从而提供不同语言的展示。

  问题3:为什么Java里没有全局变量?

  答案:全局变量是全局可见的',Java不**全局可见的变量,因为:全局变量破坏了引用透明性原则。全局变量导致了命名空间的冲突。

  问题4:SimpleTimeZone类是什么?

  答案:SimpleTimeZone提供公历日期**。

  问题5:while循环和do循环有什么不同?

  答案:while结构在循环的开始判断下一个迭代是否应该继续。do/while结构在循环的结尾来判断是否将继续下一轮迭代。do结构至少会执行一次循环体。

  问题6:Locale类是什么?

  答案:Locale类用来根据语言环境来动态调整程序的输出。

  问题7:面向对象编程的原则是什么?

  答案:主要有三点,多态,继承和封装。

  问题8:介绍下继承的原则

  答案:继承使得一个对象可以获取另一个对象的属性。使用继承可以让已经测试完备的功能得以复用,并且可以一次修改,所有继承的地方都同时生效。


高级java面试题及答案 (菁选2篇)(扩展5)

——java面试题和答案3篇

java面试题和答案1

  1.Java反射机制的作用?

  解答:Java反射机制的作用是:

  1)在运行时判断任意一个对象所属的类。

  2)在运行时构造任意一个类的对象。

  3)在运行时判断任意一个类所具有的成员变量和方法。

  4)在运行时调用任意一个对象的方法

  2.你是怎么理解java的泛型的?

  解答: 在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的**类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。对于**类型转换错误的情况,编译器可能不提示错误,在运行的时候才出现异常,这是一个安全隐患。

  泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。

  泛型的好处是在编译的时候检查类型安全,并且所有的**转换都是自动和隐式的,提高代码的重用率。

  3.JAVA源文件中是否可以包括多个类,有什么限制

  解答:一个java源文件中可以包含多个类,每个源文件中至多有一个public类,如果有的话,那么源文件的名字必须与之相同。如果源文件中没有public类,则源文件用什么名字都可以,但最好还是具有特定的意义,免得自己都不记得里面写的是什么了。

  4.请解释分布式事务管理?

  解答:分布式事务是指事务的参与者、**事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。为了实现分布式事务,需要使用下面将介绍的两阶段提交协议。

  阶段一:开始向事务涉及到的全部资源发送提交前信息。此时,事务涉及到的资源还有最后一次机会来异常结束事务。如果任意一个资源决定异常结束事务,则整个事务取消,不会进行资源的更新。否则,事务将正常执行,除非发生灾难性的失败。为了防止会发生灾难性的失败,所有资源的更新都会写入到日志中。这些日志是永久性的,因此,这些日志会幸免遇难并且在失败之后可以重新对所有资源进行更新。

  阶段二:只在阶段一没有异常结束的时候才会发生。此时,所有能被定位和单独**的资源管理器都将开始执行真正的数据更新。 在分布式事务两阶段提交协议中,有一个主事务管理器负责充当分布式事务协调器的角色。事务协调器负责整个事务并使之与网络中的其他事务管理器协同工作。 为了实现分布式事务,必须使用一种协议在分布式事务的各个参与者之间传递事务上下文信息,IIOP便是这种协议。这就要求不同开发商开发的事务参与者必须**一种标准协议,才能实现分布式的事务。

java面试题和答案2

  1.请用正则表达式匹配出QQ号(假设QQ号码为5—10位);

  解答: ^ d{5,10}$

  2. String, StringBuffer StringBuilder的'区别。

  解答:String的长度是不可变的; StringBuffer的长度是可变的,如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法;线程安全;

  StringBuilder是从 JDK 5 开始,为StringBuffer该类补充了一个单个线程使用的等价类;通常应该优先使用 StringBuilder 类,因为它**所有相同的操作,但由于它不执行同步,所以速度更快。

  3.请写出5种常见到的runtime exception。

  解答:

  NullPointerException:当操作一个空引用时会出现此错误。

  NumberFormatException:数据格式转换出现问题时出现此异常。

  ClassCastException:**类型转换类型不匹配时出现此异常。

  ArrayIndexOutOfBoundsException:数组下标越界,当使用一个不存在的数组下标时出现此异常。

  ArithmeticException:数*行错误时出现此异常

  4.数组有没有length()这个方法?String有没有length()这个方法?

  解答:数组没有length()方法 它有length属性

  String有length()方法。

  5.请写出一个单例模式。

  解答:单例模式(Singleton pattern):确保一个类只有一个实例,并提供一个全局的访问点public class EagerSingleton { private static final EagerSingleton m_instance = new EagerSingleton(); /** * 私有的默认构造子 */ private EagerSingleton() { } /** * 静态工厂方法 */ public static EagerSingleton getInstance() { return m_instance; } }

  6.在java中,List是个接口,那实现List接口的类有哪些,有什么区别?

  解答: ArrayList是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。


高级java面试题及答案 (菁选2篇)(扩展6)

——大学面试题及答案3篇

大学面试题及答案1

  问题1:“请你自我介绍一下”

  思路: 1、这是面试的必考题目。 2、介绍内容要与个人简历相一致。 3、表述方式上尽量口语化。 4、要切中要害,不谈无关、无用的内容。 5、条理要清晰,层次要分明。6、事先最好以文字的形式写好背熟。

  问题2:“谈谈你的家庭情况”

  思路:1、 况对于了解应聘者的性格、观念、心态等有一定的作用,这是招聘单位问该问题的主要原因。 2、 简单地罗列家庭人口。 3、 宜强调温馨和睦的家庭氛围。 4、 宜强调父母对自己教育的重视。 5、 宜强调各位家庭成员的良好状况。 6、 宜强调家庭成员对自己工作的**。 7、 宜强调自己对家庭的责任感。

  问题3:“你有什么业余爱好?”

  思路: 1、 业余爱好能在一定程度上反映应聘者的性格、观念、心态,这是招聘单位问该问题的主要原因。 2、 最好不要说自己没有业余爱好。 3、 不要说自己有那些庸俗的、令人感觉不好的`爱好。 4、 最好不要说自己仅限于读书、听音乐、上网,否则可能令面试官怀疑应聘者性格孤僻。 5、 最好能有一些户外的业余爱好来“点缀”你的形象。

  问题4:“你最崇拜谁?”

  思路: 1、 最崇拜的人能在一定程度上反映应聘者的性格、观念、心态,这是面试官问该问题的主要原因。 2、 不宜说自己谁都不崇拜。 3、 不宜说崇拜自己。 4、 不宜说崇拜一个虚幻的、或是不知名的人。 5、 不宜说崇拜一个明显具有负面形象的人。 6、 所崇拜的人人最好与自己所应聘的工作能“搭”上关系。 7、 最好说出自己所崇拜的人的哪些品质、哪些思想感染着自己、鼓舞着自己。

大学面试题及答案2

  问题1:“你的座右铭是什么?”

  思路: 1、座右铭能在一定程度上反映应聘者的性格、观念、心态,这是面试官问这个问题的主要原因。 2、不宜说那些易引起不好联想的座右铭。 3、不宜说那些太抽象的座右铭。 4、不宜说太长的座右铭。 5、座右铭最好能反映出自己某种优秀品质。 6、 参***——“只为成功找方法,不为失败找借口”

  问题2:“谈谈你的缺点”

  思路: 1、 不宜说自己没缺点。 2、 不宜把那些明显的优点说成缺点。 3、 不宜说出严重影响所应聘工作的缺点。 4、 不宜说出令人不放心、不舒服的缺点。 5、 可以说出一些对于所应聘工作“无关紧要”的缺点,甚至是一些表面上看是缺点,从工作的角度看却是优点的缺点。

  问题3:“谈一谈你的一次失败经历”

  思路: 1、 不宜说自己没有失败的经历。 2、 不宜把那些明显的成功说成是失败。 3、 不宜说出严重影响所应聘工作的失败经历, 4、 所谈经历的结果应是失败的。 5、 宜说明失败之前自己曾信心白倍、尽心尽力。 6、 说明仅仅是由于外在客观原因导致失败。 7、 失败后自己很快振作起来,以更加饱满的热情面对以后的工作。

  问题4:“你为什么选择我们公司?”

  思路: 1、 面试官试图从中了解你求职的动机、愿望以及对此项工作的态度。 2、 建议从行业、企业和岗位这三个角度来回答。 3、 参***——“我十分看好贵公司所在的行业,我认为贵公司十分重视人才,而且这项工作很适合我,相信自己一定能做好。”


高级java面试题及答案 (菁选2篇)(扩展7)

——常见软件测试面试题及答案 (菁选2篇)

常见软件测试面试题及答案1

  1. 测试覆盖的类型

  测试覆盖的类型有:语句覆盖、判定覆盖、条件覆盖、判定/

  条件覆盖、条件组合覆盖、路径覆盖

  2. 性能测试的分类

  分为:性能测试、负载测试、压力测试、容量测试 负载测试与压力测试可以结合进行。

  3. 列举您熟悉的主流自动化测试工具

  我熟悉的自动化测试工具有:基于web的测试管理工具TestDirector、配置管理工具VSS、QTP以及性能测试工具LoadRunner

  4. c/s和b/s结构的软件进行测试时有何不同

  C/S又称Client/Server或客户/服务器模式。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统。客户端需要安装专用的客户端软件。 B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser)。浏览器通过Web Server 同数据库进行数据交互。

  5.页面中有一个输入日期的输入框和一个输入身份证号的输入框,如何进行用例设计?

  输入日期的输入框要考虑边界值、输入非法数据、非数字等 省份证输入框要考虑18位省份证、16位身份证、非18、16位的数据、汉字、字母、非法数据、

常见软件测试面试题及答案2

  1.测试和质量保证有什么区别 你的看法

  质量保证是对软件制作过程的制作质量进行管理,看是否符合公司的规定。软件测试是对软件产品的质量本身进行测试,是从技术方面出发测试软件质量

  2.用过什么缺陷管理工具 流程是什么

  有什么能改进的 我所熟悉的是TD 流程是讲测试计划、方案、测试用例录入TD,在TD上执行测试用例记录缺陷,并对bug进行跟踪。

  3.你有没有用过QTP做项目,QTP的工作原理

  我有用QTP做过项目QTP的工作原理是执行重复的手动测试, 首先制定测试计划再根据测试计划创建测试脚本,然后对脚本进行优化增强测试脚本的.能接下来运行脚本分析测试的结果

  4.什么是白盒测试?白盒测试的工具有哪些?

  白盒测试是测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有的逻辑路径进行测试。

  工具有:RationalPurify 、Rational Quantify 、Rational Purecoveage

  5. 路由器,集线器,交换机的区别?

  路由器的作用是用于连接不同网段并且找到网络中数据传输最合适的路径。集线器的作用是将一些pc机连起来组成一个局域网。交换机的作用与集线器的相似,区别在于集线器采用的是共享带宽的方式,交换机是独享带宽。

  6. 我手上这支笔,请你根据这支笔设计测试用例

  首先我要测它的外观、颜色是否符合要求、她所占的空间是多大、是否环保、接下来测它的质量、这支笔是否能够写字流畅、写出的自得颜色是否符合要求、能使用多长时间等

  BUG报告包括那些内容

  Bug出现的位置、可重现的步骤、所使用的数据、bug的截图、发现人及日期。

  7.W和H模型的区别

  W模型强调的是测试伴随整个软件开发周期,而且测试的对象不仅是程序,需求也需要进行测试,测试与开发是同步进行的。 H模型是讲测试活动玩却的**出来,形成了完全**的流程,可以实现迭代而W模型不**迭代这是两者最打的区别。

  8. 没有任何说明书,如何进行测试?

  首先是通过对软件测使用来熟悉整个软件,接着是与开发沟通掌握软件的特性并一一记录下来,作为测试的依据


高级java面试题及答案 (菁选2篇)(扩展8)

——数据分析面试题及答案 (菁选2篇)

数据分析面试题及答案1

  一、异常值是指什么?请列举1种识别连续型变量异常值的方法?

  异常值(Outlier) 是指样本中的个别值,其数值明显偏离所属样本的其余观测值。在数理统计里一般是指一组观测值中与*均值的偏差超过两倍标准差的测定值。

  Grubbs’ test(是以Frank E. Grubbs命名的),又叫maximum normed residual test,是一种用于单变量数据集异常值识别的统计检测,它假定数据集来自正态分布的总体。 未知总体标准差σ,在五种检验法中,优劣次序为:t检验法、格拉布斯检验法、峰度检验法、狄克逊检验法、偏度检验法。

  二、什么是聚类分析?聚类算法有哪几种?请选择一种详细描述其计算原理和步骤。 聚类分析(cluster ****ysis)是一组将研究对象分为相对同质的群组(clusters)的统计分析技术。 聚类分析也叫分类分析(classification ****ysis)或数值分类(numerical taxonomy)。聚类与分类的不同在于,聚类所要求划分的类是未知的。

  聚类分析计算方法主要有: 层次的方法(hierarchical method)、划分方法(partitioning method)、基于密度的方法(density-based method)、基于网格的方法(grid-based method)、基于模型的方法(model-based method)等。其中,前两种算法是利用统计学定义的距离进行度量。

  k-means 算法的工作过程说明如下:首先从n个数据对象任意选择 k 个对象作为初始聚类中心;而对于所剩下其它对象,则根据它们与这些聚类中心的相似度(距离),分别将它们分配给与其最相似的(聚类中心所**的)聚类;然 后再计算每个所获新聚类的聚类中心(该聚类中所有对象的均值);不断重复这一过程直到标准测度函数开始收敛为止。一般都采用均方差作为标准测度函数. k个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。

  其流程如下:

  (1)从 n个数据对象任意选择 k 个对象作为初始聚类中心;

  (2)根据每个聚类对象的均值(中心对象),计算每个对象与这些中心对象的距离;并根据最小距离重新对相应对象进行划分;

  (3)重新计算每个(有变化)聚类的均值(中心对象);

  (4)循环(2)、(3)直到每个聚类不再发生变化为止(标准测量函数收敛)。

  优点:本算法确定的K 个划分到达*方误差最小。当聚类是密集的,且类与类之间区别明显时,效果较好。对于处理大数据集,这个算法是相对可伸缩和高效的,计算的复杂度为 O(NKt),其中N是数据对象的数目,t是迭代的次数。一般来说,K<

数据分析面试题及答案2

  一、根据要求写出SQL

  表A结构如下:

  Member_ID (用户的ID,字符型)

  Log_time (用户访问页面时间,日期型(只有一天的数据))

  URL (访问的页面地址,字符型)

  要求:提取出每个用户访问的第一个URL(按时间最早),形成一个新表(新表名为B,表结构和表A一致)

  create table B as select Member_ID, min(Log_time), URL from A group

  by Member_ID ;

  二、销售数据分析

  以下是一家B2C电子商务网站的一周销售数据,该网站主要用户群是办公室女性,销售额主要集中在5种产品上,如果你是这家公司的分析师,

  a) 从数据中,你看到了什么问题?你觉得背后的原因是什么?

  b) 如果你的老板要求你提出一个运营改进计划,你会怎么做?

  表如下:一组每天某网站的销售数据

  a) 从这一周的数据可以看出,周末的销售额明显偏低。这其中的原因,可以从两个角度来看:站在消费者的角度,周末可能不用上班,因而也没有购买该产品的欲望;站在产品的角度来看,该产品不能在周末的时候引起消费者足够的***。

  b) 针对该问题背后的两方面原因,我的运营改进计划也分两方面:一是,针对消费者周末没有购买欲望的心理,进行引导提醒消费者周末就应该准备好该产品;二是,通过该产品的一些类似于打折促销等活动来提升该产品在周末的人气和购买力。

  三、用户调研

  某公司针对A、B、C三类客户,提出了一种**的改进计划,用于提升客户的周消费次数,需要你来制定一个事前试验方案,来**决策,请你思考下列问题:

  a) 试验需要为决策提供什么样的信息?

  c) 按照上述目的,请写出你的数据抽样方法、需要采集的'数据指标项,以及你选择的统计方法。

  a) 试验要能证明该改进计划能显著提升A、B、C三类客户的周消费次数。

  b) 根据三类客户的数量,采用分层比例抽样;

  需要采集的数据指标项有:客户类别,改进计划前周消费次数,改进计划后周消费次数; 选用统计方法为:分别针对A、B、C三类客户,进行改进前和后的周消费次数的,两**样本T-检验(two-sample t-test)。


高级java面试题及答案 (菁选2篇)(扩展9)

——财务面试题及答案 (菁选2篇)

财务面试题及答案1

  1,固定资产账面价值在什么情况下会出现负值?

  什么情况下都不应该出现负值,现在的准则不允许负资产的存在,包括负商誉。

  理论上固定资产超龄服役继续计提折旧,或超价值计提减值准备等都可能造成固定资产出现负值,但这样做会使资产负债表上的资产总额减少,而实际上其他资产价值并没有减少,会误导信息使用者。所以所有资产出现负值时,最多在备查簿上予以记录。

  2,新会计准则出台后,对企业的影响有哪些?

  二、新会计准则实施对企业的影响

  (一)新会计准则对企业业绩的影响

  (二)有利于提高企业的会计信息质量

  (三)有利于提高企业整体管理水*

  3,企业所得税的**对**企业的影响是什么?

  企业所得税税率**前,企业所得税率是33%,新的<*******所得税法>规定一般企业所得税的税率为25%,非居民企业在*境内未设立机构、场所的,或者虽设立机构、场所但取得的所得与其所设机构、场所没有实际联系的,应当就其来源于*境内的所得缴纳企业所得税。税率为20%.

  符合条件的小型微利企业,减按20%的税率征收企业所得税。国家需要重点扶持的高新技术企业,减按15%的税率征收企业所得税。企业所得税率的降低对**企业来说有一个很好的推动作用,使得企业的竞争环境更加公*和有利。

  4,企业应该如何面对金融危机?

  一、加大力度,催收货款。

  二、减人增效,降低成本,保本经营。

  三、稳定市场,站稳脚跟。。

  四、降低库存,盘活资产。

  5,面对金融风暴,作为一名管理人员,集体减薪和裁员你会选择哪一个?

  这个问题主管因素比较多。我的回答是:我会选择集体减薪,原因是我认为企业是一个集体,只有大家齐心协力,才能度过难关,企业发展的好,自然多得,既然企业现在处于危机之中,大家更应该团结在一起,待企业度过难关后,一起分享集体加薪的欣悦也不愧为一种优秀的企业文化。

财务面试题及答案2

  1,会计的6大基本要素是什么?

  答案:资产、负债、所有者权益、收入、费用和利润

  2,会计的3大报表是什么?

  答案:资产负债表,现金流量表,利润表(也称为损益表)

  3,权益性支出与资本性支出的差异是什么?

  答案:资本性支出:是用于购买或生产使用年限在一年以上的耐用品所需的支出,指企业单位发生、其效益及于两个或两个以上会计年度的各项支出,包括构成固定资产、无形资产、递延资产的支出。

  收益性支出:也叫期间费用。是指企业单位在经营过程中发生、其效益仅与本会计年度相关、因而由本年收益补偿的各项支出。这些支出发生时,都应记入当年有关成本费用科目。

  区别:收益性支出不同于资本性支出,前者全部由当年的营业收入补偿,后者先记作资产,通过计提折旧或摊销分年摊入各年成本费用。区分收益性支出和资本性支出,是为了正确计算各年损益和正确反映资产的价值。如把收益性支出作为资本性支出,结果是少计了当期费用,多计了资产价值,虚增利润;反之,则多计了当期费用,少计了资产价值,虚减利润

  4,固定资产折旧采用的`方法有哪些?

  答案:分为两类:直线法和加速折旧法

  其中直线法包括:*均年限法和工作量法

  加速折旧法包括:双倍余额递减法和年数总和法


高级java面试题及答案 (菁选2篇)(扩展10)

——逻辑面试题及答案 (菁选2篇)

逻辑面试题及答案1

  1.有十种水果: a 有550个,b 有600个,c 有700个,d 有700个,e 有650个,f 有500个,g 500个,h 有600个,i 有600个,j 有500个

  现在有个1000人小学校,要求把这些水果*均分到孩子手里

  一年级 200人 每人要求分到:9个

  二年级 100人 每人要求分到:8个

  三年级 200人 每人要求分到:5个

  四年级 100人 每人要求分到:3个

  五年级 200人 每人要求分到:6个

  六年级 200人 每人要求分到:4个

  要求:要每个人手里实际分到的水果和要求分到的水果恰好相等,没人多拿没人少拿,并且所有水果全部分完,一个不剩

  还有一点要求,就是每个人手里的水果不能有重复品种的水果的,也就是说,比如:某人手里不能同时拿到两个A水果,这样是错误的做法

  答:略

  析:此题主要考察动态规划的决策:需要的总量越多的年级先分;另外要把a的50和e的50拿出来,放在最后分。

  2.两个圆环,半径分别是1和2,小圆在大圆内部绕大圆圆周一周,问小圆自身转了几周?如果在大圆的外部,小圆自身转几周呢?

  答:一样,都是2周。

  析:不管在内部还是在外部。小圆滚过的路径是相同的,都是大圆的周长。

  3.小明和小强都是张老师的学生,张老师的生日是M月N日,2人都知道张老师的生日是下列10组中的一天,张老师把M值告诉了小明,把N值告诉了小强,张老师问他们知道他的生日是那一天吗?

  3月4日 3月5日 3月8日

  *日 6月7日

  9月1日 9月5日

  12月1日 12月2日 12月8日

  小明说:如果我不知道的话,小强肯定也不知道

  小强说:本来我也不知道,但是现在我知道了

  小明说:哦,那我也知道了

  请根据以上对话推断出张老师的生日是哪一天

  答:9月1日

  析:三句话的意思是:1)M月对应的所有N日均有两个以上,2)而N日对应的所有M月只有一个满足1)。由1)M可能为3或9,再由2)可得3月和9月中只有N为1时满足。

逻辑面试题及答案2

  1.有个小镇有100对夫妇,每个丈夫都在欺骗他的妻子。妻子们都无法识破自己丈夫的谎言,但是她们却能知道其他任何一个男人是否在撒谎。镇上的法律规定不准**,妻子一旦证明丈夫不忠就应该立刻杀死他,镇上所有妇女都必须严格遵守这项法律。有一天,镇上的女王宣布,至少有一个丈夫是不忠的。结果小镇前99天无事儿,而在第100天发生了答**。这是怎么发生的呢?

  答:这就是黑帽和白帽的题。前99天无事儿,说明每个妻子都知道除了自己丈夫外的另外99个男人都**,因此,也就确定了自己的男人也**。

  2.有5个海盗,按照等级从5到1排列。最大的海盗有权提议他们如何分享100枚金币。但其他人要对此表决,如果多数反对,那他就会被杀死。他应该提出怎样的方案,既让自己拿到尽可能多的金币又不会被杀死?

  答:98 1 0 1 0

  析:倒推。1)如果只剩两个人,除非全给最后一个人,否则最后一个人肯定反对,因此最后一人不管怎样总要反对;2)如果剩3人,只要给第四人1枚金币,他就可以赢得半数以上同意,因此第三人肯定反对;3)如果剩4人,由于第三人和第五人肯定反对,他除非不拿金币,否则肯定得不到半数以上的**;4)因此,5人时,第一人只要获得第二人和第四人的**即可。

  3.你和朋友参加聚会,包括你们两人在内一共有10个人在场。你朋友想跟你打赌,说这里每有一个人生日和你相同,你就给他1元,每有一个人生日和你不同,他给你2元。你会接受么?

  答:接受

  析:只有剩下的9人中至少有六人生日和我相同,才不赚。而出现这样的概率实在太低了。

  4.五个人来自不同地方,住不同房子,养不同动物,吸不同牌子香烟,喝不同饮料,喜

  欢不同食物。根据以下线索确定谁是养猫的人。

  (1)红房子在蓝房子的右边,白房子的左边(不一定紧邻)

  (2)黄房子的主人来自**,而且他的房子不在最左边。

  (3)爱吃比萨饼的人住在爱喝矿泉水的人的隔壁。

  (4)来自**的人爱喝茅台,住在来自上海的人的隔壁。

  (5)吸希尔顿香烟的人住在养马的人右边隔壁。

  (6)爱喝啤酒的人也爱吃鸡。

  (7)绿房子的人养狗。

  (8)爱吃面条的人住在养蛇的人的隔壁。

  (9)来自天津的人的邻居(紧邻)一个爱吃牛肉,另一个来自 成都。

  (10)养鱼的人住在最右边的房子里。

  (11)吸万宝路香烟的人住在吸希尔顿香烟的人和吸“555”香烟的人的中间(紧邻)

  (12)红房子的人爱喝茶。

  (13)爱喝葡萄酒的人住在爱吃豆腐的人的右边隔壁。

  (14)吸红塔山香烟的人既不住在吸健牌香烟的人的隔壁,也不与来自上海的人相邻 。

  (15)来自上海的人住在左数第二间房子里。

  (16)爱喝矿泉水的人住在最中间的房子里。

  (17)爱吃面条的人也爱喝葡萄酒。

  (18)吸“555”香烟的人比吸希尔顿香烟的人住的*右。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 yyfangchan@163.com (举报时请带上具体的网址) 举报,一经查实,本站将立刻删除