互联网java工程师面试题
内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈
plenilune-望月
这个作者很懒,什么都没留下…
展开
-
互联网 Java 工程师面试题之Dubbo 面试题
Dubbo 面试题 1、为什么要用 Dubbo? 随着服务化的进一步发展,服务越来越多,服务之间的调用和依赖关系也越来越复杂,诞生了面向服务的架构体系(SOA), 也因此衍生出了一系列相应的技术,如对服务提供、服务调用、连接处理、通信协议、序列化方式、服务发现、服务路由、日志输出等行为进行封装的服务框架。 就这样为分布式系统的服务治理框架就出现了,Dubbo 也就这样产生了。 2、Dubbo 的整体架构设计有哪些分层? 接口服务层(Service):该层与业务逻辑相关,根据 provider 和原创 2020-08-12 12:35:50 · 149 阅读 · 0 评论 -
互联网 Java 工程师面试题之Elasticsearch 面试题
Elasticsearch 面试题 1、elasticsearch 了解多少,说说你们公司 es 的集群架构,索引数据大小,分片有多少,以及一些调优手段 。 面试官 :想了解应聘者之前公司接触的 ES 使用场景、规模,有没有做过比较大规模的索引设计、规划、调优。 解答 : 如实结合自己的实践场景回答即可。 比如:ES 集群架构 13 个节点,索引根据通道不同共 20+索引,根据日期,每日递增 20+, 索引:10 分片,每日递增 1 亿+数据,每个通道每天索引大小控制:150GB 之内。 仅索原创 2020-08-12 11:02:02 · 308 阅读 · 0 评论 -
互联网 Java 工程师面试题之MySQL 面试题
MySQL 面试题 1、MySQL 中有哪几种锁? 1、表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 2、行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。 3、页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。 2、MySQL 中有哪些不同的表格? 共有 5 种类型的表格: 1、MyISAM 2、Heap 3、Merge 4、INNODB 5、ISAM 3、简述在原创 2020-08-12 10:10:55 · 1787 阅读 · 0 评论 -
互联网 Java 工程师面试题之Java 并发编程(二)
1、并发编程三要素? 1、原子性 原子性指的是一个或者多个操作,要么全部执行并且在执行的过程中不被其他操作打断,要么就全部都不执行。 2、可见性 可见性指多个线程操作一个共享变量时,其中一个线程对变量进行修改后,其他线程可以立即看到修改的结果。 3、有序性 有序性,即程序的执行顺序按照代码的先后顺序来执行。 2、实现可见性的方法有哪些? synchronized 或者 Lock:保证同一个时刻只有一个线程获取锁执行代码,锁释放之前把最新的值刷新到主内存,实现可见性。 3、多线程的价值?原创 2020-08-12 09:48:38 · 375 阅读 · 0 评论 -
互联网 Java 工程师面试题之Java 并发编程(一)
1、在 java 中守护线程和本地线程区别? java 中的线程分为两种:守护线程(Daemon)和用户线程(User)。 任何线程都可以设置为守护线程和用户线程,通过方法 Thread.setDaemon(bool on);true 则把该线程设置为守护线程,反之则为用户线程。Thread.setDaemon() 必须在 Thread.start()之前调用,否则运行时会抛出异常。 两者的区别: 唯一的区别是判断虚拟机(JVM)何时离开,Daemon 是为其他线程提供服务,如果 全部的 User Thr原创 2020-08-11 16:20:23 · 344 阅读 · 0 评论 -
互联网 Java 工程师面试题之Java 面试题(二)
下面列出这份 Java 面试问题列表包含的主题多线程,并发及线程基础 数据类型转换的基本原则 垃圾回收(GC) Java 集合框架 数组 字符串 GOF 设计模式 SOLID 抽象类与接口 Java 基础,如 equals 和 hashcode 泛型与枚举 Java IO 与 NIO 常用网络协议 Java 中的数据结构和算法 正则表达式 JVM 底层 Java 最佳实践 JDBC Date, Time 与 Calendar Java 处理 XML JUnit 编程 现在是时候给你展示我近 5 年从各种面.原创 2020-08-11 15:57:02 · 171 阅读 · 0 评论 -
互联网 Java 工程师面试题之Java 面试题(一)
Java 面试题(一) 1、面向对象的特征有哪些方面? 答: 面向对象的特征主要有以下几个方面: 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽 象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的 细节是什么。 继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类 被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让 变化中的软件系统有了一定的延续性,同时继承也是封装程序中可变因素的重要 手段(如果不能理解请阅读阎宏博士的原创 2020-08-07 16:50:53 · 462 阅读 · 0 评论 -
互联网 Java 工程师面试题之Spring(二)
Spring 面试题(二) 1、什么是 spring? Spring 是个 java 企业级应用的开源开发框架。Spring 主要用来开发 Java 应用,但是有些扩展是针对构建 J2EE 平台的 web 应用。Spring 框架目标是简化 Java企业级应用开发,并通过 POJO 为基础的编程模型促进良好的编程习惯。 2、使用 Spring 框架的好处是什么? 轻量:Spring 是轻量的,基本的版本大约 2MB。 控制反转:Spring 通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是原创 2020-08-07 11:50:53 · 609 阅读 · 0 评论 -
互联网 Java 工程师面试题之Spring(一)
Spring 面试题(一) 1、一般问题 1.1、不同版本的 Spring Framework 有哪些主要功能? Version Feature Spring 2.5 发布于 2007 年。这是第一个支持注解的版本。 Spring 3.0 发布于 2009 年。它完全利用了 Java5 中的改进,并为 JEE6 供了支持。 Spring 4.0 发布于 2013 年。这是第一个完全支持 JAVA8 的版本。 1.2、什么是 Spring Frame...原创 2020-08-06 17:02:23 · 167 阅读 · 0 评论 -
互联网 Java 工程师面试题之微服务
内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈 微服务 面试题 1、您对微服务有何了解? 微服务,又称微服务 架构 ,是一种架构风格,它将应用程序构建为以业务领域为模型的小型自治服务集合 。 通俗地说,你必须看到蜜蜂如何通过对齐六角形蜡细胞来构建它们的蜂窝状物。他们最初从使用各种材料的小部分开始原创 2020-08-05 11:16:36 · 929 阅读 · 0 评论 -
互联网 Java 工程师面试题之Linux
内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈 Linux 面试题 1、绝对路径用什么符号表示?当前目录、上层目录用什么表示?主目录用什么表示? 切换目录用什么命令? 答案: 绝对路径: 如/etc/init.d 当前目录和上层目录: ./ ../ 主目录: ~/ 切换目录: cd 2、原创 2020-08-05 10:03:24 · 358 阅读 · 0 评论 -
互联网 Java 工程师面试题之RabbitMQ
内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈 RabbitMQ面试题 1、什么是 rabbitmq 采用 AMQP 高级消息队列协议的一种消息队列技术,最大的特点就是消费并不需要确保提供方存在,实现了服务之间的高度解耦 2、为什么要使用 rabbitmq 1、在分布式系统下具备异步,削峰,负原创 2020-08-04 18:04:56 · 116 阅读 · 0 评论 -
互联网 Java 工程师面试题之kafka
内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈 kafka 面试题 1、如何获取 topic 主题的列表 bin/kafka-topics.sh --list --zookeeper localhost:2181 2、生产者和消费者的命令行是什么? 生产者在主题上发布消息: bin/kafk原创 2020-08-04 13:08:18 · 129 阅读 · 0 评论 -
互联网 Java 工程师面试题之SpringCloud
Spring Cloud 面试题 1、什么是 Spring Cloud? Spring cloud 流应用程序启动器是基于 Spring Boot 的 Spring 集成应用程序,提供与外部系统的集成。Spring cloud Task,一个生命周期短暂的微服务框架,用于快速构建执行有限数据处理的应用程序。 2、使用 Spring Cloud 有什么优势? 使用 Spring Boot 开发分布式微服务时,我们面临以下问题 1、与分布式系统相关的复杂性-这种开销包括网络问题,延迟开销,带宽问题,安原创 2020-08-04 12:13:47 · 158 阅读 · 0 评论 -
互联网 Java 工程师面试题之SpringBoot
内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈 Spring Boot 面试题 1、什么是 Spring Boot? 多年来,随着新功能的增加,spring 变得越来越复杂。只需访问https://spring.io/projects 页面,我们就会看到可以在我们的应用程序中使用的所有 Sprin原创 2020-08-04 11:59:27 · 205 阅读 · 0 评论 -
互联网 Java 工程师面试题之Redis
Redis 面试题 1、什么是 Redis? Redis 是完全开源免费的,遵守 BSD 协议,是一个高性能的 key-value 数据库。 Redis 与其他 key - value 缓存产品有以下三个特点: Redis 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 Redis 不仅仅支持简单的 key-value 类型的数据,同时还提供 list,set,zset,hash 等数据结构的存储。 Redis 支持数据的备份,即 master-slave 模原创 2020-08-04 11:39:53 · 118 阅读 · 0 评论 -
互联网 Java 工程师面试题之ZooKeeper
1. ZooKeeper 面试题? ZooKeeper 是一个开放源码的分布式协调服务,它是集群的管理者,监视着集群 中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用 的接口和性能高效、功能稳定的系统提供给用户。 分布式应用程序可以基于 Zookeeper 实现诸如数据发布/订阅、负载均衡、命名 服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。 Zookeeper 保证了如下分布式一致性特性: 1、顺序一致性 2、原子性 3、单一视图 4、可靠性 5、原创 2020-08-03 14:04:23 · 249 阅读 · 0 评论 -
互联网 Java 工程师面试题之MyBatis
内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、 Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、 Linux 等技术栈 MyBatis 面试题 1、什么是 Mybatis?原创 2020-07-29 17:32:49 · 507 阅读 · 0 评论