
面试题
文章平均质量分 64
一个面试题的收藏夹
RomanBesson
这个作者很懒,什么都没留下…
展开
-
ABA问题是什么?以及相关解决办法。
多线程问题--aba原创 2022-08-11 11:35:28 · 425 阅读 · 0 评论 -
ConcurrentHashMap面试知识的思维导图整理
ConcurrentHashMap面试题思维导图整理原创 2022-08-10 10:13:27 · 188 阅读 · 0 评论 -
2022-04-03 面试题:synchronized 部分原理+常量池部分问题+自动装箱/http 部分问题
2022-04-03 synchronized 部分原理+常量池部分问题+自动装箱/http 部分问题部分整理参考来自https://blog.youkuaiyun.com/zzti_erlie/article/details/86587263?utm_source=app&app_version=5.3.0https://blog.youkuaiyun.com/zzti_erlie/article/details/103997713?utm_source=app&app_version=5.3.0新十道原创 2022-04-03 17:24:54 · 476 阅读 · 0 评论 -
今日面试题-2022-2-7
Java序列化,反序列化?Java序列化就是指将对象转换为字节序列的过程,反序列化是指将字节序列转换成目标对象的过程。什么情况需要Java序列化?当Java对象需要在网络上传输或者持久化存储到文件中时。序列化的实现?让类实现Serializable接口,标注该类对象是可被序列。如果某些数据不想序列化,如何处理例如:transient private String phone; //不参与序列化重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分?方原创 2022-02-07 19:56:46 · 1449 阅读 · 0 评论 -
自己这段时间看的面试题合集(一)
文章目录1.面试题1.3.volatile是什么?2.请你说说Java和PHP的区别?2021.11.251.java8加了哪些新特性?2. 请你谈谈Java中是如何支持正则表达式操作的?3. 请你简单描述一下正则表达式及其用途?4.请你描述一下hashmap的扩容原理5. 请你讲讲&和&&的区别?6. int和Integer有什么区别?7.String和StringBuffer的区别8. 请你讲讲数组(Array)和列表(ArrayList)的区别?什么时候应该使用Array而不是原创 2022-02-03 11:39:56 · 3937 阅读 · 0 评论 -
当用户在浏览器上输入url后发生了什么
进行DNS域名解析进行tcp连接,发起三次握手发送一个http请求服务器处理相关的请求,并且返回对应的结果关闭tcp连接浏览器将浏览器处理后的结果进行解析浏览器将解析后的资源进行请求,并且渲染页面...原创 2022-01-16 09:02:37 · 1964 阅读 · 0 评论 -
面试题4道--2022/1/9
说一下hashmap的put方法根据Key通过哈希算法与与运算得出数组下标如果数组下标位置元素为空,则将key和value封装为Entry对象(JDK1.7中是Entry对象,JDK1.8中是Node对象)并放入该位置如果数组下标位置元素不为空,则要分情况讨论如果是JDK1.7,则先判断是否需要扩容,如果要扩容就进行扩容,如果不用扩容就生成Entry对象,并使用头插法添加到当前位置的链表中如果是JDK1.8,则会先判断当前位置上的Node的类型,看是红黑树Node,还是链表Node如果是红原创 2022-01-09 17:45:24 · 394 阅读 · 0 评论 -
ConcurrentHashMap原理,jdk7和jdk8版本的区别
ConcurrentHashMap原理,jdk7和jdk8版本的区别jdk7:数据结构: ReentrantLock+Segment+HashEntry,一个Segment中包含一个类似于HashMap的结构,数组+链表元素查询:二次hash,第一次Hash定位到Segment,第二次Hash定位到元素所在的链表的头部锁: Segment分段锁Segment继承了ReentrantLock,锁定操作的Segment,其他的Segment不受影响,并发度为segment个数,可以通过构原创 2022-01-06 19:14:43 · 629 阅读 · 0 评论 -
面试题六道-2022-1-6
final基本使用修饰类:表示类不可被继承修饰方法:表示方法不可被子类覆盖,但是可以重载修饰变量:表示变量—旦被赋值就不可以更改它的值。修饰的变量是基本数据类型的话,不可以改变他的值。而修饰引用类型的话不可以改变它的引用,但是可以改变它引用对象的值。修饰类变量或者局部变量时(1)如果final修饰的是类变量,只能在静态初始化块中指定初始值或者声明该类变量时指定初始值。 如果final修饰的是成员变量,可以在非静态初始化块、声明该变量或者构造器中执行初始值。原创 2022-01-06 19:06:51 · 586 阅读 · 0 评论 -
ArrayList和LinkedList区别
ArrayList和LinkedList区别ArrayList:基于动态数组,连续内存存储,适合下标访问(随机访问),扩容机制:因为数组长度固定,超出长度存数据时需要新建数组,然后将老数组的数据拷贝到新数组,如果不是尾部插入数据还会涉及到元素的移动(往后复制一份,插入新元素),使用尾插法并指定初始容量可以极大提升性能、甚至超过linkedList(需要创建大量的node对象)LinkedList:基于链表,可以存储在分散的内存中,适合做数据插入及删除操作,不适合查询:需要逐一遍历遍历原创 2021-12-30 11:14:04 · 730 阅读 · 0 评论 -
事务锁原理初识和心得
1.什么是事务事务是指数据库中一个用户操作的可执行的单元,这个操作要么都成功要么都失败,是不可分割的例如:当你给别人转账时当你的账户扣钱成功,别人的账户也要收钱成功,这才完成一次转账。这两个是同时进行的要么全部成功,要么全部失败。.........原创 2021-12-29 21:16:36 · 317 阅读 · 0 评论 -
字节跳动实习一面
字节跳动实习一面你平时有用虚拟机吗?你平时有用List吗,AttaryList和LinkedList他们的区别是什么?synchronized关键字平时有用到吗?平时有并发处理吗,简单说一下java synchronized这个关键字。java jvm是怎么实现synchronized的? 怎么实现关键字,怎么实现锁的?什么是事务?事务的特性?分别进行解释。synchronized修饰代码块是一个事务吗?我在执行两个synchronized修饰的代码块,进行更新和添加等操作,我执行了十次,原创 2021-12-25 22:08:50 · 1011 阅读 · 0 评论 -
图解---散列表(hash表)的基本原理以及hash冲突(碰撞)--易懂版
图解—散列表(hash表)的基本原理以及hash冲突(碰撞)–易懂版散列表为什么诞生,它用于做什么?先说说数组:数组的优点是查找比较快,但是添加和删除效率比较低。再说说链表:链表的优点是添加和删除效率比较快(相对于数组),但是遍历需要一个指针从头节点往后找。两者都各有优点和缺点,那么有没有一种方法,既可以添加和删除比较快,查找元素也比较快呢?于是,便引出了我们今天的主角----散列表(hash表)。其实散列表在java里还是比较常见的,HashMap就实现了散列表。散列表如何实现举个例子:我原创 2021-12-09 21:44:24 · 1201 阅读 · 1 评论 -
2021.12.3-12.4--面试题
请列举你所知道的Object类的方法并简要说明。Object()默认构造方法:clone() 创建并返回此对象的一个副本。equals(Object obj) 指示某个其他对象是否与此对象“相等”。finalize()当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。getClass()返回一个对象的运行时类。hashCode()返回该对象的哈希码值。notify()唤醒在此对象监视器上等待的单个线程。notifyAll()唤醒在此对象监视器上等待的所有线程。toS原创 2021-12-04 15:44:37 · 89 阅读 · 0 评论 -
面试题2021.11.29----java基础
2021.11.29----java基础1.请你解释为什么会出现4.0-3.6=0.40000001这种现象?答:这是因为二进制数没办法准确的表示十进制数的数,十进制的小数在转化为二进制是会有误差,导致该运算结果的诞生。2.请你说说Lamda表达式的优缺点。答:优点:简洁,便于书写,应用的越来越多,将会影响未来的编码形式。 缺点:效率没有传统的直接写函数或是for的效率高,而且代码的可读性降低。难以调试3. 请你说明符号“==”比较的是什么?答:分为两种情况,在对象对比时,他比较原创 2021-11-29 21:26:40 · 248 阅读 · 0 评论 -
2021.11.30 面试题
1.请你介绍一下map的分类和常见的情况java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMap.Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复。Hashmap (3)是一个最常用的Map,它根据键的HashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度,关于遍历:遍历时,取得数据的顺序是完全随机的。关于null:HashMa原创 2021-11-30 16:21:10 · 277 阅读 · 0 评论 -
面试题10道02 2021.11.26
1.什么是HTTP报文?Http报文就是客户端和服务端之间传送的数据块2.HTTP报文由哪三部分组成?HTTP报文由起始行,头部,主体组成,其中起始行是对该报文进行的描述,头部是对报文的属性进行的描述,主体则是数据的内容。3.HTTP报文分为哪两类?HTTP报文分为请求报文和响应报文,当客户端给服务器发送请求时,发送的报文就是请求报文,当服务器端給客户端返回请求时,返回的请求就是响应报文。4.HTTP常见的请求方法有哪些?常见的请求方式有 get请求:向服务器端发送报文,post请求:向服务器原创 2021-11-26 16:50:17 · 533 阅读 · 0 评论 -
面试题十道-01- 2021.11.25
1.java8加了哪些新特性?答:jdk8引入了lambda表达式,lambda表达式实质上是一种匿名内部类,只是写法上简化了,他将原来繁琐的匿名内部类的形式缩减成较为简短的形式,由jvm进行还原,相对于匿名内部类,lambda表达式的书写形式更加简单便捷,更加便于我们使用。jdk8还引入了函数接口,四个常见的函数的接口为 有参无返回值的消费型接口,无参由返回值的供给型接口,有参有返回值的函数型接口,还有返回boolean类型的断言型接口。同时jdk8又引入了方法引用和构造器引入,用类双冒号静态/非静态原创 2021-11-25 20:25:24 · 166 阅读 · 0 评论