面试题
文章平均质量分 76
杏子与鸡腿
杏子和鸡腿可以兼得。
展开
-
2021面试题大全
一、Java基础知识面试题(2021最新版)-20210910原创 2021-09-10 14:40:46 · 203 阅读 · 0 评论 -
【查漏补缺02】(五)从DCL到Volatile的禁止指令重排序
一、双重检查锁1、概念双重检查锁double-checked locking = DCL也被称为"双重检查加锁优化","锁暗示"(Lock hint)它是一种软件设计模式用来减少并发系统中竞争和同步的开销。举个例子: /** * 双重检查锁定 * * @author xiaoshu */public class DoubleCheckedLocking { private static Instance instance; public s..原创 2021-09-07 21:32:55 · 222 阅读 · 0 评论 -
【查漏补缺01】(十五)分布式系统
一、1个分布式系统是如何演进设计出来的场景引入—— 不同业务(系统)部署在不同机器,相互访问跨域网络,每个系统存在单点故障。公司有3个系统:系统A,系统B和系统C,这三个系统所做的业务不同,被部署在3个独立的机器上运行,他们之间互相调用(当然是跨域网络的),通力合作完成公司的业务流程。将不同的业务分别部署在不同的地方,就构成了一个分布式的系统。现在问题来了,系统A是整个分布式系统的脸面,用户直接访问,用户访问量大的时候要么是速度巨慢,要么直接挂掉,怎么办?由于系统A...转载 2021-09-07 21:14:16 · 779 阅读 · 0 评论 -
十六、Linux开发与运维面试题(2021最新版)20210907
Linux 概述什么是LinuxLinux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Unix和Linux有什么区别?Linux和Unix都是功能强大的操作系统,都是应用广泛的服务器操作系统,有很多相似之处,甚至有一部分人错误地认为Unix和L...原创 2021-09-07 21:04:34 · 733 阅读 · 0 评论 -
六、MySQL数据库面试题(2021最新版)20210907
数据库基础知识为什么要使用数据库数据保存在内存优点: 存取速度快缺点: 数据不能永久保存数据保存在文件优点: 数据永久保存缺点:1)速度比内存操作慢,频繁的IO操作。2)查询数据不方便数据保存在数据库1)数据永久保存2)使用SQL语句,查询方便效率高。3)管理数据方便什么是SQL?结构化查询语言(Structured Query Language)简称SQL,是一种数据库查询语言。作用:用于存取数据、查询、更新和管理关系数据库系统。什么是M...原创 2021-09-07 20:13:42 · 446 阅读 · 0 评论 -
四、Java虚拟机(JVM)面试题(2021最新版)20210907
Java内存区域说一下 JVM 的主要组成部分及其作用?JVM包含两个子系统和两个组件,两个子系统为Class loader(类装载)、Execution engine(执行引擎);两个组件为Runtime data area(运行时数据区)、Native Interface(本地接口)。 Class loader(类装载):根据给定的全限定名类名(如:java.lang.Object)来装载class文件到Runtime data area中的method area。 Ex..原创 2021-09-07 20:09:05 · 171 阅读 · 0 评论 -
五、java并发编程面试题(2021最新版)20210907
罗列,并没有系统化整理基础知识并发编程的优缺点为什么要使用并发编程(并发编程的优点) 充分利用多核CPU的计算能力:通过并发编程的形式可以将多核CPU的计算能力发挥到极致,性能得到提升 方便进行业务拆分,提升系统并发能力和性能:在特殊的业务场景下,先天的就适合于并发编程。现在的系统动不动就要求百万级甚至千万级的并发量,而多线程并发编程正是开发高并发系统的基础,利用好多线程机制可以大大提高系统整体的并发能力以及性能。面对复杂业务模型,并行程序会比串行程序更适应业务需求,而并发编..原创 2021-09-07 20:08:00 · 270 阅读 · 0 评论 -
一、Java基础知识面试题(2021最新版)-20210910
Java概述何为编程编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路、方法、和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算机之间交流的过程就是编程。什么是JavaJava是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特..原创 2021-09-07 19:49:12 · 972 阅读 · 0 评论