java基础
Java中有哪些数据类型?延伸说一下
础类型有 8 种:byte、boolean、char、short、int、float、long、double,而 String 属于对象。
Java有哪些关键字
HashMap原理,ArrayList 和 LinkedList 的区别是什么
HashMap 基于 Hash 算法实现的,我们通过 put(key,value)存储,get(key)来获取。当传入 key 时,HashMap 会根据 key. hashCode() 计算出 hash 值,根据 hash 值将 value 保存在 bucket 里。当计算出的 hash 值相同时,我们称之为 hash 冲突,冲突解决办法,如何扩容
范型
面向对象
在什么场景中用到反射,如何对数据进行序列化、对时间进行格式化
说一下类加载的执行过程
接口和抽象:抽象类的子类使用 extends 来继承;接口必须使用 implements 来实现接口
Java如何跟C++进行通信
多线程、锁、网络
什么是多线程,你在哪里用到了多线程,为什么要用锁,有哪些类型的锁,线程池sychronized
http三次握手四次挥手 tcp和udp区别、https加密,session 和 cookie 区别
常用的设计模式
什么是单例,使用场景
什么是观察者模式,使用场景
什么是工厂模式,使用场景
什么是代理,使用场景
磁盘设计原理,淘汰策略
虚拟内存、共享内存、物理内存
框架问题
简单介绍一下Spring
具有控制反转(IoC)和面向切面(AOP)两大核心,通过声明式方式灵活地进行事务的管理,提高开发效率和质量。包含如下模块:
Data Access/Integration(数据访问/集成): JDBC、ORM、OXM、JMS 和 Transactions 模块
Web 层包括 Web、Servlet、Struts 和 Portlet 组件
Core Container(核心容器)由 Beans 模块、Core 核心模块、Context 上下文模块和 Expression Language 表达式语言模块组成
AOP 模块:提供了面向切面编程实现,允许定义方法拦截器和切入点,将代码按照功能进行分离,以降低耦合性。
Aspects 模块:提供与 AspectJ 的集成,是一个功能强大且成熟的面向切面编程(AOP)框架
Instrumentation 模块:提供了类工具的支持和类加载器的实现,可以在特定的应用服务器中使用。
Spring Cloud及一些框架
就是微服务系统架构的一站式解决方案,在平时我们构建微服务的过程中需要做如 服务发现注册 、配置中心 、消息总线 、负载均衡 、断路器 、数据监控 等操作,而 Spring Cloud 为我们提供了一套简易的编程模型,使我们能在 Spring Boot 的基础上轻松地实现微服务项目的构建。
Spring Cloud Alibaba
是阿里巴巴提供的微服务开发一站式解决方案,是阿里巴巴开源中间件与 Spring Cloud 体系的融合。基于 Nacos 提供 spring-cloud-alibaba-starter-nacos-discovery & spring-cloud-alibaba-starter-nacos-config 实现了服务注册 & 配置管理功能。
微服务意义
微服务的核心是服务治理,而服务治理的关键是服务划分。故微服务架构的本质就是对码农的分化和治理
Nacos
帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构(例如微服务范式、云原生范式)的服务基础设施。
Feign
是声明式的web service客户端,它让微服务之间的调用变得更简单了,类似controller调用service。Spring Cloud集成了Ribbon和Eureka,可在使用Feign时提供负载均衡的http客户端。
Spring Cloud Ribbon
是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用
Sentinel
是阿里开源的项目,提供了流量控制、熔断降级、系统负载保护等多个维度来保障服务之间的稳定性
网关GateWay
网关的角色是作为一个 API 架构,用来保护、增强和控制对于 API 服务的访问。Spring Cloud Gateway旨在为微服务架构提供一种简单而有效的统一的API路由管理方式。
ZooKeeper
是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
Spring有哪些注解
@Component:泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
@Controller: 标注一个控制器组件类
@Service: 标注一个业务逻辑组件类
@Repository: 标注一个DAO组件类
@PostMapping:post请求
@RequestBody: 请求体
Jenkins
是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。
Gradle
是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,目前也增加了基于Kotlin语言的kotlin-based DSL,抛弃了基于XML的各种繁琐配置
Docker
是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低
Redis
是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。
Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。
简单说一下Spring Bean
AutoGenerator
Spring Boot 实现分页和排序
微信支付、OAuth登录授权场景
图片上传阿里、腾讯云服务器
使用哪些加密算法,使用场景是什么
mybatis
常用的mysql语句关键字有哪些
算法编程
图片上传:基于拍照图片的上传抽吸过程设计
有哪些数据结构:有哪些排序算法,有哪些搜索算法
数组、栈、堆、队列、链表、树
广度优先,深度优先、二分查找
岗位发展路径、有什么不足
3.遇到最大困难
4.获得什么困难
有没有音视频的经验
做过哪些技术上的封装
数组中重复的数字
判断链表中是否有环