码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 京东Java面试题、笔试题(含答案)


    其他互联网大厂面试题

    1:阿里巴巴Java面试题

    2:阿里云Java面试题-实习生岗

    3:腾讯Java面试题-高级

    4:字节跳动Java面试题

    5:字节跳动Java面试题-大数据方向

    6:百度Java面试题

    7:蚂蚁金服Java面试题-中级

    8:蚂蚁金服Java面试题-高级

    9:京东Java面试题-中级

    10:拼多多Java面试题-电商部

    11:商汤科技Java面试题

    12:中软国际Java面试题-初级

    13:唯品会Java面试题

    14:携程Java面试题-高级

    15:软通动力Java面试题


    下载链接:全部大厂面试题及答案PDF

    1、哪些情况下的对象会被垃圾回收机制处理掉?

    利用可达性分析算法,虚拟机会将一些对象定义为 GC Roots,从 GC Roots 出发沿着引用链向下寻找,如果某个对象不能通过 GC Roots 寻找到,虚拟机就认为该对象可以被回收掉。

    2、哪些对象可以被看做是 GC Roots 呢?

    1)虚拟机栈(栈帧中的本地变量表)中引用的对象;

    2)方法区中的类静态属性引用的对象,常量引用的对象;

    3)本地方法栈中 JNI(Native 方法)引用的对象;

    3、对象不可达,一定会被垃圾收集器回收么?

    即使不可达,对象也不一定会被垃圾收集器回收,1)先判断对象是否有必要执行 finalize() 方法,对象必须重写 finalize()方法且没有被运行过。2)若有必要执行,会把对象放到一个队列中,JVM 会开一个线程去回收它们,这是对象最后一次可以逃逸清理的机会。

    4、讲一下常见编码方式?

    编码的意义:计算机中存储的最小单元是一个字节即 8bit,所能表示的字符范围是 255 个, 而人类要表示的符号太多,无法用一个字节来完全表示,固需要将符号编码,将各种语言翻译成计算机能懂的语言。

    1)ASCII 码:总共 128 个,用一个字节的低 7 位表示,031 控制字符如换回车删除等;32~126是打印字符,可通过键盘输入并显示出来;

    2)ISO-8859-1,用来扩展 ASCII 编码,256 个字符,涵盖了大多数西欧语言字符。

    3)GB2312:双字节编码,总编码范围是 A1-A7,A1-A9 是符号区,包含 682 个字符,B0-B7 是汉字区,包含 6763 个汉字;

    4)GBK 为了扩展 GB2312,加入了更多的汉字,编码范围是 8140~FEFE,有 23940 个码位,能表示 21003 个汉字。

    5)UTF-16: ISO 试图想创建一个全新的超语言字典,世界上所有语言都可通过这本字典Unicode 来相互翻译,而 UTF-16 定义了 Unicode 字符在计算机中存取方法,用两个字节来表示 Unicode 转化格式。不论什么字符都可用两字节表示,即 16bit,固叫 UTF-16。

    6)UTF-8:UTF-16 统一采用两字节表示一个字符,但有些字符只用一个字节就可表示,浪费存储空间,而 UTF-8 采用一种变长技术,每个编码区域有不同的字码长度。 不同类型的字 符 可 以 由 1~6 个 字 节 组成。

    5、utf-8 编码中的中文占几个字节;int 型几个字节?

    utf-8 是一种变长编码技术,utf-8 编码中的中文占用的字节不确定,可能 2 个、3 个、4 个,
    int 型占 4 个字节。

    6、静态代理和动态代理的区别,什么场景使用?

    代理是一种常用的设计模式,目的是:为其他对象提供一个代理以控制对某个对象的访问, 将两个类的关系解耦。代理类和委托类都要实现相同的接口,因为代理真正调用的是委托类的方法。

    区别:

    1)静态代理:由程序员创建或是由特定工具生成,在代码编译时就确定了被代理的类是哪一个是静态代理。静态代理通常只代理一个类;

    2)动态代理:在代码运行期间,运用反射机制动态创建生成。动态代理代理的是一个接口下的多个实现类;

    实现步骤:

    a. 实现 InvocationHandler 接口创建自己的调用处理器;

    b. 给 Proxy 类提供ClassLoader 和代理接口类型数组创建动态代理类;

    c.利用反射机制得到动态代理类的构造函数;d.利用动态代理类的构造函数创建动态代理类对象;

    使用场景:Retrofit 中直接调用接口的方法;Spring 的 AOP 机制;

    7、Java 的异常体系

    Java 中 Throwable 是所有异常和错误的超类,两个直接子类是 Error(错误)和 Exception(异常):

    1)Error 是程序无法处理的错误,由 JVM 产生和抛出,如 OOM、ThreadDeath 等。这些异常发生时,JVM 一般会选择终止程序。

    2)Exception 是程序本身可以处理的异常,又分为运行时异常(RuntimeException)(也叫Checked Eception) 和 非 运 行 时 异 常 ( 不 检 查 异 常 Unchecked Exception) 。 运 行 时异 常 有 NullPointerExceptionIndexOutOfBoundsException 等,这些异常一般是由程序逻辑错误引起的,应尽可能避免。非运行时异常有IOExceptionSQLExceptionFileNotFoundException 以及由用户自定义的 Exception 异常等。

    8、谈谈你对解析与分派的认识。

    解析指方法在运行前,即编译期间就可知的,有一个确定的版本,运行期间也不会改变。解 析是静态的,在类加载的解析阶段就可将符号引用转变成直接引用。

    分派可分为静态分派和动态分派,重载属于静态分派,覆盖属于动态分派。静态分派是指在 重载时通过参数的静态类型而非实际类型作为判断依据,在编译阶段,编译器可根据参数的 静态类型决定使用哪一个重载版本。动态分派则需要根据实际类型来调用相应的方法。

    9、修改对象 A 的 equals 方法的签名,那么使用 HashMap 存放这个对象实例的时候,会调用哪个 equals 方法?

    会调用对象的 equals 方法,如果对象的 equals 方法没有被重写,equals 方法和==都是比较栈内局部变量表中指向堆内存地址值是否相等。

    10、Java 中实现多态的机制是什么?

    11、如何将一个 Java 对象序列化到文件里?

    12、说说你对 Java 反射的理解

    13、说说你对 Java 注解的理解

    14、说一下泛型原理,并举例说明

    15、Java 中 String 的了解

    16、String 为什么要设计成不可变的?

    下载链接:博主已将以上这些大厂面试题整理成了一个面试手册,是PDF版的

  • 相关阅读:
    ajax有哪些优缺点?
    Flask 学习-55.文件上传功能开发
    爬虫---》selenium4.0+使用
    Python中的运算符
    九、MyBatis的缓存
    技术实践|大模型内容安全蓝军的道与术
    【PostgreSQL-14版本snapshot的几点优化】
    大型医院HIS系统源码 优质源码 医院管理系统源码
    MySQL数据库三:MySQL事务和锁
    ES6 - 扩展运算符与Object.assign对象拷贝与合并
  • 原文地址:https://blog.csdn.net/m0_54883970/article/details/126553548
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号