![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试经验
文章平均质量分 52
王小闹儿
这个作者很懒,什么都没留下…
展开
-
JAVA面试考点—— ConcurrentHashMap源码级解读
目录一. hashmap回顾1.1 基本结构1.2 hashMap分布策略1.3 问题1.4 为什么不使用锁解决线程安全问题二.ConcurrentHashMap2.1 java1.7 版本实现机制分段锁机制源码分析一. hashmap回顾1.1 基本结构HashMap存储的是存在映射关系的键值对,存储在被称为哈希表的数据结构中。通过计算key的hashCode来确定键值对在数组中的位置。假如产生碰撞,则使用链表或者红黑树。...原创 2021-11-06 10:45:37 · 382 阅读 · 0 评论 -
JAVA面试考点——Reentrantlock
1.作用ReentrantLock基于AQS,在并发编程中它可以实现公平锁和非公平锁来对共享资源进行同步。同时,和synchronized一样,ReentrantLock支持可重入,除此之外,ReentrantLock在调度上更灵活,支持更多丰富的功能。2. LockReentrantLock 实现了Lock接口。Lock的意义在于提供了区别于synchronized的另一个具有更多广泛操作的同步方式,他能支持更多灵活的结构,并且可以关...原创 2021-11-03 00:20:28 · 560 阅读 · 0 评论 -
JAVA面试考点——java锁机制(synchronize原理、无锁编程、CAS、AQS)
目录1. 什么是锁2. java锁机制3. synchronize原理4. 锁的四种状态,synchronized中的锁如何变化偏向锁轻量级锁自旋锁重量级锁1. 什么是锁在并发环境下。多个线程会对同一个资源进行争抢,可能会导致数据不一致问题。因此可以使用锁机制,通过一种抽象的锁来对资源进行锁定。2. java锁机制java中,每个对象有一把锁,这把锁存放在对象头中。java对象包含了三个部分:对象头(存放对象运行时信息)...原创 2021-10-27 08:31:12 · 811 阅读 · 0 评论 -
JAVA面试考点—— JAVA集合容器梳理
目录1. 常用的集合2. 概念差别:3. 说一说hashMap的理解4. hashmap的实现方式4.1 node节点4.2 成员属性4.3transient 的作用5 hashMap扩容机制6. 线程安全情况1. 常用的集合List、Map、Set以及其子类List、Set实现了collection接口,Map实现单独接口——AbstractMap2. 概念差别:List有序,有序指的是插入的顺序;其中可以存放重复的值以及null值。Se..原创 2021-10-27 07:08:16 · 259 阅读 · 0 评论 -
JAVA面试考点—— CountDownLatch和Semaphore的区别和底层原理
CountDownLatch和Semaphore使用场景https://segmentfault.com/a/1190000038672250CountDownLatch、CyclicBarrier、Semaphore 用法总结https://segmentfault.com/a/1190000012234469CountDownLatch表示计数器,可以给CountDownLatch设置一个数字一个线程调用CountDownLatch的await()方法,将会阻塞其他线程可以调用C原创 2021-10-22 09:01:46 · 1204 阅读 · 0 评论 -
JAVA面试考点——String、StringBuffer、 StringBuilder的区别
String是final修饰的,不可变,每次操作都会产生新的String对象StringBuffer和StringBuilder都是在原对象上操作,是可变的。StringBuffer是线程安全的,StringBuffer方法都是synchronized修饰的;StringBuilder线程不安全的, 所以在单线程环境下StringBuilder效率会更高性能: StringBuilder > StringBuffer > String场景: 经常需要改变字符串内容时使用.原创 2021-10-15 08:33:30 · 141 阅读 · 0 评论 -
JAVA面试考点——CopyOnWriteArrayList的底层原理是怎样的
1. 首先CopyOnWriteArrayList内部也是用过数组来实现的,在向CopyOnWriteArrayList添加元素时, 会复制一个新的数组,写操作在新数组上进行,读操作在原数组上进行2 .并且,写操作会加锁,防止出现并发写入丢失数据的问题3.写操作结束之后会把原数组指向新数组4. CopyOnWriteArrayList允许在写操作时来读取数据,大大提高了读的性能,因此适合读多写少的应用场景,但是CopyOnWriteArrayList会比较占内存,同时可能读到的数据不是实时最新的数原创 2021-10-15 08:27:21 · 216 阅读 · 0 评论 -
JAVA面试考点——List和Set的区别
List有序,按对象进入的顺序保存对象 可重复,允许多个Null元素对象 可以使用Iterator取出所有元素,在逐一遍历 还可以使用get(int index)获取指定下表的元素Set无序,不可重复,最多允许有一个Null元素对象 取元素时只能用Iterator接口取得所有元素,在逐一遍历各个元素...原创 2021-10-15 08:23:39 · 126 阅读 · 0 评论 -
JAVA面试考点——JDK、JRE、JVM三者区别和联系
jDK:Java Develpment Kit java开发工具JRE:Java Runtime Environment java运行时环境JVM:java Virtual Machine java虚拟机原创 2021-10-15 08:21:02 · 157 阅读 · 0 评论 -
JAVA面试考点——Java中的异常体系
Java中的所有异常都来自顶级父类Throwable。Throwable下有两个子类Exception和Error。1. Error是程序无法处理的错误,一旦出现这个错误,则程序将被迫停止运行。2. Exception不会导致程序停止,又分为两个部分RunTimeException运行时异常CheckedException检查异常。RunTimeException常常发生在程序运行过程中,会导致程序当前线程执行失败。 CheckedException常常发生在程序编译过程中,会导致程序编译原创 2021-10-15 08:17:21 · 166 阅读 · 0 评论 -
JAVA面试考点——HashMap和HashTable的区别及实现原理
hashtable已经不怎么被使用了区别:(1) HashMap方法没有synchronized修饰, 线程非安全,HashTable线程安全; (2) HashMap允许key和value为null,而HashTable不允许HashMap底层实现: 数组+链表实现jdk8开始链表高度到8、数组长度超过64,链表转变为红黑树,元素以内部类Node节点存在计算key的hash值, 二次hash然后对数组长度取模,对应到数组下标, 如果没有产生hash冲突(下标位置没有..原创 2021-10-13 12:34:43 · 171 阅读 · 0 评论 -
JAVA面试考点——ConcurrentHashMap原理以及扩容机制
目录1.7版本1.8版本1.7版本 1.7版本底层示例1. ConcurrentHashMap是基于Segment分段实现的2.每个Segment相对于一个小型的HashMap3. 扩容时,对待扩容Segment内部会进行扩容,不影响其他Segment对象4. 扩容时,先生成新的数组,然后转移元素到新数组中5. 扩容的判断也是每个Seg...原创 2021-10-12 09:09:14 · 3238 阅读 · 0 评论 -
JAVA面试考点——ArrayList和LinkedList区别
1. 首先,他们的底层数据结构不同,ArrayList底层是基于数组实现的,LinkedList底层是基于链表实现的2. 由于底层数据结构不同,他们所适用的场景也不同,ArrayList更适合随机查找, LinkedList更适合删除和添加, 查询、添加、删除的时间复杂度不同3. 另外ArrayList和LinkedList都实现了List接口,但是LinkedList还额外实现了 Deque接口,所以LinkedList还可以当做队列来使用ArrayLis基于动态数组,连续内存存储.原创 2021-10-12 08:35:37 · 383 阅读 · 0 评论 -
面试技巧——谈谈你有什么缺点
可以从工作 生活 思想 三个方面考虑工作上:工作中,我不太能接受周围的人故意懈怠、推卸责任,以及在团队合作中只会依靠团队,而不想着如何通过提升自己的工作力。来提高团队整体的能力。这会导致我注重整体工作效率大于注重和谐气氛,显得不够和善,不知道这算不算缺点生活上:我在生活中确实没有任何让朋友觉得不舒服的地方,我很不愿意麻烦别人,不到确实万不得已,不会求人帮忙。当然,一旦求了,我会用态度+物质来非常诚恳的感谢对方。这就导致我页不太喜欢别人轻易麻烦我,不知道这算不算是缺点。思想上.原创 2021-07-25 12:34:17 · 274 阅读 · 0 评论 -
算法训练营(十)深度优先搜索、广度优先搜索的实现和特性(单词接龙II为高频面试题)
一、基本概念1.1 遍历搜索在树(图/状态集)中寻找特定结点1.1.1 DFS 代码模板——使用栈递归写法visited = set()def dfs(node, visited): if node in visited: # terminator # already visited return visited.add(node) # process current node here. ... ...原创 2021-03-17 01:26:11 · 213 阅读 · 0 评论 -
测试面试
转自:https://blog.csdn.net/lingdanfeng/article/details/80251179第一个问题:自我介绍心理学首因效应告诉我们第一印象非常重要,自我介绍最重要的是能够在面试官心目中留下一个好的第一感觉说得更直白一点是让面试官舒服。但是我发现很多人就是直接简单的介绍了一下过去的经历,但是实际上一方面过去的经历没有很好的让人发现优点。其...转载 2019-03-30 13:52:06 · 452 阅读 · 0 评论 -
如何学好 Linux、C++,并搞定 BAT 面试 作者/分享人:天千
学好Linux运维需要做到以下几点1、多做实验 实验环境完全可以通过VMware来模拟,模拟私有网络,模拟多台机器,要搞懂VMware提供的集中网络模式的工作原理(桥接网络、宿主机网络、NAT等),这对整个Linux后续的学习帮助都非常之大,还可以通过虚拟机模拟Grub损坏并进行修复、模拟忘记密码并通过单用户模式修改密码等等。 2、LNMP、DHCP、DNS、MySQL等等这些网...转载 2018-11-19 12:09:39 · 689 阅读 · 0 评论 -
去BAT,你应该要看一看的面试经验总结(职位:c++ Linux服务器开发)
转自:https://blog.csdn.net/analogous_love/article/details/79567034这篇博客原作者的博客链接:https://blog.csdn.net/analogous_love 一、以百度、爱奇艺等为代表的,以数据结构和算法为主。首先是简单地了解下你之前的工作经历和项目经验,然后就是算法和数据结构题目,具体涉及到以下内容:01快...转载 2018-11-22 13:30:23 · 1473 阅读 · 0 评论 -
后台开发,从基础到高级,有什么好的书籍推荐?
这篇博客原作者的博客链接:https://blog.csdn.net/analogous_love 首先,我觉得你应该好好准备算法和数据结构,做到常见的算法和数据结构知识点都能非常熟悉,这样的话你毕业求职的时候可以轻松拿一些大厂(BAT等)的offer。我本人非科班出身,一毕业之后各种摸爬滚打。一毕业去大厂个人觉得有两个好处,第一,你的收入会比一般的的小公司高很多,小公司招人要求相...转载 2018-12-04 17:39:01 · 2453 阅读 · 2 评论 -
写给那些傻傻想做服务器开发的朋友
这篇博客原作者的博客链接:https://blog.csdn.net/analogous_love 写在前面的话我在七八年前就看过这篇文章,那个时候我还是一名学生,它深深地影响了我学生时代以及后来的人生轨迹。(所以原文绝对不是首次发表于2015年,我猜想可能是后来的作者2015年修改了原作者的一些内容,并增加了一些自己的东西,让它"与时俱进")。我学生时代深受这篇文章的影响,以至于我印...转载 2018-12-04 17:41:41 · 11634 阅读 · 0 评论 -
忘了是从哪里弄来的面筋了,记录一下
生活从来没有准备到完美的时候,计划永远都赶不上变化,那么校招也是一样,你永远不会有准备好的那一天,那就在准备了多少就直接上战场吧。 学习时间:(1) 2018.5.15 - 2018.6.15 正式复习开始了,在这段时间里,开始大量复习计算机网络、Linux、数据库(MySQL, Redis)的知识,大量总结归纳。同时呢,也开始准备一个Java后端的项目:这个项目其实就是叶神的高级项目...转载 2018-12-04 17:48:20 · 209 阅读 · 0 评论 -
面经
看到好几个同学说,问别人学习方法都是推荐了一大堆书,哪看的完…其实很多东西只有看书才能看得明白的也能看得更透彻,我几乎都是看书看源码,遇到一些很难的就google或者找视频看…因为如果所有东西都看别人讲(google看博客或者看视频),就可能遇到一个知识点不同的人不同的看法,然后自己就弄弄不明白还会被带歪然后就心情爆炸…所以我还是会推荐大家看书或者看源码,但是会讲重点哪些地方应该看哪些地方简单了解...转载 2018-12-05 12:52:16 · 343 阅读 · 0 评论 -
重点
复习方法C++primer 个人经验,C++ primer 第一次可以跳着看。关键是要尽快用起来,在使用中熟练,而不是在细节中迷失。以C++ Primer第五版为例,第一遍读的时候: Part1也就是前七章,除了6.6,6.7节,都要通读。尤其是第三章初步介绍了vector和string,简直就是新手福音,搞定这两个容器就能写一些简单的程序。 Part2基...转载 2018-12-05 12:59:39 · 198 阅读 · 0 评论 -
各种经验
经验C++的学习可以分为,C++基础、数据结构与算法、计算机网络和操作系统。另外,需要特别指出来的就是编程能力(如果要归类的话,应该是属于C++基础和数据结构和算法的综合)。个人认为最为重要的就是编程能力。可以通过刷题(剑指offer、LeetCode)来提高编程能力。下面就上面的4大块罗列一些书籍和资料,需要指出的是,这些书籍和资料有点多,有时间有能力全部吃透,当然最好,但是如果时间紧张的话...转载 2018-12-22 16:48:22 · 275 阅读 · 0 评论 -
为压力面做准备
作者:雄关漫道1链接:https://www.nowcoder.com/discuss/70129来源:牛客网 1.写10个你熟悉的linux命令,带上你知道的所有参数;(写得不好,心理压力+1)2.为什么对计算机网络比较熟悉?3.你有过一次实习一个月的经历?为什么离职?(被说容易离职,心理压力+1)4.你对度秘了解多少?(因为是别的部门转过去的,不了解,心理压力+1)5...转载 2018-12-22 22:22:11 · 248 阅读 · 0 评论 -
从Java小白到收获BAT等offer,分享我这两年的经验和感悟
转自:https://mp.weixin.qq.com/s?__biz=MzUyMDc5MTYxNA==&mid=2247484532&idx=1&sn=8aea96b00b1f3adc01e738d52c1fa198&chksm=f9e5b725ce923e33b84640490d95892627451cd931d0365582e712f196012373779e...转载 2018-12-25 13:31:01 · 645 阅读 · 0 评论 -
秋招总结 C++方向,腾讯、百度、华为、滴滴、搜狐
作者:caelum链接:https://www.nowcoder.com/discuss/13362来源:牛客网 写在前面的话: 今天收到了腾讯的签约邀请,这意味着我的秋招之旅基本上可以结束了。平时经常在牛客上刷题以及看大家分享的面经,受益匪浅,因此趁着还有点小激动,跟大家分享下我的经历。首先来总结一下这次秋招,我投了30家公司,以下列出,给来年的学弟学妹们做些参考吧:...转载 2018-12-25 14:27:18 · 432 阅读 · 0 评论 -
面试必问——你有什么问题问我吗
贵公司对于新人有没有什么培训项目 贵公司的晋升机制如何 入职之后参加的项目情况 假如你被录取了,你接下来要做的是什么?仔细想想,面试官提出这个问题有3种情况。1.面试非常不理想,面试官只面了你10分钟,就礼貌性地提出这个问题了。2.面试十分理想,面试官真的想知道你对看法/疑问。3.面试过程一般,面试官对你不是特别心动。面试是一个过程,面试官通过一系列的面试环节来判断你是否是这个岗...转载 2019-02-14 20:27:03 · 3178 阅读 · 0 评论