自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 mac M1芯片遇到log

logback

2024-08-26 10:06:59 771

原创 集合面试题话术

但是在jdk1.8之后,HashMap 进行了一些修改,最大的不同就是利用了红黑树,所以其由 数组+链表+ 红黑树组成。因为在1.7的时候,这个链表的长度不固定,所以如果key的hashcode重复之后,那么对应的链表的数据的长度就无法控制了,get数据的时间复杂度就取决于链表的长度了,为了提高这一部分的性能,加入了红黑树,如果链表的长度超过8位之后,会将链表转换为红黑树,极大的降低了时间复杂度。HashMap 线程不安全,即任一时刻可以有多个线程同时 写 HashMap,可能会导致数据的不一致。

2024-06-30 15:26:45 334

原创 性能调优面试题

通过增大Eden区的大小,来减少YGC发生的次数,但有时我们发现,虽然次数减少了,但Eden区满的时候,由于占用的空间较大,导致释放缓慢,此时STW的时间较长,因此需要按照程序情况去调优。设置堆的初始大小和最大大小,为了防止垃圾收集器在初始大小、最大大小之间收缩堆而产生额外的时间,通常把最大、初始大小设置为相同的值。堆内存大肯定是好的,存在风险,假如发生了fullgc,它会扫描整个堆空间,暂停用户线程的时间长。堆太小,可能会频繁的导致年轻代和老年代的垃圾回收,会产生stw,暂停用户线程。

2024-06-30 15:01:36 486

原创 设计模式面试题

这种方式引入了一个内部静态类(static class),静态内部类只有在调用时才会加载,它保证了Singleton 实例的延迟初始化,又保证了实例的唯一性。在方法上加synchronized同步锁或是用同步代码块对类加同步锁,此种方式虽然解决了多个实例对象问题,但是该方式运行效率却很低下,下一个线程想要获取对象,就必须等待上一个线程释放锁之后,才可以继续运行。静态内部类虽然保证了单例在多线程并发下的线程安全性,但是在遇到序列化对象时,默认的方式运行得到的结果就是多例的。

2024-06-30 12:58:35 476

原创 面试技巧话术

只说区间,不说具体数字;非要具体数字,区间取中间值,或者当前薪资的+20%不说前东家或者自己的坏话;不说前东家坏话,哪怕被伤过;公司希望我入职后的3-6个月内,给公司解决什么样的问题。公司(或者对这个部门)未来的战略规划是什么样子的?以你现在对我的了解,您觉得我需要多长时间融入公司?刨根问底下沉式追问(注意是下沉式,而不是发散式的)不是你说了什么,而是你怎么说,大大方方的聊,放松。不要谈为自己减分的问题;一周左右,如果公司需要,可以适当提前。大胆的说出自己各个方面的优势和特长。职业化的语言,职业化的形象。

2024-06-30 11:53:33 340

原创 前端面试题话术

vue呢在我的理解中,就是一个轻量级的前端js框架,最重要的就是它的MVVM思想,就是model和view之间可以通过view-model监听来进行数据到视图之间,以及视图到数据的双向绑定操作,我们在写前端代码的过程中,不需要关注任何dom操作,比jQuery方便很多vue常用的指令都有v-for ,v-if,v-show等,绑定事件用v-on,可以省略为@符号,绑定属性用v-bind,可以省略为冒号,

2024-06-30 09:59:29 358

原创 线程面试题话术

我理解的锁的话,就是在多个线程同时访问一个数据的时候,为了保证数据的安全性,我们需要对数据操作的代码进行加锁处理,一般来说这个锁需要是对所有线程是一致的,一般可以用静态变量来作为锁,这个锁用synchronized关键字来包裹着,当这段代码块执行完之后,释放锁,然后其他线程获取到这个锁之后,才能执行这段代码,通过锁的机制很好的保护了多线程下的数据安全。

2024-06-30 09:56:07 492

原创 Linux面试题话术

1、通过top -c 命令找出当前的进程列表,接着按P(大写)可以按照CPU使用率排序,然后找到进程对应使用率高的进程ID。2、然后通过top -Hp 进程PID列举出当前进程的所有线程,按P(大写)排序,找到对应线程的PID,转为16进制备用。3、然后通过jstack -l 线程PID > 文件,导出线程快照到这个文件里。4、然后通过grep命令查找文件中这个16进制的线程PID的行为进行分析。

2024-06-30 09:48:21 401

原创 锁面试题话术

乐观锁的话就是比较乐观,每次去拿数据的时候,认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号机制或者CAS 算法实现。乐观锁在读操作比较多的场景比较适用,这样可以提高吞吐量,就像数据库提供的write_condition机制,其实都是乐观锁悲观锁的话就是每次去拿数据的时候,也认为别人会修改数据,这个时候就会加上锁,这就导致其他线程想拿数据的话,就会阻塞,直到这个线程修改完成才会释放锁,让其他线程获取数据。

2024-06-29 23:13:10 468

原创 JVM面试题话术

JVM介绍JVM主要包括:类加载器(class loader )、执行引擎(exection engine)、本地接口(native interface)、运行时数据区(Runtimedata area)类加载器:加载类文件到内存。Class loader只管加载,只要符合文件结构就加载,至于能否运行,它不负责,那是由执行引擎负责的执行引擎:负责解释命令,交由操作系统执行本地接口:本地接口的作用是融合不同的语言为java所用。

2024-06-29 23:05:09 783

原创 mysql面试题话术

存储过程存储程序是被存储在服务器中的组合SQL语句,经过创建编译并保存在数据库中,用户可通过存储过程的名字调用执行。存储过程核心思想就是数据库SQL语言层面的封装与复用。使用存储过程可以较少应对系统的业务复杂性,但是会增加数据库服务器系统的负荷,所以在使用的时候需要综合业务考虑。对应存储过程的名字使用call调用 ,把对应的参数传递进去,输出参数使用@声明基本语法,了解熟悉一下– 创建存储过程//如果存在先删掉再创建。

2024-06-29 23:02:47 566

原创 Java基础面试题话术

装箱就是 自动将基本数据类型转换为包装类型;拆箱就是 自动将包装类型转换为基本数据类型;在定义变量的时候,比如Integer num = 1;就会自动装箱成Integer对象操作,int num2 = num;就会进行自动拆箱操作在比较的时候,也会会发生拆箱和装箱操作无论如何,Integer与new Integer不会相等。不会经历拆箱过程两个都是非new出来的Integer,如果数在-128到127之间,则是true,否则为false两个都是new出来的,都为false。

2024-06-29 22:59:04 781 1

原创 mybatis面试题话术

Mybatis是一个半ORM(对象关系映射)的持久层框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程,使用时直接编写原生态sql。优点:1:基于SQL语句编程,相当灵活,不会对应用程序或者数据库的现有设计造成任何影响,SQL写在XML 里,解除sql与程序代码的耦合,便于统一管理,提供XML标签,支持编写动态SQL语句,并可重用;2:很好的与各种数据库兼容;

2024-06-29 22:53:14 756

原创 Nginx面试题话术

Nginx 是一个高性能的 HTTP 和反向代理服务器,具有反向代理和负载均衡以及动静分离等功能我先来说说反向代理功能吧反向代理是指以代理服务器来接受用户的请求,然后将请求,分发给内部网络上的服务器,并将从服务器上得到的结果返回给用户,此时代理服务器对外就表现为一个反向代理服务器。反向代理总结就一句话就是:代理端代理的是服务端。反向代理的话,只需要配置对应的server模块就行了,里面配置上server_name和对应监听的端口,然后在配置location路径转发规则就行,当然也可以配置代理静态资源。

2024-06-29 22:43:34 601

原创 Redis面试题话术

Redis是一个非关系数据库,我们项目中主要用它来存储热点数据的,减轻数据库的压力,单线程纯内存操作,采用了非阻塞IO多路复用机制,就是单线程监听,我们项目中使用springdata-redis来操作redis我们项目中使用redis的地方很多,比方说首页的热点数据,数据字典里的数据等都用热地说存储来提高访问速度。

2024-06-29 22:21:32 2101

原创 Elasticsearch面试题话术

​ Java开发的基于lucene分布式全文搜索引擎。基于restful Web接口。在检索领域相当优秀,在我们项目中主要是负责检索XX信息。XX信息构成是比较复杂的,并且数据量巨大,至少会有几十万,如果使用mysql做检索,效率会非常低,并且对mysql造成很大的压力。在使用过程中主要需要做几件事:1、Es服务的安装,中文分词器使用IK分词器,这个主要是运维负责;2、在项目中集成springDataElasticSearch框架,用来操作ES;

2024-06-29 21:53:07 875

原创 rabbitmq面试题话术

RabbitMQ是Erlang语言开发的基于AMQP的一款消息中间件,核心思想是生产者不会将消息直接发送给队列,消息在发送给客户端时先发送给交换机,然后由交换机转发给对应的队列。对路由(Routing),负载均衡(Load balance)、数据持久化都有很好的支持。它里边有5种数据传递方式第一种是简单模型,一个生产者,一个队列,一个消费者,队列只能被一个消费者监听,所以生产者将消息发给队列之后,只能有一个消费者收到消息。

2024-06-29 21:38:33 579

原创 Springcloud面试题话术

Spring Cloud 是一系列框架的集合,它利用 Spring Boot 的开发便利性简化 了分布式系统的开发,比如服务发现、服务网关、服务路由、链路追踪等。他的设计目的是为 了简化 Spring 应用的搭建和开发过程。该框架遵循==“约定大于配置”==原则,采用特定的方式进行配置,从而使开发者不用定义大量的 XML 配置。Spring Cloud 并不重复造轮子,而是将市面上开发得比较好的模块集成进去,进行封装,从而减少了各模块的开发成本。

2024-06-29 20:50:36 682

原创 springboot面试题话术

SpringBoot是Spring项目中的一个子工程,其实人们把Spring Boot 称为搭建程序的脚手架。其最主要作用就是帮我们快速的构建庞大的spring项目,并且尽可能的减少一切xml配置,做到开箱即用,迅速上手,让我们关注与业务而非配置。

2024-06-29 19:38:07 1663

原创 SpringMVC面试题

springmvc面试题总结

2024-06-29 19:27:53 304

原创 Spring面试题

总结后端面试的常见问题

2024-06-29 19:14:22 763

原创 Spark ML Pipeline机器学习流程回归分析

概述使用“Bike Sharing”数据集,使用Spark机器学习流程(ML Pipeline)回归分析,使用决策树回归分析,在不同情况(季节、月份、时间、假日、星期、工作日、天气、温度、体感温度、湿度、风速等)来预测每个小时的租用数量,并且使用训练验证与交叉验证找出最佳模型,提高预测准确度,最后使用GBT(Gradient-Boosted Tree)梯度提升决策树,进一步提高预测准确度。分为三个阶段:建立机器学习流程pipeline包含3个阶段(stages),前2个阶段是数据处理,第3个阶段是

2020-06-13 09:55:06 1180

hour.csv“Bike Sharing”数据集

“Bike Sharing”数据集,在不同情况(季节、月份、时间、假日、星期、工作日、天气、温度、体感温度、湿度、风速等)每个小时的租用数量。

2020-06-13

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除