java面试题(杨晓峰)---以面试题为切入点,有效提升你的java内功

java是一门历史悠久的编程语言,可以毫无争议的说,java是最主流的编程语言之一.全球有1200万以上的java程序猿以及海量的设备,还有无所不能的java生态圈.

我所知道的诸如阿里,京东,百度,腾讯,美团,去哪儿等互联网公司,基本都是以java为首要编程语言的.即使在最新的云计算领域,java仍然是AWS,google app engine等平台上,使用最多的编程语言,甚至在微软的Azure云上,java也已微弱劣势排在前三,所以,在这些大公司的面试中,基本都会以java为切入点,考评一个面试者的基本能力.

应聘初级,中级java工程师,通常只要求扎实的java和计算机科学基础,掌握主流开源框架的使用,java高级工程师或者技术专家,则往往全面考察java io/nio,并发,虚拟机等,不仅仅是了解,更要求对底层源代码层面的掌握,并对分布式,安全,性能等领域能力有进一步的要求.

我在oracle已经工作了近七年,负责过北京java核心类库,国际化,分发服务等技术团队的组建,面试过从初级到非常资深的java开发工程师.由于java组工作任务的特点,我非常重视面试者的计算机科学基础和编程语言的理解深度,我甚至不要求面试者非要精通java,如果对c/c++等其他语言能过掌握的非常系统和深入,也符合需求的.

工作多年以及在面试中,我经常能体会到,有些面试者确实是努力工作,但坦白说表现出的能力水平不足以通过面试,通常有两方面的原因;

"知其然不知其所以然"做了多年技术,开发了很多业务应用,但似乎并未思考过种种技术背后的逻辑,坦白说,我并不放心吧具有一定深度的任务交给他.更重要的是我并不确定他未来的技术能力成长潜力有多大.团队所从事的是公司核心产品,工作于基础技术领域,我们不需要那些"差不多"或"还行"的代码.而是需要达到一定水平的高质量设计与实现.我相信很多其他团队的要求会更多,更高.

原文地址:https://www.cnblogs.com/lanbofei/p/9023460.html

时间: 2024-09-30 09:38:46

java面试题(杨晓峰)---以面试题为切入点,有效提升你的java内功的相关文章

java面试题(杨晓峰)---谈谈你对java平台的理解

从你接触java开发到现在,你对java最直观的印象是什么呢?是他宣传的"write once ,run anywhere"还是目前看已经有些形式主义的语法呢?你对于java平台到底了解到什么程度?请先停下来总结思考一下. 今天我要问你的问题是,谈谈你对java平台的理解?"java是解释执行"这句话正确吗? 典型回答. java本身是一种面向对象的语言,最显著地特征有两个方面,一是所谓的"书写一次,到处运行.write once,run anywhere

Java中有关构造函数的一道笔试题解析

Java中有关构造函数的一道笔试题解析 1.具体题目如下 下列说法正确的有() A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名 C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 2.解析说明 (1)class中的构造函数是可以省略的 /** * @Title:User.java * @Package:com.you.user.model * @Descrip

Java笔试题解答和部分面试题

面试类  银行类的问题 问题一:在多线程环境中使用HashMap会有什么问题?在什么情况下使用get()方法会产生无限循环? HashMap本身没有什么问题,有没有问题取决于你是如何使用它的.比如,你在一个线程里初始化了一个HashMap然后在多个其他线程里对其进行读取,这肯定没有任何问题.有个例子就是使用HashMap来存储系统配置项.当有多于一个线程对HashMap进行修改操作的时候才会真正产生问题,比如增加.删除.更新键值对的时候.因为put()操作可以造成重新分配存储大小(re-size

JAVA的基本数据类型以及常见面试题

一.JAVA基本数据类型介绍 基本类型,或者叫做内置类型,是JAVA中不同于类的特殊类型.它们是我们编程中使用最频繁的类型,因此面试题中也总少不了它们的身影,在这篇文章中我们将 从面试中常考的. 几个方面来回顾一下与基本类型相关的知识. 基本类型共有八种,它们分别都有相对应的包装类.关于它们的详细信息请看下表: 基本类型可以分为三类,字符类型char,布尔类型boolean以及数值类型byte.short.int.long.float.double.数值类型又可以分为整数类型byte. shor

java面试题全集(中)--Java Web和Web Service相关面试题

这部分主要是与Java Web和Web Service相关的面试题. 96.阐述Servlet和CGI的区别? 答:Servlet与CGI的区别在于Servlet处于服务器进程中,它通过多线程方式运行其service()方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于Servlet. 补充:Sun Microsystems公司在1996年发布Servlet技术就是为了和CGI进行竞争,Servlet是一个特殊的Java程

java核心技术-(总结自杨晓峰-java核心技术36讲)

1. 谈谈你对java平台的理解 首先是java最显著的两个特性,一次写入处处运行:还有垃圾收集器gc,gc能够对java内存进行管理回收,程序员不需要关心内存的分配和回收问题 然后谈谈jre和jdk的区别,jre包含了jvm和java类库:jdk除了jvm和java类库,还包含了一些java工具集 常见的垃圾收集器有: Serial GC:串行收集,垃圾回收时会阻塞工作线程 Parallel GC:并行收集,多线程收集,停顿时间短,吞吐量高 CMS:使用标记清除算法,多线程进行垃圾收集 G1:

「Java岗」阿里150道面试题:JVM+并发+SpringBoot+Netty+Redis等

前言在过2个月即将进入9月了,然而面对今年的大环境而言,跳槽成功的难度比往年高了很多,很明显的感受就是:对于今年的java开发朋友跳槽面试,无论一面还是二面,都开始考验一个Java程序员的技术功底和基础.对源码解读和核心原理理解也是成了加分项,特别是对 Java 的一些核心基础知识点掌握的不够或者没有体系方向的朋友面试也成了一个苦恼的事情. 今天在这分享目前国内公司Java面试常问的问题包括JVM,并发编程和数据结构,分布式,SpringBoot,Netty,Redis缓存等.正所谓知己知彼,只

动态代理是基于什么原理(总结杨晓峰的博客)

动态代理的原理 编程语言分为:动态类型,静态类型 动态类型和静态类型的区别? 一种比较简单的区别方法:是在编译期进行检查,还是在运行时期进行检查. 通常认为:java是一种强类型语言,但是提供类似反射的机制,也具备部分动态语言的能力. 反射机制是java语言提供的一种基础功能,赋予程序在运行时自省(introspect能力),通过反射我们可以直接操作类或者对象,比如获取某个对象的类定义,获取类声明的属性或者方法,调用方法或者构造对象,甚至可以运行时修改类定义. 动态代理是一种方便运行时动态构建代

Java千百问_01基本概念(001)_什么是Java

点击进入_更多_Java千百问 1.什么是Java Java是一种开发语言(核心特点:跨平台,面向对象,名称由来看这里:J2EE里面的2是什么意思),对于开发者来讲,Java基本等于Jdk. Jdk的版本介绍看这里:[Java都有那些版本][3] 开发人员一般通过IDE(Eclipse.NetBeans.JBuilder等)编写.编译Java代码(在远古没有IDE的时代,都是用文本编辑器编写,使用javac编译),在这个过程中,会使用到Jdk与第三方Jar包(Jar包即一组编译后的类打成的压缩包