栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

后端开发常见面试题目

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

后端开发常见面试题目

Java编程基础
  1. 为什么重写 equals 还要重写 hashcode?
    hashMap中如果key使用自定义类型,要重写hashcode和equals
  2. == 和 equals 比较的区别?
  • 对于==,比较的是值是否相等 (其实==比较的不管是基本数据类型,还是引用数据类型的变量,比较的都是值,只是引用类型变量存的值是对象的地址)
    • 如果作用于基本数据类型的变量,则直接比较其存储的 值是否相等,
    • 如果作用于引用类型的变量,则比较的是所指向的对象的地址是否相等。
  • 对于equals方法,比较的是是否是同一个对象
    • equals()方法不能作用于基本数据类型的变量,
    • equals()方法存在于Object类中,而Object类是所有类的直接或间接父类,所以说所有类中的equals()方法都继承自Object类,在没有重写equals()方法的类中,调用equals()方法其实和使用==的效果一样,也是比较的是引用类型的变量所指向的对象的地址,不过,Java提供的类中,有些类都重写了equals()方法,重写后的equals()方法一般都是比较两个对象的值,比如String类。
  1. 为啥有时会出现 4.0 - 3.6 = 0.40000001 这种现象?
    在二进制系统中无法精确地表示分数1/10,这就好像十进制无法精确地表示分数1/3一样。
  2. final 关键字的作用
    final作用
  3. 介绍 Java 的集合类
    java中的集合
  4. ArrayList 和 linkedList 的区别
    区别
  5. 反射三种方式
    • 通过类的对象来进行获取:Student stu = new Student(); Class clazz = stu.getClass();
    • 通过类名来进行获取:Class clazz = Student.class;
    • 通过类的相对路径来进行获取:Class clazz = Class.forName(“com.jdbc.mysql.Driver”);
  6. 协程
    讲解一
    讲解二
Java8
  1. java 8 有哪些新特性?
  2. 谈谈你理解的 HashMap,讲讲其中的 get put 过程。HashMap详解
  3. 有没有线程安全的并发容器?
    并发容器JUC(java.util.concurrent)
    并发容器里面提供的线程安全的集合和map。
    ArrayList—>CopyOnWriteArrayList
    HashSet—>CopyOnWriteArraySet
    TreeSet—>ConcurrentSkipListSet
    HashMap(线程不安全)—>ConcurrentHashMap
    TreeMap—>ConcurrentSkipListMap
  4. ConcurrentHashMap 是如何实现的?(目前还不理解)
    ConcurrentHashMap
  5. HashMap 为什么不用跳表替换红黑树呢?理解
  6. java中实现多线程的方式解释
SpringBoot
  1. springboot中异步操作是怎么实现的?
Spring

常见问题

算法与数据结构
  1. leetcode100题目
  2. leetcode初级算法书籍
操作系统
  1. 什么是死锁?死锁产生的条件?解释
  2. 线程有哪几种状态?解释
  3. 有哪些进程调度算法?解释
    进程调度算法
  4. 什么是缓冲区溢出?解释
计算机网络
  1. 计算机网络各层有哪些协议?解释
  2. TCP 和 UDP 协议的区别?解释
  3. TCP 为什么需要三次握手和四次挥手?解释
  4. HTTP 和 HTTPS 协议的区别?解释
  5. get和post的区别?解释
  6. cookie和session的区别?解释
MySQL
  1. MySQL 索引的最左原则解释
  2. InnoDB 和 MyIsam 引擎的区别?解释
  3. 有哪些优化数据库性能的方法?解释
  4. 如何定位慢查询?解释
  5. MySQL 支持行锁还是表锁?分别有哪些优缺点?解释
  6. mysql事务隔离级别 换读 脏读 解释1 解释2
Redis
  1. redis中的数据类型
    包括String,List,Set,Zset,Hash
  2. 题目总结
Linux
  1. 如何查看某个进程的运行状态?
  2. 如何在 Linux 上查看 2 G 的大文件?
  3. Linux 软链接和硬链接的区别
  4. 查看进程PID以及进程详细信息?
    Linux在启动一个进程时,系统会在/proc下创建一个以PID命名的文件夹,在该文件夹下会有我们的进程的信息,其中包括一个名为exe的文件即记录了绝对路径,通过ll或ls –l命令即可查看。
  5. linux中查看进程的命令 解释
ll /proc/PID


cwd符号链接的是进程运行目录
exe符号连接就是执行程序的绝对路径
cmdline就是程序运行时输入的命令行命令
environ记录了进程运行时的环境变量
fd目录下是进程打开或使用的文件的符号连接

介绍常见的设计模式 项目经历 360游戏 server
  1. 介绍:该模块主要实现的是游戏中的业务逻辑,与客户端进行交互。
  2. 开发流程:(1)业务分析 (2)与客户端进行沟通完成消息协议与数据库协议的制定 (3)进行业务的开发 (4)与客户端进行联调,测试业务的功能
  3. 开发中的重点:协程的使用,当时学习到了netty
gm
  1. 介绍:基于web的游戏管理平台,主要管理公司内部的游戏,比如玩家的管理、服务器管理、游戏活动管理以及道具管理等。
  2. 技术框架:
    • 前端使用阿里的飞冰框架进行搭建,飞冰是一个基于 React 的研发解决方案,围绕应用研发框架 icejs 提供基础的构建、路由、调试等基础能力以及微前端、一体化等领域能力,同时结合可视化操作、物料复用等方案降低研发门槛。
    • 后端使用springboot框架进行搭建,我实现的功能是前后端权限的校验。权限校验的粒度细致到每一个接口,这个功能模块总共涉及4张数据表,分别是 接口表,权限组表,角色表以及用户表。 用户在登陆成功以后,系统会为其生成一个密钥,然后以键值对的形式存入至redis中,其值为该用户所有的权限的url,同时将这个密钥返回给用户,接下来用户每次在访问接口的时候,都会带上这个密钥,在后端的拦截器中会截取到密钥,然后在redis中进行查找,如果找不到则说明key过期了,重定向到登录页面,如果能够找到,则将其拿到,判断一下她是否包含当前的这个访问路径,包含的话则正常请求,如果不包含的话,则阻止请求。

基础java

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/684452.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号