码农知识堂 - 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版的

  • 相关阅读:
    Typescript面向对象---下篇
    计算机毕业设计选什么题目好?springboot 试题库管理系统
    十、children的深入用法-React.Children对象上的方法
    自动化测试平台设计与实现详解
    打造“共富果园” 广东乳源推动茶油全产业链高质量发展
    【我的创作纪念日】使用pix2pixgan实现barts2020数据集的处理(完整版本)
    Python使用修饰函数判断执行时间
    计算机视觉概述
    【性能测试】Jenkins+Ant+Jmeter自动化框架的搭建思路
    利用FinalShell访问虚拟机
  • 原文地址:https://blog.csdn.net/m0_54883970/article/details/126553548
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号