面试专题
温一杯酒
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
面试||搞定计算机网络
面试带你飞:这是一份全面的 计算机网络基础 总结攻略1. 计算机网络体系结构1.1 简介定义 计算机网络的各层 + 其协议的集合作用 定义该计算机网络的所能完成的功能1.2 结构介绍计算机网络体系结构分为3种:OSI体系结构、TCP / IP体系结构、五层体系结构OSI体系结构:概念清楚 & 理念完整,但复杂 & 不实用TCP / IP体系结构:含了一系列构成互联...原创 2019-04-21 17:18:14 · 355 阅读 · 0 评论 -
HashMap 源码详细分析(JDK1.8)
HashMap 源码详细分析(JDK1.8)https://segmentfault.com/a/1190000012926722HashMapHashMap 是应用更加广泛的哈希表实现,行为上大致上与 HashTable 一致,主要区别在于HashMap 不是同步的,支持 null 键和值等。通常情况下,HashMap 进行 put 或者 get 操作,可以达到常数时间的性能,所以它是绝大部...原创 2019-09-12 08:39:39 · 141 阅读 · 0 评论 -
BIO、NIO、AIO总结
IO基本概念描述符Linux的内核将所有外部设备都可以看做一个文件来操作。那么我们对与外部设备的操作都可以看做对文件进行操作。我们对一个文件的读写,都通过调用内核提供的系统调用;内核给我们返回一个file descriptor(fd,文件描述符)。对一个socket的读写也会有相应的描述符,称为socketfd(socket描述符)。描述符就是一个数字(可以理解为一个索引),指向内核中...原创 2019-08-15 17:42:44 · 180 阅读 · 0 评论 -
【一】深入理解Java虚拟机の内存与垃圾回收
[深入理解java虚拟机](https://www.zybuluo.com/Yano/note/321063)目录1.走进Java2.Java内存区域2.1 对象创建过程:2.2 对象的内存布局:2.3 对象的访问:2.4String 类和常量池2.5 Integer常量池3.垃圾收集器与内存分配策略对象存活判断3.1 垃圾回收3.1.1垃圾收集器...原创 2019-08-29 21:38:40 · 498 阅读 · 0 评论 -
《并发编程的艺术》读书笔记
1.并发编程基础CPU:CPU是计算机的核心,其负责承担计算机的计算任务。这里我们比喻为一个工厂进程:学术上说,进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。我们这里将进程比喻为工厂的车间,它代表CPU所能处理的单个任务。任一时刻,CPU总是运行一个进程,其他进程处于非运行状态。线程:在早期的操作系...原创 2019-08-06 22:24:55 · 686 阅读 · 0 评论 -
海量数据处理/bitMap
十道海量数据处理面试题与十个方法大总结1. 给定 a、 b 两个文件,各存放 50 亿个 url,每个 url 各占 64 字节,内存限制是 4G,找出 a、 b 文件共同的 url?方案 1:可以估计每个文件安的大小为 50G×64=320G,远远大于内存限制的 4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。遍历文件 a,对每个 url 求取hash(url)%100...转载 2019-06-24 16:01:19 · 591 阅读 · 0 评论 -
Kafka
1 概述1.1 什么是消息队列(1)点对点模式(一对一,消费者主动拉取数据,消息收到后消息清除)点对点模型通常是一个基于拉取或者轮询的消息传送模型,这种模型从队列中请求信息,而不是将消息推送到客户端。这个模型的特点是发送到队列的消息被一个且只有一个接收者接收处理,即使有多个消息监听者也是如此。(2)发布/订阅模式(一对多,数据生产后,推送给所有订阅者)发布订阅模型则是一个基于推送的消息...原创 2019-05-04 16:25:29 · 245 阅读 · 0 评论 -
面试||JVM
java什么是虚拟机?Java 虚拟机,是一个可以执行 Java 字节码的虚拟机进程。Java 源文件被编译成能被 Java 虚拟机执行的字节码文件( .class )。Java 被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java 虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。但是,跨平台的是 Java 程序(包括字节码...转载 2019-06-04 16:17:02 · 343 阅读 · 0 评论 -
面试||并发多线程
简述线程、进程、程序的基本概念?程序程序,是含有指令和数据的文件,被存储在磁盘或其他的数据存储设备中,也就是说程序是静态的代码。进程是系统进行资源分配和调度的基本单位进程,是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。简单来说,一个进程就是一个执行中的程序,它在计算机中一个指令接着一个指令地执行着,同时,每个进程还占...原创 2019-06-04 10:08:42 · 436 阅读 · 0 评论 -
面试||Spring MVC
Spring MVCSpring MVC 框架有什么用?Spring Web MVC 框架提供”模型-视图-控制器”( Model-View-Controller )架构和随时可用的组件,用于开发灵活且松散耦合的 Web 应用程序。MVC 模式有助于分离应用程序的不同方面,如输入逻辑,业务逻辑和 UI 逻辑,同时在所有这些元素之间提供松散耦合。介绍下 Spring MVC 的核心组件?S...转载 2019-06-09 21:00:55 · 148 阅读 · 0 评论 -
面试||Spring框架
Spring什么是 Spring Framework?Spring 是一个开源应用框架,旨在降低应用程序开发的复杂度。它是轻量级、松散耦合的。它的轻量级主要是相对于 EJB 。随着 Spring 的体系越来越庞大,大家被 Spring 的配置搞懵逼了,所以后来出了 Spring Boot 。它具有分层体系结构,允许用户选择组件,同时还为 J2EE 应用程序开发提供了一个有凝聚力的框架...转载 2019-06-09 17:47:56 · 305 阅读 · 0 评论 -
面试||java基础
面向对象的特征?四点:封装、继承、多态、抽象。封装public:具有最大的访问权限,可以访问任何一个在classpath下的类、接口、异常等。它往往用于对外的情况,也就是对象或类对外的一种接口的形式。protected:主要的作用就是用来保护子类的。它的含义在于子类可以用它修饰的成员,其他的不可以,它相当于传递给子类的一种继承的东西default:有时候也称为friendly,它是针对本...原创 2019-06-14 15:02:53 · 223 阅读 · 0 评论 -
面试||分布式事务
什么是分布式事务?分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证不同数据库的数据一致性。或者,换一句话说,分布式事务 = n 个本地事务。通过...转载 2019-06-09 10:21:06 · 312 阅读 · 0 评论 -
Redis超强总结
关系型数据库与之区别:datapage 4k root node leaf每次查询磁盘与内存都要交互,有磁盘I/O限制高并发情况下不合适Redis是非关系型数据库热数据、冷数据、数据过期一个服务器可以运行多个Redis实例,通过端口号区别一个Redis实例可以有16个数据库(0-15):redis-cli -n -2 2号数据库使用客户端进行操作redis-cli 进入...原创 2019-04-27 22:00:19 · 569 阅读 · 0 评论 -
面试||java集合系列
Listhttp://cmsblogs.com/?p=4727(1)ArrayList和LinkedList有什么区别?ArrayList以数组实现,具有动态扩展的能力,动态数组。ArrayList实现了List,提供了基础的添加、删除、遍历等操作;实现了RandomAccess,提供了随机访问的能力;实现了Cloneable,可以被克隆;实现了Serializable,可以被序列化。(...原创 2019-06-03 08:57:25 · 186 阅读 · 0 评论 -
面试||MySQL系列
数据库的三范式是什么?什么是反模式?第一范式,强调属性的原子性约束,要求属性具有原子性,不可再分解。第二范式,强调记录的唯一性约束,表必须有一个主键,并且没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。第三范式,强调属性冗余性的约束,即非主键列必须直接依赖于主键。反模式的设计,即空间换取时间,采取数据冗余的方式避免表之间的关联查询。至于数据一致性问题,因为难以满足数据强...转载 2019-06-07 11:30:06 · 369 阅读 · 0 评论 -
面试||缓存
什么是缓存?缓存,就是数据交换的缓冲区,针对服务对象的不同(本质就是不同的硬件)都可以构建缓存。目的是,把读写速度慢的介质的数据保存在读写速度快的介质中,从而提高读写速度,减少时间消耗。例如:CPU 高速缓存 :高速缓存的读写速度远高于内存。CPU 读数据时,如果在高速缓存中找到所需数据,就不需要读内存CPU 写数据时,先写到高速缓存,再回写到内存。磁盘缓存:磁盘缓存其实就把常...转载 2019-06-05 17:08:15 · 223 阅读 · 0 评论 -
MySQL分库分表
1数据库架构一主多备在实际的应用中,绝大部分情况都是读远大于写。Mysql提供了读写分离的机制,所有的写操作都必须对应到Master,读操作可以在Master和Slave机器上进行,Slave与Master的结构完全一样,一个Master可以有多个Slave,甚至Slave下还可以挂Slave,通过此方式可以有效的提高DB集群的QPS.所有的写操作都是先在Master上操作,然后同步更新到S...转载 2019-05-20 16:13:38 · 223 阅读 · 0 评论 -
Redis学习笔记
一、什么是Redis?Redis 是一个使用 C 语言写成的,开源的 key-value 数据库。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都...原创 2019-09-18 11:02:38 · 252 阅读 · 0 评论
分享