亮面
betterwtl
From Zero to Hero!!!
展开
-
每天一个面经系列--面经002:两道多线程编程汇总(ReentrantLock()方法)
交替打印奇偶数(前100个)设置初值start对flag的写入虽然加锁保证了线程安全,但是读取的时候,由于不是volatile类型可能会读到旧值使用重入锁ReentrantLockimport java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/** * 两个线程...原创 2019-04-26 09:55:30 · 196 阅读 · 0 评论 -
每天一个面经系列--面经21:手写一个LRU算法
面试官:手写一个LRU算法我看看。答:不求自己纯手工从底层开始打造自己得LRU,但是起码要知道如何利用已有得JDK数据结构实现一个Java版的LRU。思想:使用LinkedHashMap,一个有序的HashMap。import java.util.LinkedHashMap;import java.util.Map;public class LRUCache<K, V&g...原创 2019-05-30 08:53:34 · 2086 阅读 · 1 评论 -
每天一个面经系列--面经22:从一个日志文件中根据关键字读取日志,记录出现的次数,最后按照次数排序打印
从一个日志文件中根据关键字读取日志,记录出现的次数,最后按照次数排序打印后期完善。参考博客:https://blog.csdn.net/abysscarry/article/details/80891128...转载 2019-05-30 13:43:58 · 837 阅读 · 0 评论 -
每天一个面经系列--面经16:LRU算法
缓存相关知识命中率:当某个请求能够通过访问缓存而得到响应时,称为缓存命中。缓存命中率越高,缓存的利用率也就越高。最大空间:缓存通常位于内存中,内存的空间通常比磁盘空间小的多,因此缓存的最大空间不可能非常大。当缓存存放的数据量超过最大空间时,就需要淘汰部分数据来存放新到达的数据。淘汰策略:FIFO(First In First Out):先进先出策略,在实时性的场景下,需要经...原创 2019-05-18 18:27:29 · 191 阅读 · 0 评论 -
每天一个面经系列--面经23:动态规划
参考博客:https://blog.csdn.net/u013309870/article/details/75193592转载 2019-05-31 09:17:34 · 134 阅读 · 0 评论 -
每天一个面经系列--面经26:HashMap详解
详见博客:https://zhuanlan.zhihu.com/p/21673805转载 2019-06-09 15:46:32 · 282 阅读 · 0 评论 -
每天一个面经系列--面经27:小米Java一面
待完善详述线程池构造方法有哪些各有什么用、ctl、allowCoreThreadTimeOut变量的作用,初始化阶段、大量提交任务阶段、执行完所有任务阶段这写过程。(addWorker过程和其它部分回答得不错 runWorker getTask的一些细节回答的不好。) HashMap数据结构,resize过程,如果多线程去操作会出现哪些问题,1.7和1.8有什么变化,既然提到了红黑树那么来聊...原创 2019-06-10 09:55:56 · 734 阅读 · 0 评论 -
每天一个面经系列--面经28:手撕代码--字符串相关
将字符串转换成字符数组char[] chars = str.toCharArray();//遍历for(char ch : chars) { //do something}String与int之间的转换//字符串转为数字(字符串必须为全数字)String str = "12";int num = Integer.valueOf(str);//这一步也涉及到装箱拆...原创 2019-06-10 13:49:36 · 176 阅读 · 0 评论 -
每天一个面经系列--面经24:操作系统之用户态和内核态
面试官:说说用户态和内核态。答:在计算机系统中,通常运行着两类程序:系统程序和应用程序。内核态:系统程序在内核态运行。该状态下,CPU可以访问内存的所有数据,包括外围设备,例如硬盘、网卡等。用户态:应用程序只在用户态运行。该状态下只能受限的访问内存且不允许访问外设,占用CPU的能力被剥夺,导致CPU资源可以被其他程序获得。具体参见:https://www.cnblogs.co...原创 2019-06-04 09:43:27 · 367 阅读 · 0 评论 -
每天一个面经系列--面经25:笔试总结一(vivo2017提前批)
答案:5,6,7x = 32;x<<2;求x的值。 转义字符的考察。 DAO接口和对象设计最常用的设计模式是:A.Proxy B.Factory C.Prototype D.Observer 关于哈夫曼编码,错误的说法是:A.最优的 B.唯一的 C.可变长编码 D.可用于数据压缩算法 存储速度最快的是:A.内存 B.高速缓存 C.磁芯存储器...原创 2019-06-04 10:58:30 · 304 阅读 · 0 评论 -
每天一个面经系列--面经29:Spring相关
概念性:转载博客:https://www.cnblogs.com/superjt/p/4275462.html转载 2019-06-16 09:26:00 · 153 阅读 · 0 评论 -
每天一个面经系列--面经31:面试官问我看过哪些源码
1、你看过哪些源码吗?集合类、JUC、String、StringBuffer、StringBuilder、Spring2、那你能讲讲HashMap的实现原理吗?相关好博客:https://segmentfault.com/a/1190000012926722https://zhuanlan.zhihu.com/p/216738053、HashMap什么时候会进行rehash...原创 2019-06-27 09:45:52 · 1040 阅读 · 0 评论 -
每天一个面经系列--面经32:二叉查找树、平衡二叉树以及红黑树
转载地址:https://mp.weixin.qq.com/s?__biz=MzI4Njg5MDA5NA==&mid=2247485353&idx=1&sn=308d99460bf7e43440efd93cfb824c23&chksm=ebd746a8dca0cfbe2aef32eb74db0a53932b316bbfa25ab45ce25e9bf8e1fb81a4...转载 2019-06-27 09:53:57 · 290 阅读 · 0 评论 -
每天一个面经系列--面经33:面试官问我I/O多路复用
Redis就是基于I/O多路复用的。正文转载:https://mp.weixin.qq.com/s?__biz=MzI4Njg5MDA5NA==&mid=2247485351&idx=1&sn=81cdc2220a1a6f402fbbcf45b867365f&chksm=ebd746a6dca0cfb0d62d23fb7cfeb446caed776f6792d9...转载 2019-06-27 15:20:41 · 734 阅读 · 0 评论 -
每天一个面经系列--面经34:面试官问我一个 TCP 连接可以发多少个 HTTP 请求
转载地址:https://mp.weixin.qq.com/s?__biz=MzIwMzY1OTU1NQ==&mid=2247486325&idx=1&sn=1dd32634cc92402934e85a43691c1011&chksm=96cd4b39a1bac22f6fee0580ee5b004de13c2c905cf2900615e5975cbb78ff1c12...转载 2019-06-27 15:22:19 · 267 阅读 · 0 评论 -
每天一个面经系列--面经35:面试官问我你为什么要去看源码
就我个人而言看代码有两个好处:第一点:更好的解决问题只要是人写的代码,就可能存在bug,别人的开源代码也一样,通过阅读源代码可以更好的定位和解决问题。第二点:更深入的去学习比如我们看JDK的源码,其中会有很多关于性能优化、防并发的例子,还有很多地方用了设计模式、各种数学知识,这些都是很好的可以用来学习的代码。对于初学者来说,很多代码格式、命名等都是需要学习的,最好的办法就是通过开源...原创 2019-06-27 15:37:52 · 530 阅读 · 0 评论 -
每天一个面经系列--面经30:谈谈Spring中都用到了那些设计模式
转载地址:https://mp.weixin.qq.com/s?__biz=MzI4Njg5MDA5NA==&mid=2247485324&idx=1&sn=c1ee95e48a9554e5e02314e1563d2137&chksm=ebd7468ddca0cf9ba59f0196031b1c2842a4b1affd38d20519c481dc2bee3318d6...转载 2019-06-24 19:18:57 · 235 阅读 · 0 评论 -
简历书写注意事项
不用花模板,简洁明了即可,尽量一页纸内 基本信息不能少,姓名、电话、邮件、本硕教育背景和时间、专业 经历顺序:建议实习经历 > 项目经历 > 在校经历,且把时间最近或和求职岗位最匹配的经历放在前面 经历描述:职责细化,产出量化;匹配的经历详写,不相关的经历略写或不写 (如,投技术岗,校内学生会等经历可写,但建议略写;之前有销售实习,可直接不写,着重写咱们对应的经历即可) 导成p...原创 2019-07-11 21:39:21 · 332 阅读 · 0 评论 -
每天一个面经系列--面经19:推荐系统设计
【设计题】今日头条会根据用户的浏览行为、内容偏好等信息,为每个用户抽象出一个标签化的用户画像,用于内容推荐。用户画像的存储、高并发访问,是推荐系统的重要环节之一。现在请你给出一个用户画像存储、访问方案,设计的时候请考虑一下几个方面: 用户画像如何存储; 如何保证在线高并发、低延迟地访问; 机器宕机、负载均衡问题; 如果用户增长很快,在你的方案下,该如何做扩容。...转载 2019-05-22 18:56:44 · 561 阅读 · 0 评论 -
每天一个面经系列--面经12:Java8新特性
面试官:说一下Java8的新特性目录一 Lambda表达式与函数式接口二 接口的默认方法与静态方法三 方法引用四 重复注释五 扩展注解的支持六 Stream七 Optional类八 Date/Time API九 Nashorn JavaScript引擎十 Base64回答如下:一 Lambda表达式与函数式接口Lambd...原创 2019-05-13 14:46:34 · 248 阅读 · 0 评论 -
每天一个面经系列--面经007:实验室同学鹅厂二面摘选
Redis一我看你用了redis,那你知道redis是共享内存还是进程内存进程内存二为什么?三 那你说一下redis的数据结构吧MySQL一 你用什么数据库。二 那现在给你一个联合索引ab,有三个条件where a = ? 、 where b=? 、where a = ? and b = ?。哪个用了索引哪个没用。三 那你...原创 2019-05-03 08:47:08 · 221 阅读 · 0 评论 -
每天一个面经系列--面经003:浏览器输入一个网址后的全过程
当你在浏览器输入一个网址,如http://www.taobao.com,按回车之后发生了什么?请从技术的角度描述,如浏览器、网络(UDP、TCP、HTTP等),以及服务器等各种参与对象上由此引发的一系列活动,请尽可能的涉及到所有的关键技术点。总体来说分为以下几个过程:DNS解析 客户端与服务器建立TCP连接(三次握手) 浏览器发送HTTP请求 服务器处理请求并返回HTTP报文 浏...原创 2019-04-28 19:47:42 · 350 阅读 · 0 评论 -
每天一个面经系列--面经001:阿里实习面经(现场面)
一面面试官拿着简历先大概看了一下,然后让我自我介绍,我介绍完,他就把简历放在我的右手边。(这个细节标志着:开始进入疯狂你问我答模式啦)1. ArrayList 与 LinkedList 的区别 。答:我说一个类似数组 一个类似链表。问:那你画一下数组怎么在内存中存储的 ?问:ArrayList 可以根据下标查找, 那LinkedList可以吗?问:ArrayList 初...原创 2019-04-28 10:01:44 · 311 阅读 · 0 评论 -
每天一个面经系列--面经004:十亿个整数,找出中位数(待完善...)
一 当内存足够时1. 普通情况下采用快排,找到第n大的数。过程如下:随机选取一个数,将比它小的元素放到它的左边,比它大的元素放在右边; 如果它恰好在中位数的位置,那么它就是中位数,直接返回; 如果小于它的数超过一半,那么中位数一定在左半边,递归到左边处理(还是第几大); 否则中位数一定在右半边,根据左半边的元素个数计算出中位数是右边的第几大(重新计算第几大),然后递归到右半边...原创 2019-05-01 10:09:52 · 1151 阅读 · 0 评论 -
每天一个面经系列--面经005:分布式一致性问题(待完善...)
目录一 什么是分布式一致性二 分布式一致性分为哪些类型三 分布式系统达到一致性后将会是一个什么样的状态四 如果失去了一致性约束,分布式系统是否还可以依赖五 如果一味地追求一致性,对系统的整体架构和性能又有多大影响一 什么是分布式一致性二 分布式一致性分为哪些类型三 分布式系统达到一致性后将会是一个什么样的状态四 如果失去了一致...原创 2019-05-01 10:10:37 · 249 阅读 · 1 评论 -
每天一个面经系列--面经10: Redis执行效率高的原因
面试官:请你说一下Redis执行效率高的原因参考博客:https://blog.csdn.net/chenyao1994/article/details/79491337转载 2019-05-08 10:21:52 · 170 阅读 · 0 评论 -
每天一个面经系列--面经13:Egg Puzzle 鸡蛋难题
详见:文字版 视频版转载 2019-05-13 19:11:42 · 155 阅读 · 0 评论 -
每天一个面经系列--面经006:一条SQL语句执行得很慢的原因有哪些?
这个问题可以涉及到MySQL的很多核心知识,其涵盖知识面不亚于“输入URL回车之后,究竟发生了什么,看看你能说出多少了。”一大多数情况是正常的,只是偶尔会出现很慢的情况。一条SQL大多数情况正常,偶尔才能出现很慢的情况,针对这种情况,我觉得这条SQL语句的书写本身是没什么问题的,而是其他原因导致的,那会是什么原因呢?数据库在刷新脏页,例如redolog写满了需要同步到...原创 2019-05-01 11:09:47 · 184 阅读 · 0 评论 -
每天一个面经系列--面经008:一条SQL语句的执行过程
如图所示(针对MySQL8.0之前的版本)一条SQL语句在客户端通过通信协议发送到服务端; 查询缓存,若缓存命中则返回结果,否则执行下一步; 进入分析器进行分析; 进入查询优化器将其设置为一个执行计划; 执行计划进入执行器,查询执行引擎; 最后API接口查询,将查询结果返回客户端。SQL语句分类数据定义语言(DDL):表结构修改 数据查询语言(DQL):select操作...原创 2019-05-06 16:37:34 · 178 阅读 · 0 评论 -
每天一个面经系列--面经14:算法技巧总结一
巧用数组下标数组的下标是一个隐含的很有用的数组,特别是在统计一些数字,或者判断一些整型数是否出现过的时候。例如,给你一串字母,让你判断这些字母出现的次数时,我们就可以把这些字母作为下标,在遍历的时候,如果字母a遍历到,则arr[a]就可以加1了,即 arr[a]++;剑指Offer例题请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第...原创 2019-05-14 10:07:04 · 214 阅读 · 0 评论 -
每天一个面经系列--面经17:位运算的使用
1. 判断奇偶数2. 交换两个数3. 找出没有重复的数4. 3的n次方5. 找出不大于N的最大的2的幂指数参考博客:https://juejin.im/post/5cdce78d5188250d8b2df3a7#heading-4...原创 2019-05-19 09:26:13 · 114 阅读 · 0 评论 -
每天一个面经系列--面经11:有指导意义的面试总结
原文链接:转载自肥朝的公众号转载 2019-05-09 22:13:13 · 155 阅读 · 0 评论 -
每天一个面经系列--面经009:ReentrantLock实现原理
一 ReentrantLock(重入锁)实现原理详见参考博客:https://crossoverjie.top/JCSprout/#/thread/ReentrantLock1. Lock接口锁是用来控制多个线程访问共享资源的方式。Lock接口提供的synchronized关键字不具备的主要特性Lock接口提供的synchronized关键字不具备的主要特性 ...原创 2019-05-07 14:56:45 · 178 阅读 · 0 评论 -
每天一个面经系列--面经15:二叉树相关编程(Java)
二叉树相关的编程题目普遍可以用递归和迭代的方法求解,这与它的数据结构息息相关。目录定义二叉树的数据结构1. 求二叉树的最大深度2. 求二叉树的最小深度3.求二叉树中节点的个数4.求二叉树中叶子节点的个数5. 求二叉树中第k层节点的个数6. 判断二叉树是否是平衡二叉树7. 判断二叉树是否是完全二叉树8. 两个二叉树是否完全相同9. 两...原创 2019-05-15 09:24:24 · 190 阅读 · 0 评论 -
每天一个面经系列--面经18:select和epoll的区别
参考博客:https://blog.csdn.net/davidsguo008/article/details/73556811https://www.jianshu.com/p/1b4b3c738d8c转载 2019-05-21 20:04:21 · 160 阅读 · 0 评论 -
每天一个面经系列--面经20:面试手撕代码三选二
两个线程分别打印26个英文字母的元音(a, e, i, o, u)和辅音(其他),按字母序输出。 一条N个格子组成的直线道路,每次可以前进1格或2格;设计算法计算有多少种方式走到终点? 实现一个能够生产不同类型手机(Android、iPhone)的工厂,考虑未来可能的扩展第一题并发相关。第二题算法相关:斐波那契数列。第一步:找出规律public class Solution...原创 2019-05-25 21:56:47 · 1249 阅读 · 0 评论 -
笔试:Java输入标准模板
import java.util.*;import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System...原创 2019-06-29 09:52:18 · 906 阅读 · 0 评论