面试
文章平均质量分 86
白露塞纳
星辰!
展开
-
【面试】HashMap常见面试题
大纲一、为什么会有HashMap?二、HashMap是什么?1、为什么是 0.75 这个值呢?追问1、加载因子什么时候适合减少,什么时候适合增加?【优化】2、什么办法来解决因链表过长导致查询时间复杂度高的问题呢?追问1:为什么红黑而非平衡树?追问2:红黑树具体结构及实现,红黑树与查找树的区别体现3、影响 HashMap 性能的因素?4、HashMap 的 key 需要满足什么条件?追问1:HashMap 允许 key/value 为 null, 但最多只有一个。 为什么?追问2:如果重写了equals(),原创 2021-11-02 10:26:21 · 890 阅读 · 0 评论 -
【面试】如何设计一个高并发系统
一、为什么需要秒杀系统?二、秒杀系统是什么?挑战点有哪些?目标及衡量指标三、秒杀系统怎么实现?整体流程、架构、解决思路&方案四、秒杀系统延申?五、参考Geek1、开篇词|如何设计一个高并发、高可用的秒杀系统?2、61 | 性能设计篇之“秒杀”秒杀面试1、高频面试题:秒杀场景设计2、面试必考:秒杀系统要如何设计?高并发面试1、面试官再问高并发,求你把这篇发给他!2、面试官:了解秒杀?简单分析下高并发场景下秒杀系统的设计思路3、面试题:如何设计一个高并发系统?4原创 2021-11-01 16:20:52 · 2832 阅读 · 0 评论 -
【面试】Volatile详解
二、参考1、面试官没想到一个Volatile,我都能跟他扯半小时原创 2021-10-29 10:18:16 · 530 阅读 · 0 评论 -
【面试】进阶篇(二)Spark核心原理
4、Spark 启动流程、处理流程5、Spark与Hadoop的区别是什么?6、Spark调度系统,Spark启动流程DAG作用,如何连起来,为什么根据宽窄依赖切割7、Spark shuffle演化?为什么根据shuffle来区分Stage?怎么划分?8、Spark Core是什么?1、Spark产生背景2、Spark基本操作:常用开发API与开发算子 - 基础知识在这个模块中,我们会从一个叫作“Word Count”的小项目开始。以 Word Count 的计算逻辑为线索,我们会去详细地讲原创 2021-10-20 15:37:57 · 1365 阅读 · 2 评论 -
【面试】Synchronized常见面试题
问题大纲一、为什么有Synchronized?二、Synchronized是什么?三、Synchronized怎么实现的?四、Synchronized使用?五、Synchronized延申?3、synchronized底层如何实现?(*4)什么是锁的升级、降级?【第16讲】追问1:Synchronized对于非静态方法和静态方法加锁的区别是什么?追问2:Java 使用Synchronized关键字有什么隐患?追问3:Synchronized和lock的区别(*3)四、参考一、为什么有Synchronize原创 2021-10-19 16:33:36 · 2538 阅读 · 3 评论 -
【面试】Synchronized详解
问题大纲一、为什么有Synchronized?二、Synchronized是什么?三、Synchronized怎么实现的?3.1 内存结构3.2 同步原理、 可重入原理、保证可见性3.3 锁类型、切换流程、优缺点四、Synchronized使用?五、Synchronized延申?四、参考一、为什么有Synchronized?二、Synchronized是什么?使用类、对象、方法、案例三、Synchronized怎么实现的?3.1 内存结构3.1 Java对象头在JVM中,对象在内存中的布局分原创 2021-10-18 09:56:36 · 340 阅读 · 0 评论 -
【难题解决】海量数据筛选
一、问题描述1、给定id,如何快速确定是不是VIP2、如何快速确定会员等级?四、参考1、如何快速判断一个用户是否访问过我们的 APP?2、位图(BitMap)索引原创 2021-10-14 10:59:57 · 505 阅读 · 0 评论 -
【难题解决】海量数据求Top K
一、Top K问题1、含义在海量数据找出频率最高的前k个数,或从海量数据中找出最大的前k个数,2、举例1、有10个文件,每个文件1GB。文件内每行存放字符串,可能重复,内存限制大小是1MB。按照字符串频度排序;返回频数最高的100个词。搜索最热门的10个查询词。在歌曲库中统计下载最高的前10首歌。提取某日访问网站次数最多的那个IP。找出出现次数最多的身份证号。3、实际// Shopee二面Datetime, keyword, count2021-01-0原创 2021-10-13 21:57:50 · 738 阅读 · 0 评论 -
【面试】ConcurrentHashMap常见面试题(待完善)
文章目录一、面试0、考察范围1、ConcurrentHashMap 是如何实现的? 1.7、1.8 实现有何不同?为什么这么做?2、ConcurrentHashMap 的 Key 和 Value 都不能为 null,而 HashMap 却可以,设计的原因是什么?追问1:TreeMap、Hashtable 等 Map 的 Key 和 Value 是否支持 null 呢?三、参考一、面试ConcurrentHashMap的实现原理ConcurrentHashMap1.7和1.8的区别?Concurren原创 2021-10-13 09:49:33 · 1892 阅读 · 0 评论 -
【面试】ConcurrentHashMap原理剖析(待完善)
文章目录一、问题二、内容三、问题Q三、参考一、问题二、内容JDK1.8之后ConcurrentHashMap就放弃了分段锁策略,而是直接使用CAS+Synchronized方式保证性能,这里的锁是指锁table的首个Node节点。在添加数据的时候,如果Node数组没有值的情况,则会使用CAS添加数据,CAS成功则添加成功,失败则进入锁代码块执行插入链表或红黑树或转红黑树操作。 三、问题1、问题 1:ConcurrentHashMap 的 Key 和 Value 都不能为 null,而 Has原创 2021-10-04 08:42:30 · 172 阅读 · 0 评论 -
面试题目大汇总(算法、数据库、Java、大数据、计网、操作系统)
一、数据库1、【面试】数据库基础篇2、【面试】数据库进阶篇(一)3、【面试】数据库进阶篇(二)4、【面试】数据库进阶篇(三)二、Java1、【面试】Java基础篇(一)2、【面试】Java基础篇(二)3、【面试】Java并发篇(一)4、【面试】Java并发篇(二)5、【面试】Java并发篇(三)6、【面试】Java JVM篇(一)三、大数据1、【面试】大数据基础篇(一)2、【面试】大数据基础篇(二)3、【面试】【Spark】大数据进阶篇(一)4、【面试】【Spark】大数据进原创 2021-01-27 18:49:39 · 453 阅读 · 0 评论 -
【面试】系统设计 | 难题挑战(不断更新中)
一、问题二、参考1、如何快速判断一个用户是否访问过我们的 APP?2、位图(BitMap)索引原创 2021-10-02 07:16:35 · 170 阅读 · 0 评论 -
【面试】HDFS
问题大纲一、HDFS基础1、NameNode、DataNode与Secondary NameNode 作用(*2),SNN能接替NN吗?2、HDFS HA架构?如何实现NameNode HA(*3)?如何实现HA的选举,如NameNode选举。3、HDFS DataNode死了怎么办,NameNode发生了什么变化?4、HDFS EditLog写入了,但NameNode元信息没保存在内存中,数据不一致怎么办?二、HDFS 读写流程1、HDFS介绍,特性,可存储的文件格式2、HDFS读写流程(*3)追问1:写原创 2021-09-29 10:05:10 · 324 阅读 · 0 评论 -
【面试】设计模式
一、大数据基础一、基础概念1、大数据的特性答:4V:Volume、Variety、Value和Velocity,即体量大、多样性、价值密度低、速度快。2、大数据流处理技术之间的(实现)区别和联系(*2),批处理技术呢?仅批处理仅流处理混合HadoopStorm、SamzaSpark、Flink批处理针对大容量静态数据集,处理完返回结果。其数据集特征为有界、持久、大量。流处理会对实时数据进行计算,无需操作整个数据集,而是操作传输的每个数据项。其数据集是“无边界”。原创 2021-10-28 09:37:52 · 151 阅读 · 0 评论 -
【面试】数据库(低频)
一、基础篇1、什么叫视图?游标是什么?视图:1)视图是多个基础表根据某些条件组合而成的结果集,一般来说只能select,不能进行update、insert、delete等操作,因为它是虚拟的内存表。2)视图 VS 表 <==> 快捷方式 VS 文件游标:数据缓冲区,存放SQL语句执行结果,用户可以从中逐一获取记录进行处理。2、drop、delete与truncate的区别3、什么是触发器?4、CURD是什么?C是什么?Create-增加,Retrieve-读取,Up原创 2021-09-20 09:15:38 · 164 阅读 · 0 评论 -
【面试】流程准备与优化
零、整体流程1、确立目标2、明确要求3、面试准备4、反馈总结5、行动迭代一、确立目标1、设立目标这里以自己为例,想达到国内一线互联网公司的水平,再往上是顶级国际厂商的心仪岗位任选。2、达成标志收到某几家国内一线互联网公司的Offer;再工作几年有能力拿到国际大厂(如谷歌、微软)的心仪岗位Offer。二、明确要求1、能力建模算法:LeetCode中等题可以较为轻易做出来。语言:理解与实践Java的并发、理解与实践GC原理。数据库:索引底层原理、理解并实践分库分表等。操作系统:常原创 2021-09-20 08:40:24 · 802 阅读 · 0 评论 -
【面试】面试反问环节
一、主要问题1、你们部门最看重什么?2、你们部门最厉害的地方是什么?3、你觉得好员工应该具备哪些素质?4、你学习方面有什么好的方法或经验?5、你对我有什么建议吗?6、研发人员,什么比较重要?高手是什么样子,如何到达?二、反馈收获2021.09.13 华为一面1、Java语言要深入理解,这样才能写出高质量程序,在内存方面也有更好的表现。调试工具方面也要多加了解与应用。2、能力。学习能力强,这样你能快速适应新业务或新技能的要求。还要有清晰的解决问题的思路,良好的沟通能力。尽快开发出代码进行落原创 2021-09-14 09:12:03 · 4332 阅读 · 0 评论 -
【面试】【算法】螺旋矩阵
一、题目设 1 的坐标是(0,0),x方向向右为正,y方向向下为正,例如,7 的坐标为(-1,-1),2 的坐标为(1,0)。编程实现输入任意一点坐标(x,y),输出所对应的数字!二、解决1、数学归纳推导思路:从上图可以发现两大规律:1)螺旋规律2)奇数平方规律:即每一圈的最大值是(2∗c+1)2,c为圈数(2*c+1)^2, c为圈数(2∗c+1)2,c为圈数。先说结论:接下来推导一下:首先c = max {|x|, |y|},再看具体的值,49到46,中间步长为1,差值恰好原创 2021-05-15 16:55:29 · 373 阅读 · 0 评论 -
【面试】智力题
一、题目1、1000瓶药水,1瓶有毒药,几只小白鼠能够找出?答案:Step 1、对 1,2,3,4,5,6,7,...,1000瓶水进行编号,并用Step 2、用二进制表示:00 0000 0001, (1) 00 0000 0010, (2) 00 0000 0011, (3) 00 0000 0100, (4) 00 0000 0101, (5)原创 2021-04-22 15:51:17 · 182 阅读 · 4 评论 -
【面试】计算机网络
一、问题二、具体| | | ||–|--|| | |原创 2021-04-13 12:18:13 · 660 阅读 · 0 评论 -
【面试】框架与个人项目
二、参考1、框架1、XML配置和注解配置各自的优缺点2、MVC了解吗? 3、Spring是什么,主要IOC等等 - 追问1:项目中怎么用Spring的? - 追问2:Spring AOP - 追问3:Spring中的动态代理模式、注册Bean有几种?分别什么特点? - 追问4:Spring中涉及的一些设计模式4、Spring Boot的缺陷是什么? - 追问1:Spring Boot和Spring区别?5、手撕反射私有变量,反射泛型方法一、内容1、XML配置和注解配置各自原创 2021-01-28 19:22:07 · 177 阅读 · 0 评论 -
【面试】Java JVM篇(一)
第4讲 | 强引用、软引用、弱引用、幻象引用有什么区别?第23讲 | 请介绍类加载过程,什么是双亲委派模型?第24讲 | 有哪些方法可以在运行时动态生成一个Java类?第25讲 | 谈谈JVM内存区域的划分,哪些区域可能发生OutOfMemoryError?第26讲 | 如何监控和诊断JVM堆内和堆外内存使用?第27讲 | Java常见的垃圾收集器有哪些?第28讲 | 谈谈你的GC调优思路?第29讲 | Java内存模型中的happen-before是什么?第30讲 | Java程序运行在原创 2021-01-27 16:17:12 · 230 阅读 · 0 评论 -
【面试】Java(低频)
2.3 关键字wait、sleep、notify、notifyAll1、sleep和wait的区别,sleep会不会释放锁,notify和notifyAll的区别 2、不调用notifyAll(),而是调用notify(),会唤醒哪一个线程?3、同步块外部执行Wait和notify能达到效果吗?Volatile、Synchronized、ReentrantLock1、锁的概念,锁相关的关键字。Volatile,Synchronized。2、Volatile怎么保证可见性,Volatile作用原创 2021-01-25 19:02:48 · 161 阅读 · 0 评论 -
【面试】Java并发篇(二)
0、问题大纲2.2 JUC包Java并发包提供了哪些并发工具类?【第19讲】1、多线程JUC包下的一些常见的类,比如CountDownLatch、Semaphore等2、Java Concurrent包里面用过什么?列举一些ConcurrentHashMap中1.7和1.8的区别。3、HashMap线程安全实现。如何保证集合是线程安全的? ConcurrentHashMap如何实现高效地线程安全? 【第10讲】讲讲ConcurrentHashMap,ConcurrentHashMap怎么保证原创 2021-01-22 19:17:24 · 213 阅读 · 0 评论 -
【面试】Java并发篇(一)
第10讲 | 如何保证集合是线程安全的? ConcurrentHashMap如何实现高效地线程安全?讲讲ConcurrentHashMap,ConcurrentHashMap怎么保证线程安全,HashTable怎么保证线程安全6、HashSet的底层实现,是不是线程安全的 5、HashMap/HashTable/ConcurrentHashMap底层(*4),CHM结构,1.7/1.8区别?第15讲 | synchronized和ReentrantLock有什么区别呢?第16讲 | synchr原创 2021-01-22 14:55:11 · 284 阅读 · 4 评论 -
【面试】Java基础篇(二)
0、问题大纲一、Java 基础1.2 方法操作1、== 和 Equals的区别,如果重写了Equals()不重写HashCode()会发生什么。2、Java有个最基本的类Object,这个类默认包含哪几个方法?3、对比Vector、ArrayList、LinkedList有何区别?【第8讲】(*2) - 追问1:是不是线程安全的 4、对比Hashtable、HashMap、TreeMap有什么不同?【第9讲】 - 追问1:HashMap get和put源码,为什么红黑而非平衡树? -原创 2021-01-20 16:38:54 · 197 阅读 · 0 评论 -
【面试】Java基础篇(一)
0、问题大纲1、Java和Python的区别,对面向对象的理解,和面向过程相比有什么区别。2、Java有个最基本的类Object,这个类默认包含哪几个方法?3、Java为什么不能多继承?4、Java特性,如何实现多继承?多态含义。5、讲一下Java抽象类和接口。6、重载和重写的区别(*2),其他相关问题。7、什么是内部类,什么是匿名内部类一、Java 基础1.1 Java基本概念1、谈谈你对Java平台的理解?【第1讲】 - 追问1:面向对象和面向过程有什么区别? - 追问2:多态原创 2021-01-17 15:36:40 · 245 阅读 · 0 评论 -
【面试】进阶篇(一)Spark基础知识:产生背景 & 基本操作
0、问题大纲二、Spark 核心原理2、前置26.通常来说,Spark与MapReduce相比,Spark运行效率更高。请说明效率更高来源于Spark内置的哪些机制?请列举常见spark的运行模式?22.请写出创建Dateset的几种方式3、Spark 运行原理3、Spark程序的运行流程(*2) Y,Spark执行机制,Spark在集群中怎么执行程序的?如果有聚合操作呢?3、DAGscheduler干了什么活(*2)35.Sparkcontext的作用48.Spark on Yarn作原创 2021-01-13 19:20:10 · 689 阅读 · 2 评论 -
【面试】Spark(低频)
0、问题大纲1、Spark基本概念1、Spark 1.X与Spark 2.X区别。2、Spark与Flink。3、Sparkstreaming和Flink做实时处理的区别。2、Spark RDD1、Spark RDD介绍,属性,如何理解,原理; - 创建rdd的几种方式 - RDD中的数据在哪? - 如果对RDD进行cache操作后,数据在哪里?2、RDD,DataFrame,DataSet的区别?3、RDD支持哪几种类型的操作/算子分类- map和flatMap的区别(*2)原创 2021-01-11 18:59:55 · 273 阅读 · 0 评论 -
【面试】大数据(低频)
0、问题大纲二、大数据基础原理1、NameNode && DataNode1、NameNode、DataNode与Secondary NameNode 作用2、如何实现HA的选举,如NameNode选举, 如何实现HA(*3)3、HDFS DataNode死了怎么办,NameNode发生了什么变化?4、HDFS EditLog写入了,但NameNode元信息没保存在内存中,数据不一致怎么办?2、HDFS 读写流程1、HDFS介绍、读写特性2、HDFS写入流程讨论,HDFS原创 2021-01-07 19:17:56 · 649 阅读 · 0 评论 -
【面试】MapReduce
0、问题大纲一、大数据基础与相关概念1、大数据的特性. 2、大数据流处理技术之间的(实现)区别和联系(*2),批处理技术呢?3、分布式系统CAP理论,重点解释分区容错性的意义。4、Hadoop1.x和2.x之间的区别。5、介绍下MapReduce (*3)。 - 追问1:MapReduce中间有个combine是干嘛,有什么好处,有什么使用限制吗? - 追问2:拿MapReduce join两个表 说一下流程 - 追问3:敲代码:用mr实现top106、HA HDFS ZooKeeper原创 2021-01-06 18:27:08 · 340 阅读 · 0 评论 -
【面试】数据库进阶篇(三)优化
五、优化11、MySQL如何调优?2、数据库查询优化(*2)3、SQL优化;6、备份恢复1、MySQL的容灾备份机制;数据库备份。2、数据库挂了怎么办?除了热备份还有什么办法?热备份、冷备份。3、优化MySQL思路:(图参考他人)【1】、SQL语句及索引优化a)发现有问题的SQL?慢查询日志、Explain分析SQL执行计划(!Using file sort & Using temporay)。b)SQL语句优化–优化insert语句,一次插入多值;–避免wher原创 2021-01-03 18:16:07 · 245 阅读 · 2 评论 -
【面试】数据库进阶篇(二)并发
3、存储引擎1、(MySQL)存储引擎(*3)及区别(*2)。2、InnoDB和MyISAM的区别(*2)。3、MongDB存储引擎。3、优化MySQL思路:(图参考他人)【1】、SQL语句及索引优化a)发现有问题的SQL?慢查询日志、Explain分析SQL执行计划(!Using file sort & Using temporay)。b)SQL语句优化–优化insert语句,一次插入多值;–避免where自己使用 !=或<>操作符,否则引擎将放弃索引而进行全原创 2021-01-02 19:06:03 · 284 阅读 · 0 评论 -
【面试】数据库基础篇
一、基础0、问题纲要1、基础知识1、什么叫视图?游标是什么 ?2、drop、delete与truncate的区别3、什么是触发器?4、CURD是什么?C是什么?5、MySQL有哪些类型?6、int和varchar;int占多少位?2、基本操作1、left Join、right join、inner join、outer join的区别?(*4)2、数据库去重操作;3、SQL的group by、order by作用;having和where区别?3、范式1、数据库第三大范式(*原创 2020-12-23 17:28:38 · 280 阅读 · 0 评论 -
【面试】排序算法小结
一、具体1、比较排序1.1 初级排序(O(n2)O(n^2)O(n2))1、冒泡: 嵌套循环,每次查看相邻元素,如果逆序,则交换。public void bubbleSort(int[] array) { int len = array.length; for (int i=len-1; i>=0; i--) { int flag = 0; for (int j=0; j<i; i++) { if (array[i]>array[j]) { int te原创 2020-10-19 17:36:07 · 161 阅读 · 0 评论 -
【面试】数据库进阶篇(一)索引
一、基础0、已清晰(1)什么叫视图?游标是什么?(2)drop、delete与truncate的区别(3)什么是触发器?1、left Join、right join、inner join、outer join的区别?A表:aIdaName1a12a24a4B表:bIdbName1b12b25b5...原创 2020-03-18 22:16:00 · 335 阅读 · 0 评论