2020年Java面试之JVM考察点和加分项+++++

HashMap与线程池:Java面试核心知识点解析 哈希表作为基础数据结构,通过键值对存储实现高效查找。Java中的HashMap采用数组+链表+红黑树的混合结构,在JDK8引入红黑树优化极端情况下的查询效率。理解其扩容机制、树化阈值等核心参数,对处理高并发场景至关重要。线程池则是多线程编程的核心组件,通过核心参数配置实现资源复用和任务调度。掌握ThreadPoolExecutor的工作流程和四种拒绝策略,能够有效应对不同业务场景的需求。这些技术不仅是面试高频考点,更是构建高并发系统的基石,在电商秒杀、实时计算等场景中广泛应用。 阅读详情

在这里插入图片描述JVM 是 Java 程序运行基础,面试时一定会遇到 JVM 相关的题。本文会先对面试中 JVM 的考察点进行汇总介绍。然后对 JVM 内存模型、Java 的类加载机制、常用的 GC 算法这三个知识点进行详细讲解。最后汇总 JVM 考察点和加分项,以及这部分知识的面试真题。

01 JVM 知识点汇总

首先看看 JVM 的知识点汇总。在这里插入图片描述

如上图所示,JVM 知识点有 6 个大方向,其中,内存模型、类加载机制、GC 垃圾回收是比较重点的内容。性能调优部分偏重实际应用,重点突出实践能力。编译器优化和执行模式部分偏重理论基础,主要掌握知识点。

各个部分需要了解的知识点如下。

**1.**内存模型:程序计数器、方法区、堆、栈、本地方法栈的作用,保存哪些数据。
**2.**类加载:双亲委派的加载机制,以及常用类加载器分别加载哪种类型的类。
**3.**GC:分代回收的思想和依据,以及不同垃圾回收算法实现的思路、适合的场景。
**4.**性能调优:常用的 JVM 优化参数的作用,参数调优的依据,常用的 JVM 分析工具能分析哪类问题,以及使用方法。
**5.**执行模式:解释、编译、混合模式的优缺点,Java7 提供的分层编译技术。需要知道 JIT 即时编译技术和 OSR(栈上替换),知道 C1、C2 编译器针对的场景,其中 C2 针对 Server 模式,优化更激进。在新技术方面可以了解 Java10 提供的由 Java 实现的 Graal 编译器。
**6.**编译优化:前端编译器 javac 的编译过程、AST 抽象语法树、编译期优化和运行期优化。编译优化的常用技术包括公共子表达式的消除、方法内联、逃逸分析、栈上分配、同步消除等。明白了这些才能写出对编译器友好的代码。

JVM 的内容相对来说比较集中,但是对知识深度的掌握要求较高。

02 详解 JVM 内存模型

JVM 内存模型主要指运行时的数据区,包括 5 个部分,如下图所示。
在这里插入图片描述
栈也叫方法栈,是线程私有的,线程在执行每个方法时都会同时创建一个栈帧,用来存储局部变量表、操作栈、动态链接、方法出口等信息。调用方法时执行入栈,方法返回时执行出栈。

本地方法栈与栈类似,也是用来保存线程执行方法时的信息,不同的是,执行 Java 方法使用栈,而执行 native 方法使用本地方法栈。

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

   栈、本地方法栈、程序计数器这三个部分都是线程独占的。

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

方法区也是各个线程共享的内存区域,又叫非堆区。用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据,JDK 1.7 中的永久代和 JDK 1.8 中的 Metaspace 都是方法区的一种实现。

面试回答这个问题时,要答出两个要点:一个是各部分的功能,另一个是哪些线程共享,哪些独占。

03 详解 JMM 内存可见性

JMM 是 Java 内存模型,与刚才讲到的 JVM 内存模型是两回事,JMM 的主要目标是定义程序中变量的访问规则,如下图所示,所有的共享变量都存储在主内存中共享。每个线程有自己的工作内存,工作内存中保存的是主内存中变量的副本,线程对变量的读写等操作必须在自己的工作内存中进行,而不能直接读写主内存中的变量。
在这里插入图片描述

在多线程进行数据交互时,例如线程 A 给一个共享变量赋值后,由线程 B 来读取这个值,A 修改完变量是修改在自己的工作区内存中,B 是不可见的,只有从 A 的工作区写回主内存,B 再从主内存读取自己的工作区才能进行进一步的操作。由于指令重排序的存在,这个写—读的顺序有可能被打乱。因此 JMM 需要提供原子性、可见性、有序性的保证。

03 详解 JMM 保证

如下图所示,来看 JMM 如何保证原子性、可见性,有序性。
在这里插入图片描述
原子性

JMM 保证对除 long 和 double 外的基础数据类型的读写操作是原子性的。另外关键字 synchronized 也可以提供原子性保证。synchronized 的原子性是通过 Java 的两个高级的字节码指令 monitorenter 和 monitorexit 来保证的。

可见性
JMM 可见性的保证,一个是通过 synchronized,另外一个就是 volatile。volatile 强制变量的赋值会同步刷新回主内存,强制变量的读取会从主内存重新加载,保证不同的线程总是能够看到该变量的最新值。

有序性
对有序性的保证,主要通过 volatile 和一系列 happens-before 原则。volatile 的另一个作用就是阻止指令重排序,这样就可以保证变量读写的有序性。

happens-before 原则包括一系列规则,如:

 程序顺序原则,即一个线程内必须保证语义串行性;

 锁规则,即对同一个锁的解锁一定发生在再次加锁之前;

 happens-before 原则的传递性、线程启动、中断、终止规则等。

04 详解类加载机制

类的加载指将编译好的 Class 类文件中的字节码读入内存中,将其放在方法区内并创建对应的 Class 对象。类的加载分为加载、链接、初始化,其中链接又包括验证、准备、解析三步。如下图所示。在这里插入图片描述

1,加载是文件到内存的过程。通过类的完全限定名查找此类字节码文件,并利用字节码文件创建一个 Class 对象。

2,验证是对类文件内容验证。目的在于确保 Class 文件符合当前虚拟机要求,不会危害虚拟机自身安全。主要包括四种:文件格式验证,元数据验证,字节码验证,符号引用验证。
3,准备阶段是进行内存分配。为类变量也就是类中由 static 修饰的变量分配内存,并且设置初始值。这里要注意,初始值是 0 或者 null,而不是代码中设置的具体值,代码中设置的值是在初始化阶段完成的。另外这里也不包含用 final 修饰的静态变量,因为 final 在编译的时候就会分配。
,4,解析主要是解析字段、接口、方法。主要是将常量池中的符号引用替换为直接引用的过程。直接引用就是直接指向目标的指针、相对偏移量等。

5,初始化,主要完成静态块执行与静态变量的赋值。这是类加载最后阶段,若被加载类的父类没有初始化,则先对父类进行初始化。

只有对类主动使用时,才会进行初始化,初始化的触发条件包括在创建类的实例时、访问类的静态方法或者静态变量时、Class.forName() 反射类时、或者某个子类被初始化时。

如上图所示,浅绿的两个部分表示类的生命周期,就是从类的加载到类实例的创建与使用,再到类对象不再被使用时可以被 GC 卸载回收。这里要注意一点,由 Java 虚拟机自带的三种类加载器加载的类在虚拟机的整个生命周期中是不会被卸载的,只有用户自定义的类加载器所加载的类才可以被卸载。

05 详解类加载器在这里插入图片描述

如上图所示,Java 自带的三种类加载器分别是:BootStrap 启动类加载器、扩展类加载器和应用加载器(也叫系统加载器)。图右边的桔黄色文字表示各类加载器对应的加载目录。启动类加载器加载 java home 中 lib 目录下的类,扩展加载器负责加载 ext 目录下的类,应用加载器加载 classpath 指定目录下的类。除此之外,可以自定义类加载器。

Java 的类加载使用双亲委派模式,即一个类加载器在加载类时,先把这个请求委托给自己的父类加载器去执行,如果父类加载器还存在父类加载器,就继续向上委托,直到顶层的启动类加载器,如上图中蓝色向上的箭头。如果父类加载器能够完成类加载,就成功返回,如果父类加载器无法完成加载,那么子加载器才会尝试自己去加载。如图中的桔黄色向下的箭头。

这种双亲委派模式的好处,可以避免类的重复加载,另外也避免了 Java 的核心 API 被篡改。

06 详解分代回收

Java 的堆内存被分代管理,为什么要分代管理呢?分代管理主要是为了方便垃圾回收,这样做基于2个事实,第一,大部分对象很快就不再使用;第二,还有一部分不会立即无用,但也不会持续很长时间。

虚拟机划分为年轻代、老年代、和永久代,如下图所示。在这里插入图片描述

年轻代主要用来存放新创建的对象,年轻代分为 Eden 区和两个 Survivor 区。大部分对象在 Eden 区中生成。当 Eden 区满时,还存活的对象会在两个 Survivor 区交替保存,达到一定次数的对象会晋升到老年代。

老年代用来存放从年轻代晋升而来的,存活时间较长的对象。

永久代,主要保存类信息等内容,这里的永久代是指对象划分方式,不是专指 1.7 的 PermGen,或者 1.8 之后的 Metaspace。

根据年轻代与老年代的特点,JVM 提供了不同的垃圾回收算法。垃圾回收算法按类型可以分为引用计数法、复制法和标记清除法。

引用计数法是通过对象被引用的次数来确定对象是否被使用,缺点是无法解决循环引用的问题。

复制算法需要 from 和 to 两块相同大小的内存空间,对象分配时只在 from 块中进行,回收时把存活对象复制到 to 块中,并清空 from 块,然后交换两块的分工,即把 from 块作为 to 块,把 to 块作为 from 块。缺点是内存使用率较低。

标记清除算法分为标记对象和清除不在使用的对象两个阶段,标记清除算法的缺点是会产生内存碎片。

JVM 中提供的年轻代回收算法 Serial、ParNew、Parallel Scavenge 都是复制算法,而 CMS、G1、ZGC 都属于标记清除算法。

考察点和加分项

考察点

总结 JVM 相关的面试考察点如下:
深入了解 JVM 的内存模型和 Java 的内存模型;
要了解类的加载过程,了解双亲委派机制;
要理解内存的可见性与 Java 内存模型对原子性、可见性、有序性的保证机制;
要了解常用的 GC 算法的特点、执行过程,和适用场景,例如 G1 适合对最大延迟有要求的场合,ZGC 适用于 64 位系统的大内存服务中;
要了解常用的 JVM 参数,明白对不同参数的调整会有怎样的影响,适用什么样的场景,例如垃圾回收的并发数、偏向锁设置等。

加分项

如果想要给面试官留下更好的印象,注意这些加分项。

如果在编译器优化方面有深入的了解的话,会让面试官觉得你对技术的深度比较有追求。例如知道在编程时如何合理利用栈上分配降低 GC 压力、如何编写适合内联优化等代码等。

如果你能有线上实际问题的排查经验或思路那就更好了,面试官都喜欢动手能力强的同学。例如解决过线上经常 FullGC 问题,排查过内存泄露问题等。

如果能有针对特定场景的 JVM 优化实践或者优化思路,也会有意想不到的效果。例如针对高并发低延迟的场景,如何调整 GC 参数尽量降低 GC 停顿时间,针对队列处理机如何尽可能提高吞吐率等;

如果对最新的 JVM 技术趋势有所了解,也会给面试官留下比较深刻的印象。例如了解 ZGC 高效的实现原理,了解 Graalvm 的特点等。

真题汇总

总结 JVM 相关的面试真题,第一部分真题如下,课后可以重点练习。在这里插入图片描述

解题思路如下所示:

第 1 题 Java 内存模型前面讲过,面试时回答这个问题时记得和面试官确认是希望回答 JVM 的内存模型,还是 Java 对内存访问的模型,不要答跑偏。

第 2 题要复习一下什么场景下会触发 FullGC,例如年轻代晋升时老年代空间不足,例如永久代空间不足等。

第 3~6 题前面已经有过讲解,因此不再重复。

第二部分真题如下所示:
在这里插入图片描述
解题思路如下所示:

第 7 题 volatile 要重点回答强制主内存读写同步以及防止指令重排序两点。

第 8、9 题前面已经讲过。

第 10 题重点介绍出强、弱、软、虚四种引用,以及在 GC 中的处理方式。

第 11 题可以了解一下 Java 自带的几种工具的功能,例如 JMC 中的飞行记录器,堆分析工具 MAT,线程分析工具 jstack 和获取堆信息的 jmap 等。

更多面试答案+资料免费领取方式:转发+转发+转发关注后,私信关键词【面试】即可获取免费领取方式!
重要的事说三遍,关注,关注,关注

Java面试真正的加分项,这套笔记堪称Java八股文的天花板 除了按大厂,还按Java技术栈的维度,给你梳理了Java的各个技术点:Java I/O、JVM、Kafka、MySQL、Netty 、Dubbo、ZooKeeper、MyBatis、Redis、Spring、消息队列、分布式、微服务、并发编程......全都包含在里面!深度学习、归纳、坚持实践,以及英语能力,写代码的修养,“Talk”有效沟通的能力等,在工作中既具备技术整合的能力,也通晓技术细节。但“梦想美好,现实残酷”,不少人实际工作中做的事,跟大牛根本不沾边,常年忙于业务代码,究竟该如何成长? 阅读详情

相关推荐

Java面试32大核心知识点全面解析

本文还有配套的精品资源,点击获取 简介:Java作为流行的面向对象编程语言,其面试中考察的知识点广泛且深入。掌握这32个面试必考点对于Java程序员的专业技能提升和面试成功至关重要。本专题将深入解析每个考点,包括面向对象基本概念、数据类型、变量运算符、流程控制、方法、数组、字符串、异常处理、集合框架、泛型、接口与抽象类、内部类、多线程、IO流、NIO、网络编程、反射、注解、...

weixin_30591519的博客 1000

Java程序员简历“加分项”,微服务架构技术你了解多少?

开篇之前先声明我对微服务的几点态度: 架构模式有很多,微服务不是唯一的选择也不是什么银弹。国内绝大多数中小公司引入微服务都是在盲目追新,也能看出做此种技术选型的工程师基础架构素质的不足。 “你必须长的足够高才能使用微服务”。微服务基础设施,尤其是容器技术、自动化部署、自动化测试这些不完备,微服务形同虚设,不会带来什么质的提升。 微服务架构的关键不在于具体的实现,而在于如...

spring_root的博客 2850

【软件安装系列】Ubuntu+mysql5.7.27+Jira8.3.1+邮箱服务器配置+Confluence6.15.7安装经验和采坑总结

文章目录一、软件准备(百度云易被吞,就不放了)1.1 官网下载的新鲜的Jira和Confluence1.2 linux的jdk一份1.3 Jira和Confluence的破解程序或者破解包一份1.4 java的连接器一份二、安装过程1--java环境配置2.1 将下载下来的jdk包解压在/usr/local/java目录中2.2 写入环境变量三、安装过程2--mysql5.7.27环境配置3.1 ...

xiaosha_的博客 6892

Java面试的考点有哪些?

Java面试考点如果细说那可太多了,现在面试也是越来越卷,因此素来有面试造火箭,工作拧螺丝的调侃话语。当然了,我们面试主要就是为了工作,而工作又有社招、校招之分,下面分享一些面试问题,希望可以帮助社招、校招的小伙伴,早日找到工作!!!1、启动docker进入容器的命令2、SpringCloud和dubbo的区别3、如何实现接口的幂等性4、API安全接口的设计5、SpringCloud断路器的作用6、XXL-JOB如何在集群中保持定时任务只触发一次7、线程池最大线程数量的计算方法8、catch当中return

m0_72533993的博客 574

AD域控设置客户端桌面壁纸

此时再右键wallpaper文件夹,共享选项下的网络路径已经有了。找到该域下的组策略编辑器(第一步有)并按照图下所示找到桌面壁纸的策略设置,点击进去。在高级共享里可以设置共享名和同时共享的用户数量限制。点击下拉箭头,找到Everyone并选择,点击添加后,点击共享。然后可以看到刚才的新建文件夹策略在域控服务器和客户端都生效了。右键wallpaper文件夹->属性,点击共享选项,点击共享。在弹出的窗口里,按照图下所示设置,点击应用并且确认。在弹出的窗口里,按图示找到文件夹,右键新建文件夹。

欲买桂花同载酒的博客 6054

【机器学习(一)】从零到一:用sklearn构建你的第一个机器学习项目

本文为机器学习新手提供了一个完整的端到端实战指南。通过使用Python的scikit-learn库,以经典的鸢尾花数据集为例,详细演示了从环境搭建、数据探索、预处理、模型训练与评估,到超参数调优和模型保存的全流程。文章旨在帮助读者快速构建第一个机器学习项目,掌握核心工作流和工程实践。

weixin_29070861的博客 467

JAVA面试题大全(200+道题目)

面试题 一、Java 基础 1.JDK 和 JRE 有什么区别? 2.== 和 equals 的区别是什么? 3.两个对象的 hashCode()相同,则 equals()也一定为 true,对吗? 4.final在 java 中有什么作用? 5.java中的 Math.round(-1.5) 等于多少? 6.String 属于基础的数据类型吗? 7.java中操作字符串都有...

qq_38078190的博客 13万+

C# 异步编程详解(Task,async/await)

同步和异步主要用于修饰方法。当一个方法被调用时,调用者需要等待该方法执行完毕并返回才能继续执行,我们称这个方法是同步方法;当一个方法被调用时立即返回,并获取一个线程执行该方法内部的业务,调用者不用等待该方法执行完毕,我们称这个方法为异步方法。异步的好处在于非阻塞(调用线程不会暂停执行去等待子线程完成),因此我们把一些不需要立即使用结果、较耗时的任务设为异步执行,可以提高程序的运行效率。

luxingyu329的博客 4154

九大核心专题,630页内容,熬夜23天吃透,我收割了3个大厂offer

前言 今年受疫情影响非常大,春招和金三银四都要比往年来得更迟一些。春招结束之后,我特意把自己的面试经历顺了顺,总结出了不少的经验。对了,这次一共收割了3个大厂offer,分别是蚂蚁金服、美团和网易,特意分享这次对我帮助非常大的宝典资料,一共涉及九大核心专题,分别是计算机网络、操作系统、MySQL、Linux、JAVA、JVM、Redis、消息队列与分布式、网站优化相关,这些内容我熬夜整整23天才读完,希望它也能帮助到你们。 九大核心专题分享给你们,实现自己的大厂梦,共勉! 九大核心专题,可私信关键词

代码界的扛把子 1497

【数据集】中国各类水文专业常用数据集合集

对中国各类水文专业常用数据集进行整理并总结

WW、forever的博客 9303

大厂硬件机试选择题与判断题解析-卷1

本文精选30道硬件工程师机试题目,涵盖模拟电路、数字电路、PCB设计三大方向。模拟电路部分重点考察运算放大器、滤波器、整流电路等核心知识;数字电路部分聚焦计数器、电平转换等关键技术;PCB设计部分强调高速信号处理、阻抗控制等实践要点。题目均来自华为、小米等大厂真题,剔除基础题,每道题附详细解析,包括正确答案推导过程及相关公式说明。特别针对易错概念(如负反馈类型判断、Q值与带宽关系等)进行重点解析,帮助考生系统掌握硬件设计的核心考点和解题思路。

启芯硬件的博客 678

Java面试中真正的加分项,这套笔记说全了

2022这抓马的一年终于过去了,疫情的影响可以说越来越小,市场的慢慢复苏,各大企业的招聘也“肆无忌惮”起来,放眼到IT技术行业,Java又再一次成了需求的大头,各种高薪福利统统奉上。各位苟着的小伙伴们可算是盼到机会了!但很多小伙伴对面试不够了解,不知道如何准备,对面试环节的设置以及目的不了解,尤其是面试题还很难,有些还偏重实战,因此成功率不高。要知道目前校招生面试的成功率低于1%,而社招的面试成功...

路人甲Java 384

自抗扰控制(ADRC)理论与工程实践:8.2 模糊ADRC、神经网络ADRC等智能融合变体

智能融合ADRC变体概述 自抗扰控制(ADRC)与智能控制方法(如模糊逻辑、神经网络)的融合,旨在突破传统ADRC在非线性、时变系统中的应用局限。智能融合ADRC主要通过以下方式实现性能提升: 模糊ADRC 参数自整定:利用模糊推理在线调节ADRC带宽参数,实现自适应控制。 非线性反馈:用模糊控制器替代线性PD,灵活设计非线性控制策略。 优势:融入专家经验,无需精确模型;局限:依赖规则库设计,稳定性分析困难。 神经网络ADRC 增强ESO:用神经网络学习扰动动态,提高估计精度。

技术工作者 228

Java 实习模拟面试:从基础到分布式架构的全方位考察

您好,我是 XXX,目前就读于 XX 大学计算机科学与技术专业,具备扎实的 Java 编程基础,熟悉 Spring、MyBatis 等主流框架的使用和原理。我对后端开发有浓厚兴趣,尤其关注高性能、高并发系统的实现方式。在校期间参与过多个项目,涉及 Web 开发、数据库优化以及简单的分布式架构实践。我学习能力强,喜欢钻研新技术,希望能在贵公司实习中进一步提升自己的工程能力和架构思维。Consistency(一致性):所有节点在同一时间看到的数据是一致的;Availability(可用性)

吾为热爱计科,致力于知识分享的践行者,此博客是我在这条道路上留下的足迹。 564

《Zephyr OS 入门与实战》第1章:Zephyr OS 架构与物联网定位

【代码】《Zephyr OS 入门与实战》第1章:Zephyr OS 架构与物联网定位。

2301_79143213的博客 1270

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

8年经验面试官详解 Java 面试秘诀

Java面试技巧与注意事项,赠送8年经验面试官总结的简历模板一份。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

感觉java就是类_java类与实例

标签:最近在看设计模式,感觉自己对java的三大特性的理解不够清晰,搞不清楚抽象类、接口、泛型的用处和优缺点。设计模式学了一半,想着还是停下来脑补一下java的基础,就从java对象开始吧。一、java对象记得刚开始学java对象的时候,老师给我们解释说“一切事物皆为对象”,即所有东西都是对象,对象就是可以看得到、感觉到、听到、触摸到、尝到、或者闻到的东西。准确地说,对象是一个自包含的实体,用一组...

weixin_39875760的博客 165

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

关于Java面试,面试官一般会怎么考察?我总结了这 6 点

跳槽这件事情,每时每刻都在身边发生,送走老伙计,迎来新伙伴。新老交替中,面试环节必不可少,这也最让人头疼,遇到一个满意的候选人,犹如炭中取栗,很难!面试结果是双方决定的,你看上候选人,觉得他和当前职位特别合适,可惜他只是来练手的。作为面试官,经过这么久的面试经历,我总结了以下几点,如果你都能满足,那你99.999%可以拿到满意的offer。工作经历自我介绍是99%的面试开头,...

weixin_33955681的博客 2957

不只是给面试加分 -- Java WeakReference的理解与使用

前言: 看到篇帖子, 国外一个技术面试官在面试senior java developer的时候, 问到一个weak reference相关的问题. 他没有期望有人能够完整解释清楚weak reference是什么, 怎么用, 只是期望有人能够提到这个concept和java的GC相关. 很可惜的是, 20多个拥有5年以上java开发经验的面试者中, 只有两人知道weak reference的存...

全是干货 1979

Java开发面试考察点

鉴于最近在招java开发人员,自己补充并整理的面试题、笔试题,总结一下主要考察点: 1、逻辑思维能力 2、代码编写能力 3、数据库sql编写能力 4、java基础 5、web 6、框架 7、技术积累 8、解决问题能力 9、学习能力 ...

kman2010的博客 497

作为Java面试官--谈谈一年来的面试总结

自过完年到现在,作为一名中小型(200-500)人的互联网公司的小Java技术面试官. 目前已经面试了将近200个求职者,作为一名技术深度不怎么样的程序员.我还是被雷了个外焦里嫩... 面试者我就不多说了,林子大了什么鸟都有,大家都懂. 简单谈一谈我常问的一些问题,以及目的吧: ps:本人也不是大牛,就是接触的面广了一点,多少都能唠上两句~ 另外本人面的大多是3年以内工作经验的. 心情

Java那点事 | 学习●思考●分享 | Java技术交流QQ群:83753349 2万+
上一篇: DevOps心态的兴起!!!
下一篇: 微软抄袭 AppGet 始末,开源普法任重道远
跟着我学Java
博客等级 码龄6年 660粉丝 1341原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值