哪些问题是面试官经常问Java工程师的问题 ? --- 转自quora

Which are the frequently asked interview questions for Java Engineers ?

Vivek Vermani, www.buggybread.com | Programme... (more)

265 upvotes by Ridox LiuShivani Sahni VermaniViet Thang(more)

Java的基础知识   For a Core Java Developer , Questions around following topics should be good.

OOPs Concepts

Abstract Classes and Interfaces

Constructors

Overloading and Overriding

File IO and Serialization

Collections - List , Map , Set - Search, Sorting Algorithms

Access Specifiers

Exceptions - Checked , Unchecked

Generics

Java Keywords - static , final , volatile, synchronized , transient, this , super etc.

JVM and Memory Management

MultiThreading and Synchronization

HashCode and Equals

Design Patterns

Dependency Injection

Reflection API

Java 8 features - Lambda Expressions , Default Methods.

Here is a list of 200+ questions on Core Java - Java - Interview Questions and Answers - Quick Reference - One Liners.

分布式系统/网络部分 If Someone is being hired for a Network / Distributed Application,Following questions can be asked

Communication Protocols like IP, HTTP, TCP, FTP,UDP

Synchronous vs Asynchronus Communication

Sockets

Technologies like RMI, RCP

Message Queues

Interface APIs - JMS, JDBC

ORMs - EJB ( Session Beans , Entity beans, MDB‘s ),  Hibernate

Java web开发 If someone has to work on a Java based web application then he can be asked questions around following topics -

JSP / JSF

Servlets / filters / Interceptors

Session Management / Transaction Management

JNDI

Architectures - n Tier, MVC

Web Frameworks like Struts / Spring

Service Oriented Architecture / Web Services - SOAP / Rest

Web Technologies like HTML, CSS, Javascript and JQuery

Markup Languages like XML and JSON.

Application and Web Servers

Caching

Cloud service (AWS, SoftLayer, BlueMix)

If someone has to work on Java UI, then questions around following can be expected -

  • Applets
  • Frameworks like Swing, SWT, AWT
  • Advanced Frameworks like JavaFX

Every Developer is expected to have knowledge regarding the Data structures. If you are applying positions for a product / system development companies, lot stress will be given to these Questions.
算法导论讲的很全

  • Arrays , Linked List
  • Search Algorithm and their complexity
  • Sorting Algorithms and their complexity
  • Trees , Graphs

Every Java Developer is expected to have Database Knowledge so questions around following concepts can be asked

Database Drivers

Normalization / Denormalization  泛化

Isolation Levels

Transaction Management

SQL Tuning / Optimization

SQL Queries - Inner Outer Joins, Group By , Having

Prepared Statement and their benefit.

Indices , Views

Stored Procedures

Triggers

Cursors

实际开发中回用到,平时注意总结就是了 Moreover questions around Tools, Methodologies, Processes can be asked -

Development Tools - Eclipse / RAD

Design Tools and Diagrams

Configuration Management Tools like SVN, Clearcase etc

Defect Management

Build Tools like Maven, Ant etc

Testing - Unit Testing, JUnit , Black box , White Box

Development Methodologies - Agile / Waterfall / Iterative

Requirement Analysis

Release Management

and then Interviewer can also ask open ended questions.

Which feature would you most like to see added to Java?  增加什么特征?

Which feature would you most like to be removed from Java? 减少什么特性?

Have you gone through some of the features introduced with latest Java version ?  你体验了什么Java新版本的特征?

Do you think removing Perm gen completely in Java 8 is a good idea ? Java 8中去掉永久代是个好主意么?

How would you go about debugging an exception ? 怎么调试exception 异常?

How does Java differ from other programming languages you‘ve worked with? Java和其他编程语言有什么不同?

How do you document your code ? 你是怎么给代码写文档的?

If you are given a choice to implement something using javascript or Java ? Which technology will you use and why ?

What Design Patterns you have used in your project ?  设计模式

Which Web application Framework  - Struts, Spring do you like and Why ? web开发框架

Which IDE, Source Control,Build tool you think is best ?

Which development methodology you would like to work with ? 开发方法学

Do you think using open source servers like Apache , Tomcat is a better idea than paid servers ? 开源服务器 VS付费服务器

Which testing tools do you use ?  测试工具

What are the most important performance issues in Java web applications  性能问题

What are the most important technologies / specifications in Java EE 6? Java EE 6的最重要的特性是什么?

Do you like pair programming ? What‘s your views on Agile methodology comparing to SDLC ?   结对编程  敏捷开发   Software Development Life Cycle

Here are few links that might help.

200+ Java / J2EE Interview Questions and Answers
Java - Advanced Interview Questions for Experienced Professionals
Struts Framework - Interview Questions and Answers
Spring framework - Interview Questions and Answers
Hibernate - Interview Questions and Answers - Quick Reference
WAS / WSAD / RAD - Interview Questions and Answers
SVN ( subversion ) Interview Questions and Answers
Interview Questions and Answers on Maven
SVN ( subversion ) Interview Questions and Answers
Interview Questions and Answers on JSON (JavaScript Object Notation)
REST Web Services - Interview Questions and Answers
Java - SWT ( Standard Widget Toolkit ) / JFACE - Interview Questions and Answers
JavaScript interview questions and answers
Interview Questions and Answers on Markup Languages - XML , JSON
Interview Questions and Answers
Online Practice Tests - Java , Spring , Struts , Unix , Design Pattern , Websphere Commerce

时间: 2024-11-05 22:36:41

哪些问题是面试官经常问Java工程师的问题 ? --- 转自quora的相关文章

【架构师技巧分享】程序员面试美团:面试官突然问Java “锁”你应该怎么回答?

Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率.本文旨在对锁相关源码(本文中的源码来自JDK 8).使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景. Java中往往是按照是否含有某一特性来定义锁,我们通过特性将锁进行分组归类,再使用对比的方式进行介绍,帮助大家更快捷的理解相关知识.下面给出本文内容的总体分类目录: 1.乐观锁 VS 悲观锁 乐观锁与悲观锁是一种广义上的概念,体现了看待线程同步的不同角度.在Java和数据库中都有此概念对应

如果大厂面试官突然问你FactoryBean+Bean你究竟会多少?

如果大厂面试官突然问你FactoryBean+Bean你究竟会多少? 很多Java程序员都在绞尽脑汁的想要进互联网大厂,那进入大厂必备的条件也是大家最想知道的,有很多大厂在面试的过程中会提一些不那么常见的问题,所以我们在去大厂面试的时候就需要提前做好准备. 如果大厂面试官突然问你FactoryBean+Bean你会怎么回答呢? package com.example.demo10.entity; //实体 public class Stu { String name; public Stu(St

【JAVA秒会技术之秒杀面试官】秒杀Java面试官——集合篇(一)

[JAVA秒会技术之秒杀面试官]秒杀Java面试官--集合篇(一) [JAVA秒会技术之秒杀面试官]JavaEE常见面试题(三) http://blog.csdn.net/qq296398300/article/category/6876287

【深度】扒开V8引擎的源码,我找到了你们想要的前端算法(下次面试官再问算法,用它怼回去!)

算法对于前端工程师来说总有一层神秘色彩,这篇文章通过解读V8源码,带你探索`Array.prototype.sort`函数下的算法实现. 来,先把你用过的和听说过的排序算法都列出来: * 快速排序 * 冒泡排序 * 插入排序 * 归并排序 * 堆排序 * 希尔排序 * 选择排序 * 计数排序 * 桶排序 * 基数排序 * ... 答题环节到了, sort 函数使用的以上哪一种算法? 如果你在网上搜索过关于 sort 源码的文章,可能会告诉你数组长度小于10用插入排序,否则用快速排序. 开始我也是

MVCC和间隙锁,面试官的问法

你在项目中用到事务了吗,如果你对表中的数据进行了两次操作, 1 更新表中的数据 成功 2 删除表中的数据 失败 那么请问 你更新能成功吗. 菜鸡本菜的回答:事务的原子性 导致不会成功. 大佬说(非面试官):这个应该是面试官要问你间隙锁.  通过版本号来标记,不存在删除数据的操作,只是版本号无效. 理论: MVCC和间隙锁 多版本并发控制(Multi-VersionConcurrency Control,Mvcc)是mysql的InnoDb存储引擎实现隔离级别的一种具体的方式, 用于实现读已提交和

阿里Java面试官分享初级Java程序员通过面试的技巧

本来想分享毕业生和初级程序员如何进大公司的经验,但后来一想,人各有志,有程序员或许想进成长型或创业型公司或其它类型的公司,所以就干脆来分享些提升技能和通过面试的技巧,技巧我讲,公司你选,两厢便利. 毕业生和初级程序员(一般是工作经验3年以下)大多处于事业的青黄不接的阶段,在找工作时往往会遇到缺乏实际项目经验的瓶颈,作为技术面试官,我也经常在面试过程中感受到这些候选人缺乏实际经验的缺陷.不过本人之前做过java兼职培训老师,也总结了些这批人群提升实际技能和面试技能的技巧,最近也老有人来问我这个,所

如何写出面试官欣赏的Java单例

单例模式是一种常用的软件设计模式.在它的核心结构中只包含一个被称为单例的特殊类.通过单例模式可以保证系统中一个类只有一个实例. 今天我们不谈单例模式的用途,只说一说如果在面试的时候面试官让你敲一段代码实现单例模式的情况下怎样写出让面试官眼前一亮的单例代码.因为笔者学的是Java,所以接下来的实例将用Java语言编写. 说到单例模式,第一个想到的是该类中有一个初始化为null的自身引用,且被private修饰符修饰,其它类不得直接访问.除此之外,单例模式的类还需要有private的构造方法,这一点

面试官一问一答的面试题

1,请问你平常用什么浏览器调试? 谷歌,火狐 ,偶尔调试的时候用IE  偶尔会使用下国产的浏览器 问:请说下火狐浏览器,360的浏览器的内核   没听错就是360浏览器 IE浏览器内核:Trident内核,也是俗称的IE内核:Chrome浏览器内核:统称为Chromium内核或Chrome内核,以前是Webkit内核,现在是Blink内核:Firefox浏览器内核:Gecko内核,俗称Firefox内核:Safari浏览器内核:Webkit内核:Opera浏览器内核:最初是自己的Presto内核

以后面试官再问你三次握手和四次挥手,直接把这一篇文章丢给他

三次握手和四次挥手是各个公司常见的考点,也具有一定的水平区分度,也被一些面试官作为热身题.很多小伙伴说这个问题刚开始回答的挺好,但是后面越回答越冒冷汗,最后就歇菜了. 见过比较典型的面试场景是这样的: 面试官:请介绍下三次握手 求职者:第一次握手就是客户端给服务器端发送一个报文,第二次就是服务器收到报文之后,会应答一个报文给客户端,第三次握手就是客户端收到报文后再给服务器发送一个报文,三次握手就成功了. 面试官:然后呢? 求职者:这就是三次握手的过程,很简单的. 面试官:...... (番外篇: