自定义博客皮肤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)
  • 收藏
  • 关注

原创 面试相关其他

第一年先了解公司的业务场景和基本的技术栈,努力达到职责要求,2-3年内拓宽自己的技术广度,多承担项目开打积累业务经验,与团队成员建立良好的合作关系,3-5年内挖掘技术深度,能够领导负责一些简单的业务开发,提升自己的组织能力。团支书,与现场工人沟通,与团队成员协作,具备沟通组织以及团队合作能力。有一定的自驱力和学习能力,研究生考研笔试排名第二。项目开发,具备出差加班开发以及部署经验。数据库查询时,返回空集,报空指针异常。相机使用嵌入式传输的经验。遇到的难点,怎么解决的?

2023-09-26 22:26:09 49

原创 抽奖项目面试准备

面试官好,抽奖系统是我的一个学习项目,核心流程是根据不同人群标签,通过规则引擎选择不同的抽奖活动。每个活动对应一个抽奖单,可以有效控制参与用户和异常流程的补偿。领取抽奖单后使用了模板、工厂、策略模式进行抽奖模块设计。在这里设计了分布式锁,避免独占锁的竞争,从而提高效率。最后抽奖完成通过异步发送MQ消息方式驱动后面的发奖流程。

2023-09-19 20:21:40 115

原创 Spring、SpringBoot相关

答:bean就是被IOC容器管理的对象。通过配置可以告诉IOC我们要管理的对象。可以是xml配置文件、注解或者配置类。答:scope属性来指定,包括singleton单例,prototype每次使用创建一个对象。request:每次http请求都会创建一个bean;session:每一次来自新session的HTTP请求都会产生一个新的beanSpring框架中的bean是线程安全的吗?答:bean默认是单例模式,spring框架下没有给它进行多线程的封装设计。

2023-09-16 22:35:30 70 1

原创 JVM相关内容

每一个类加载器实例都有一个相关的父类加载器,如果一个类加载器收到了类加载请求,它首先不会自己加载这个类,而是把这个请求委派给父类加载器去完成,寻找父类是否加载过这个类,每一层都是如此,这样所有的加载请求都会被传送到顶层的启动类中被加载。答:浅拷贝是只复制对象的顶层结构和直接引用,而不复制引用的对象,所以如果对拷贝对象做出修改,会影响原始对象的数据;是指引用中存储的是句柄的地址,句柄中包含了实例对象和对象数据类型数据的存放地址,,这两个地址真正指向实例对象数据和对象的类型数据。

2023-09-13 15:17:30 48 1

原创 并发编程相关

答:是指一个程序内有多个执行流,即一个程序中可以同时运行多个线程来执行不同的任务;优:提高CPU利用率,提升程序执行效率。劣:线程也是程序,需要占用内存,线程越多占用内存越多;线程需要调度和管理;线程对共享资源的访问会互相影响。线程和进程区别 什么是线程和进程?进程是一个程序实例,每个进程有自己独立的空间,一个进程不能直接访问另一个进程的资源。线程是轻量级进程,被包含在进程中,不能独立执行,一个进程中可以有多个线程,线程之间有共享的资源。进程是资源分配的基本单位,线程是CPU调度的基本单位。

2023-09-10 22:00:52 32 1

原创 Java异常

前一篇有,不再说明。

2023-09-08 17:35:12 41 1

原创 Java集合容器概述

答:如果hashmap的大小超过了阈值(数组长度*负载因子)就需要扩容,首先确定新的数组大小,并新建数组,一般是原数组的2倍,旧数组里的数据都要重新进行哈希,如果新位置为空,直接放置,如果重复,用链表插入在后面。数组长度是2 的幂次方:1、优化索引计算,使用2的幂次方时,能够使用哈希值和其容量-1快速得出索引位置,这比取模运算更快。避免选择质数作为容量,提升索引性能。2、方便扩容,新的容量简单地是原来的2倍,使得数据迁移相对简单。是为了实现高效快速的索引,同时也为了方便实现扩容。和。

2023-09-08 14:51:34 42 1

原创 Java基础知识

答:字符串常量池位于堆内存中,专门用来存储字符串常量,可以提高内存使用率,避免开辟多余空间存储相同的字符串,创建字符串时,JVM会首先检查字符串常量池,如果已经存在会返回它的引用,如果不存在,实例化一个放入池中,返回其引用。数组有没有length()方法?String有没有length()方法?答:数组是一种数据结构,长度是固定的,创建后不能修改,所以是用属性获取它的长度。string是对象,要获取字符串的长度需要调用length()方法。String和的区别是什么?String为什。

2023-09-07 20:44:55 48 1

原创 MySQL索引问答

跟B树差不多,但是B+树只会在叶子节点存放数据,非叶子节点存放的是目录页作为索引,而B树的非叶子节点也存放数据,这样可能会导致树的高度更高。B+树的结构是每个节点都是一个数据页,但是只有叶子节点才会存放数据,非叶子节点存放的是数据页的目录项作为索引,非叶子节点通过分层来降低每一层的搜索量,所有节点按照索引的顺序,构成双向链表,便于范围查询。:主键索引、唯一索引(索引列的值必须唯一)、普通索引(普通字段上的索引,既不要求是主键,也不要求值唯一)、前缀索引(仅用字段的前一部分作为索引,减少索引使用的空间)

2023-09-04 21:54:27 26 1

原创 MySQL面试(基础知识+隔离级别和幻读的问题)

可重复读在事务开启之前会生成一个快照read_view,包含了几个字段,比如创建该快照的事务ID create_trix_id,当前事务开启时活跃的事务ID列表trix_ids,当前活跃事务的最小ID min_trix_id,和当前事务对应的下一个事务ID max_trix_id。如果min_trix_id

2023-09-01 16:32:20 29 1

原创 数据库基础知识

答:drop是把整张表删掉,truncate是清空表中的数据但表结构还在,属于数据定义语言(DDL),会马上生效,不会放入rollback segment 中。表连接时,会根据连接的条件生成一张新的临时表,on就是连接条件的。DML:数据操作语言,用于数据库操作,主要的是select、insert、delete等,也被称为CRUD(增删改查)。右外连接(right jion):返回右表中的所有数据,以及左表中与之匹配的数据。左外连接(left jion):返回左表中的所有数据,以及右表中与之匹配的数据。

2023-08-31 20:47:42 22

原创 计网(IP ARP)

IP可以分为IPV4和IPV6地址,前者只有32位,因此一些计算机需要通过映射技术转换成一个接入互联网的公共IP,后者有128位,可以给所有主机分配一个独有的IP地址。IP地址反映的是互联网中的逻辑地址,但在IP地址之间传输数据时,要经过很多的网络设备,而MAC是标识这些物理设备的地址。因为在网络设备传输时,总是要知道下一个节点的地址,但IP是逻辑地址,MAC才是物理地址,解决了这两种地址转换的问题。由于IPV4只有32位,所以不可能所有主机都能有一个私有地IP地址,于是出现了NAT协议,地址转换协议。

2023-08-27 21:43:35 130

原创 TCP如何保证传输的可靠性

TCP采用哪些方式保证数据传输可靠?答:1、数据分块:将数据包划分为合适的大小,这样更能适应网络的限制,如果数据发生错误或丢失,只要重传有问题的部分即可,减少重传的数据量。方便进行流量和拥塞控制。2、数据包有序号,可以根据序号对失序的数据包进行重新排序、并且可以去重,丢弃重复的数据包。3、校验和,TCP会用头部信息和数据进行校验,来确保传输过程中有没有发生变化,如果认为被修改了会丢弃这个数据包。

2023-08-27 20:59:56 1278

原创 计网(ping dns tcp)

C收到之后,会返回一个ACK信号,表示收到,但是由于不知道自己发送的ACK有没有真的传输到S那边,所以会进入time_wait状态等待2MLS时间,以防S端重传数据,可以再次通信。不能把S端的ACK和FIN合并是因为,收到FIN信号之后,可能还有数据没处理完,但是得通知C收到了他的信号,所以先回复ACK,等到S自己处理好之后,再发送FIN,表示自己数据也发送完了,可以断开连接。2、因为第四次挥手的ACK有可能丢失,如果不等待,C端直接关闭,而S端没有收到ACK请求重传的话,会收到RST(重置)报文。

2023-08-27 16:52:01 123

原创 HTTP(超文本传输协议)

1、DNS域名解析(查看浏览器缓存、操作系统缓存、本地DNS服务器、根服务器、顶级域名服务器、权威域名服务器,获得具体的IP地址)2、建立TCP连接,三次握手(HTTP端口号80,HTTPS端口号443,还会加一层协议做加密和验证服务)3、客户端发送HTTP请求4、服务器处理并返回HTTP报文5、浏览器解析并渲染界面6、TCP四次挥手断开连接。

2023-08-26 11:59:42 46

原创 OSI七层和TCP/IP四层模型

但OSI七层模型,层数太多,复杂,不实用,且有重复的内容,所以更简洁更具备实用性的TCP/IP四层模型被广泛应用了。4、网络接口层:数据链路层和物理层的结合,数据链路层实现两个相邻节点之间的数据帧传输,每一帧包括数据和必要的控制信息。常见协议:IP(网际协议),ARP(地址解析协议),NAT(网络地址转换协议),ICMP(互联网控制报文协议),RIP(路由信息协议)等。:HTTP(超文本传输),SMTP(简单邮件发送协议),IMAP(邮件接收协议),SSH(安全的网络传输协议),FTP(文件传输协议)等。

2023-08-25 09:51:16 31 1

原创 关于 “Linux 就把所有段的基地址设为 0”

所以需要将 逻辑地址转换为 页式内存管理的线性地址,也就是。段偏移地址 = 页号+页偏移的地址 即为。但操作系统Linux 主要采用的是。CPU和程序中采用的是。

2023-05-07 22:39:08 97

原创 Mysql 基础篇

事务:并发事务引发的问题。

2023-04-24 10:05:15 27

原创 String、StringBuffer与StringBuilder的区别

StringBuffer与StringBuilder 类的对象是可变的,对其进行修改时,不会产生新的对象,其中StringBuilder 类速度更快,但线程不安全(不能同步访问)string 类对象不可变,每次对它进行操作都会生成新的String对象。

2023-04-10 16:56:37 23 1

原创 八大排序算法思想汇总

排序 n-1 次,从arr[0]-arr(length-1) 依次插入,排第 i 个数时,前面第 i-1 个数是有序的。排第 i 个数时,若不与其前面那个数交换,则不用再交换,可以break 退出本次插入(因为前面是有序的)的insertIndex是当前下标的前一个,如果不再满足移动需求,跳出循环时,当前元素应该插入的位置是。排序n-1次 每一次找到区间内的最小值,并将其放置在 arr[i]的位置 注意放置时的交换顺序。排第 i 个数时,依次与前面的有序数比较,必要时交换顺序。

2023-04-07 16:35:31 38

原创 回溯算法总结

3、for循环的宽度是遍历集和区间的宽度(横向)、递归纵向遍历(深度,终止条件与其相关)1、终止条件、处理节点和撤销处理都需根据实际情况判断。2、定义全局变量存放结果、路径。

2023-04-05 11:35:54 24

原创 res.add(new ArrayList<>(path))和res.add(path)的区别

res.add(new ArrayList<>(path)):开辟一个独立地址,地址中存放的内容为path链表,后续path的变化不会影响到res。​​res.add(path)​​:将res尾部指向了path地址,后续path内容的变化会导致res的变化。Leecode 77题。

2023-04-04 14:48:24 35 1

空空如也

空空如也

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

TA关注的人

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