![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
艰难求职之路
文章平均质量分 62
骚小孩呀
这个作者很懒,什么都没留下…
展开
-
记录一次迄今为止遇到难度超高的面试
面的是阿里高可用架构部。本着初生牛犊不怕虎的心态去冲的,因为是下午2个面试,显示腾讯面了一个小时,然后又是阿里架构面试,深深感受到了面试难度的区分。在面腾讯的时候,那个老哥可能不是java,所以问的数据库啊,计算机网络,redis,操作系统,linux等这些比较多。但是说到一个点以后没有深入挖掘。但是面到阿里架构的时候,感受到了你要为你说的话负责。因为你说的每一个名词都会在后边等着你去...原创 2020-03-11 22:59:05 · 266 阅读 · 4 评论 -
一些海量数据排序算法问题总结
1.给2000千万高考学生排序,要求要能根据分数找到该学生的排名?千万别被2000千万这个数字唬住,理性的看一下题,“高考”这个词不知道你注意到了没?这是一个隐藏条件。你高考考了多少分?总分多少?可能有的小伙伴已经反应过来了。高考700分,那我们开一个700大小的数组,记录每个分数的的个数就可以了。对,就是使用桶排序的算法,来进行排。这一类题他虽然样子很吓人,但是仔细 发现他的范围...原创 2020-03-07 21:01:08 · 964 阅读 · 1 评论 -
秒杀项目的思考
我再刷面经的时候看到好多对于秒杀系统的问题,自己就捣鼓了一个。思路图我们就从最差的情况一步一步解决。1.数据库直接被穿?当我们秒杀系统的数据库被打穿以后,我们一定不要影响到其他系统。将秒杀系统数据库独立出来。不然你的业务不仅不行,还把其他人搞砸了,你要被祭天了。2.我们怎么防止我们数据库被打穿?数据库扛不住,就用它兄弟redis来抗,一个扛不住,咱们就加集群,加主从...原创 2020-03-03 22:43:20 · 315 阅读 · 1 评论 -
与面试官怼项目过程中的思考
我写的一个项目用到了支付,然后面试官照着支付这块开始了一轮攻击。大概支付流程流程:这个系统没有往死了打,就问了几个小问题。1.如果在异步回调判断结果落库过程中因为网络抖动落库失败怎么办?我回答的是如果我落库失败的话,就把该订单放入本地缓存(可以用ConcurrentHashMap),然后通过定时任务把缓存的数据写回数据库。2.如果在这时候用户重复提交咋办?我第一反应居然...原创 2020-03-03 20:36:47 · 286 阅读 · 0 评论 -
11.AQS及相关实现类
AQSAQS是一款抽象的队列式同步器,他定义了一套多线程访问共享资源的同步框架。当请求得资源空闲那么他将当前请求资源设置为有效的工作线程,并将共享变量设置为锁定状态,如果请求的资源锁定,那么就进入CLH阻塞队列中。AQS定义两种资源共享方式:Exclusve(独占,只有一个线程执行,如Reentrantlock)和Share(共享,多个线程同时执行,Semaphore/CountD...原创 2020-02-13 00:18:10 · 491 阅读 · 1 评论 -
10.IO模型
BIO模型:bio是一种阻塞式同步模型,主要是采用同步阻塞模型+线程池的模式,并发量并不是很高,比如像tomcat就是采用的bio模型,并发量小于1000.因为像socket的accept(),write(),read()这些都是阻塞的。比如read()方法,当receBuffer里没有数据,那么函数就会一直阻塞,直到收到数据为止。如果是单线程的话,对于一些多核cpu得不到很...原创 2020-02-11 00:40:34 · 223 阅读 · 0 评论 -
9.Redis篇
Redis支持的数据类型?字符串 格式:set key value value可以包含任何数据,一个key最大512MB 哈希 格式:hmset key fileld value key2 value 一个String的filed和一个value映射,适合存储对象 List列表 格式lpush key value value 字符串列表,可以往列表的左边或者右边添加 set集合 Stri...原创 2020-02-09 20:55:36 · 154 阅读 · 0 评论 -
8.框架篇(ssm)
其实java并发的东西还没整理完,昨天只是整理了一小部分,juc下面所有的东西都是重点。今天又接到了几家公司的面试邀请,所以打算,先把广度扩出来,然后再细细深挖。Spring 的优点?1.spring属于低耦合,代码污染度低。2.spring种的di机制将对象之间的依赖关系交给框架处理 ,减少组件的耦合度。3.spring提供了aop技术,支持一些通用技术,比如安全,事务,日志,权...原创 2020-02-08 22:24:57 · 396 阅读 · 0 评论 -
7.并发编程
1.线程和进程的关系?一个进程可以有多个线程,但必须有一个线程,一个线程只能在一个进程的范围内活动。2.并发和并行的区别?并发是指有公共资源的争夺,并行是没有公共资源的争夺。3.实现多线程的方式? 1>.继承Thred类,重写run接口。 2>.实现Runnable接口,实现run方法。 3>.通过Callable接口,...原创 2020-02-07 19:23:44 · 212 阅读 · 0 评论 -
6.计算机网络篇
其实应该写java并发编程了,但是那个1天还真总结不完,所以先整理一个少点(并不是说内容少,只是相对考点少)的。图太大,限制5M没法传了。直接以问答的形式说一些经常问到的题把。1.TCP三次握手及过程?2.TCP四次挥手过程?各种标识位: 序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生...原创 2020-02-07 12:50:28 · 203 阅读 · 0 评论 -
5.mysql篇
我上课学过一遍mysql,然后自己看视频学了一遍“mysql进阶”然后自己瞎研究了一段时间mysql,也写了一个专栏https://blog.csdn.net/huaixiaohai_1/category_9294028.html但是发现自己只是停用在使用mysql的层面上,知识能使用各种sql语句,有的地方可能明白原理,但是知识很模糊的那种,只要往深一问的话,就一脸懵逼。在准备这部分...原创 2020-02-05 21:03:42 · 294 阅读 · 0 评论 -
4.java基础
反射是在运行状态中,对于任意的一个类,都能够知道这个类的所有属性和方法,对任意一个对象都能够通过反射机制调用一个类的任意方法,这种动态获取类信息及动态调用类对象方法的功能称为java的反射机制。我觉得上边那些话很不好理解,也不够清除,还是刨刨祖坟包。在对象的创建过程中,要经历如下几步:创建对象的时候首先会去先加载类信息进常量池。这样我们以后使用该类信息都可以直接从常量池中读取。...原创 2020-02-04 21:25:17 · 216 阅读 · 0 评论 -
3.java中的数据结构
java中关于数据结构的工具类,暂时就这么称呼吧,其实也贼拉多,害看图包上面的图肯定时不全,知识一些常用的。简单看一下上面列举出来的“工具类”的源码和一些常见的面试问题:List接口中的“工具类”,是一个有序集合,可以重复。ArrayList:底层使用数组实现的,数据是有序数据(插入的顺序),具有索引查找比较快,线程不安全。属性: //默认容量 private sta...原创 2020-02-04 15:48:21 · 182 阅读 · 0 评论 -
2.数据结构篇二
之前说到了二叉树的遍历,下面继续:满二叉树: 二叉树每一层的节点都达到了最大,其实就是这棵树是满着的。第n层有2的(n-1)次方个节点,前n层共2的n次方-1个节点。完全二叉树:若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。网上找了2个图片:(左:满二叉树 右:完全二叉树)最优...原创 2020-02-04 11:13:28 · 185 阅读 · 0 评论 -
1.数据结构篇一
说多了也没用,先上一个脑图吧。害,啥也不说了,怎么这么多包,还可能有好多东西没整上,学计算机可真是累死个人奥。下边一个一个整。顺序表实现:public class ListDemo { private final int MAXSIZE = 100; private Object data[]; int last; int defaultLength = 20; p...原创 2020-02-02 23:16:06 · 160 阅读 · 0 评论 -
艰难求职之路
寒假在家带着自己快要废了,然后今天和我涛哥通了个电话,让我在重新整理整理简历,忽然感觉简历上写的知识点好陌生,感觉这样下去就要废了,所以决定从头再来一遍,把知识点在建一个专栏重新串一遍。奥里给,冲冲冲!!!下面是知识点列表(不包括rpc)熟悉数据结构中常用表结构,树结构及其常用操作方法的编写。 熟悉java集合中常用集合如HashMap,Set,List,ConcurrentHashMa...原创 2020-02-02 19:56:46 · 285 阅读 · 2 评论