这部分内容,参考了《面试官的七种武器》一文。 电面与face2face的面试还是有区别的,很多考察方式无法使用。

从简历聊起,逐渐进入正题。

Java语法

重载与重写的区别?

java如何实现多态?

StringBuilder StringBuffer区别?

Nested Class相关概念?

Inner Class, Static Nested Class的使用?

如何在outer world中new一个nested class?

 public class Outer {

     public class Inner {

     }
} public class Tester {
public static void main() {
Outer outer = new Outer();
Inner inner = outer.new Inner();
}
}

final finally finalized关键字的区别?

static关键字都有哪些使用场景(static方法必须,说出static block及格,说出import static会加分)。

初始化块?

lib

jdk中常见的framework,比如IO

Collection:

HashMap

juc并发框架:

ConcurrentHashMap的实现原理

volatile\sychronized关键字的使用

你常用的并发容器? BlockingQueue的实现ABQ和LBQ的区别?

显式锁与内置锁的区别?

AQS?

原子操作?

对于Spring来说,要重点掌握IOC和AOP的实现原理,其中AOP要知道动态Proxy和CGLIB两种实现方式。

对于ORM框架,要重点掌握MyBatis和Hibernate的实现原理和不同点。

JVM

JVM的运行时内存区域如何划分?

JVM内存模型

GC机制: GC: hotspot系列虚拟机有哪些常用的GC算法?

JVM的性能调优

类加载机制 双亲委派机制

JIT技术,为什么Oracle的Java虚拟机叫做HotSpot?

手写代码

二分查找,快排的思想、时间复杂度分析等等

单链表的反转、判断单链表是否相交

反转二叉树、二叉树的层级遍历 如何使用队列来模拟栈的操作?

手写生产者消费者原型,手写单例模式

设计模式

单例(线程安全的单例?在Java中双重检查加锁为什么会失效?)

你使用过的设计模式有哪些? 什么是策略模式?

Java开发中的其他环节

常见的Web服务器有哪些?

Nignx与Apache的原理及不同

了解过哪些开源框架?

myBatis 与Hibernate相比,主要优势是?

Spring框架的主要特性是?(AOP和IOC)。

Redis持久化有哪些方式?

什么是一致性Hash?

什么是数据库事务,如何实现数据库事务? 如何实现分布式事务?

SQL性能优化方法:select * from table1; 如果有上百万条记录,如何优化? 覆盖索引。

做没做过运维? ps iostat netstat vmstat之类的命令如何使用,等。JVM监控主要是如何获得java core和heap dump,以及如何分析他们,另外一些简单监控命令如jstack和jmap jhat等也要了解。

系统架构设计

如何设计电商秒杀系统?描述如何从各个环节,减少服务器的压力?

其他

项目中最大的挑战? 如何解决的?

非技术

薪资?加班? 职业规划?

参考文献:

http://www.cnblogs.com/lanxuezaipiao/p/3371224.html

我给出的一份Java服务器端面试题-适合电话面试的更多相关文章

  1. Java前端面试题总结

    Java前端面试题总结 简单说一下HTML,CSS,javaScript在网页开发中的定位? HTML:超文本标记语言,定义网页的结构 CSS:层叠样式表,用来美化页面 JavaScript:主要用来 ...

  2. JAVA工程师-蚂蚁金服电话面试

    今天5点半接到一个杭州的电话,是蚂蚁金服打来的,当时心里一阵发慌,由于还在上班,就和面试官约定6点下班之后再来.挂完电话,心里忐忑的不行,感觉自己这也没准备好,那也没准备好.剩下半个小时完全没有心思再 ...

  3. 新鲜出炉一份Java面试清单,共200+道题

    一.Java 基础 1.JDK 和 JRE 有什么区别? 答:JRE是java运行时环境,包含了java虚拟机,java基础类库.是使用java语言编写的程序运行所需要的软件环境,是提供给想运行jav ...

  4. 新鲜出炉!阿里Java后端面经,已拿offer!

    前面给大家分享了一篇字节跳动拿下offer的面经,很多小伙伴都私信我说收获很大,感兴趣的朋友可以回头去看看.很多小伙伴还问我有没有其他大厂的面试题分享,这不他来啦,阿里2020春招面试题给大家整理在下 ...

  5. 金九银十,收下这份 Java String 面试题

    请点赞关注,你的支持对我意义重大. Hi,我是小彭.本文已收录到 GitHub · Android-NoteBook 中.这里有 Android 进阶成长知识体系,有志同道合的朋友,关注公众号 [彭旭 ...

  6. JAVA必背面试题和项目面试通关要点

    一 数据库 1.常问数据库查询.修改(SQL查询包含筛选查询.聚合查询和链接查询和优化问题,手写SQL语句,例如四个球队比赛,用SQL显示所有比赛组合:举例2:选择重复项,然后去掉重复项:) 数据库里 ...

  7. 2015年阿里巴巴蚂蚁金服校招JAVA研发工程师内推电话面试

    没想到阿里校招如此之早,虽然早已进入复习备战状态,但还是感觉有些措手不及...找了个在蚂蚁金服做HR的同学帮忙了内推,然后在最近的几天匆匆忙忙地复习JAVA(之前都把精力放在了数据结构.算法等基础上了 ...

  8. JAVA必背面试题和项目面试通关要点(带答案)

    转载:https://blog.csdn.net/qq_36896779/article/details/78247050 一 数据库 1.常问数据库查询.修改(SQL查询包含筛选查询.聚合查询和链接 ...

  9. 大小厂必问Java后端面试题(含答案)

    你好,我是yes. 这个系列的文章不会是背诵版,不是那种贴上标准答案,到时候照着答就行的面试题汇总. 我会用大白话尽量用解释性.理解性的语言来回答,但是肯定没有比平时通过一篇文章来讲解清晰,不过我尽量 ...

随机推荐

  1. 正确使用 Volatile 变量——Brian Goetz

    本文转自:http://www.ibm.com/developerworks/cn/java/j-jtp06197.html 由Java并发大师Brian Goetz所撰写的. Java 语言中的 v ...

  2. 读书笔记——Windows环境下32位汇编语言程序设计(9)ANSII字符大小写转大写

    在罗云彬的<Windows环境下32位汇编语言程序设计>中第321页 ... .const szAllowedChar db '0123456789ABCDEFabcdef',08h .. ...

  3. c++基础回顾

    #include <iostream> #include <vector> #include <string> int main(int argc, const c ...

  4. 对象复制问题 && lvalue-rvalue && 引用

    按值传递实参到函数和函数返回临时变量的副本,函数的效率对执行性能来说至关重要 如果避免这样的复制操作,则执行时间可能会大大缩短. class CMessage { private: char * m_ ...

  5. ES5严格模式(Strict mode)

    严格模式(Strict mode)是由ECMA-262规范定义的新兴JavaScript标准,第五版发布于2009年12月.旨在改善错误检查功能并且标识可能不会延续到未来JavaScript版本的脚本 ...

  6. oracle创建数据库和用户

    以前开发的时候用得比较多的是mysql和sql server,oracle用的比较少,用起来比较生疏,mysql和sql server用起来比较类似,就oracle的使用方式和他们不同,oracle在 ...

  7. Java基础の乱弹琴一:assert关键字

    一.概述 assert:表示断言 二.语法 在Java中,assert关键字是从JAVA SE 1.4 引入的,为了避免和老版本的Java代码中使用了assert关键字导致错误,Java在执行的时候默 ...

  8. Excel demo in SSIS

    需求如下,把异常数据从sqlserver数据库中取出来,然后导入到xls中去,然后再发邮件给用户,把xls作为附件发送. 需要的示例数据表: /* create table abnormaldata( ...

  9. 使用jmx监控tomcat

    1.在tomcat启动过程中,开启相应的参数配置: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -D ...

  10. TestNG之执行顺序

    如果很有个测试方法,并且这几个方法又有先后顺序,那么如果让TestNG按照自己想要的方法执行呢 一.通过Dependencies 1.在测试类中添加Dependencies @Test public ...