咕噜咕噜崩
理想还是要有的
展开
-
Go面试杂记
1、有缓存和无缓冲channel区别?无缓冲:当向ch1中存值后需要其他协程取值,否则一直阻塞。【协程与协程之间直接传值】无缓冲及缓冲为0:ch := make(chan int)ch := make(chan int, 0)有缓冲:只有当通道满时,才会阻塞。2、切片的扩容机制?当容量小于1024,二倍扩容;大于1024是以1.25倍扩容;3、new和make区别?new和make都是做内存分配的!new(T)返回的是一个T类型的指针;make(T, args)仅用于创建 Sl原创 2021-09-10 17:34:05 · 152 阅读 · 0 评论 -
面试新杂记
1、 短地址开发?解决url太长问题。思路:hash将长URL转换为一定长度的URL解决hash冲突:根域名/hash网址/时间戳(时间戳:可以是a-z A-Z 0-9构成62进制的字符串)使用Rediskey-value存储短地址与长地址之间的映射使用重定向跳转到长地址短地址是永久的:301永久重定向可以减轻服务器压力短地址是临时的:302临时重定向,Redis中设置短地址有效时间2、企业级单点登录?第一次发送访问请求验证没有登录302重定向到用户中心进行登录登录成功后,产原创 2022-02-27 13:04:56 · 374 阅读 · 0 评论 -
GC垃圾回收机制
经典GC算法引用计数每个对象保存自己被引用的数量。当引用数量为 0 时,将其回收。(可以立刻回收)缺点存在循环引用无法释放问题: 多个对象互相引用延伸循环引用解决方法:强弱引用「若 A 强引用了 B,那 B 引用 A 时就需使用弱引用,当判断是否为无用对象时仅考虑强引用计数是否为 0,不关心弱引用计数的数量」根集合:栈上的引用、全局变量常量、程序的元数据等等标记-清扫(为解决上面的循环引用问题)内存到达某个阈值或者固定时间长度会执行垃圾回收程序。STW(不然mark和用户程序并发原创 2022-02-27 22:56:36 · 295 阅读 · 0 评论 -
分布式事务
分布式事务的解决方案强一致性:一、两阶段提交(2PC)引进一个事务协调者准备阶段:每个节点执行自己的任务,并返回执行结果!提交阶段:如果全部成功,则全部执行事务提交;否则全部执行事务回滚!【如果失败,则不断尝试提交或回滚!】存在的问题?同步阻塞:等所有事务执行结果后才能提交或回滚单点问题:协调者如果中途故障,则参与者可能会一直阻塞数据不一致:协调者如果中途故障二、三阶段提交(3PC)和2PC类似,只是准备阶段只是询问参与者是否可以执行事务,然后预提交阶段和提交阶段分别是执原创 2021-09-04 10:48:10 · 62 阅读 · 0 评论 -
MQ消息队列
作用RecoketMQ主题实际就是消息类型!生产者可以生产多种类型的消息,不同类型的消息放入对应的主题,一个主题可由一个或多个消费者消费!(消费者只能消费一个主题)主题中有多个队列,会将消息细分:Broker就是一个个节点!NameServer就是整个消息队列的路由器!注意:NameServer也是集群部署的!Broker启动时会将自己的信息轮询注册到每个NameServer中!客户端对Name Server的选择?先随机,失败则轮询!工作流程生产者节点获取一个Name原创 2021-09-03 21:56:03 · 265 阅读 · 0 评论 -
计算机网络面试
计算机网络层次结构(必考)OSI七层模型:TCP/IP四层模型:网络时延协议应用层常见协议传输层协议:TCP / UDP网络层协议:IP数据链路层协议:PPP:点到点协议ARP:地址解析协议(在七层模型中属于链路层 TCP/IP四层中属于网络层)数据报文格式有时间记一下TCP就行TCP报文格式首部固定20个字节,最大60个字节。UDP报文格式注意:伪首部计算完校验和后会被砍掉,不参与数据打包传输。首部8个字节IP报文格式首部固定20个字节,最大60个字节。原创 2021-07-16 23:19:48 · 2149 阅读 · 11 评论 -
Redis面试常考
什么是Redis高性能非关系型(NoSQL)的键值对数据库。优缺点优点读写性能优异, 因为数据是存在内存中的。支持数据持久化,支持AOF和RDB两种持久化方式。支持事务,Redis的所有操作都是原子性的,同时Redis还支持对几个操作合并后的原子性执行。(单线程+多路复用IO)数据结构丰富,除了支持string类型的value外还支持hash、set、zset、list等数据结构。支持主从复制,主机会自动将数据同步到从机,可以进行读写分离。缺点数据库容量受到物理内存的限制,主要局限原创 2021-07-16 12:45:54 · 244 阅读 · 6 评论 -
操作系统面试知识点
CPU/寄存器/内存CPU读取数据过程(写过程类似)内核将想要访问的数据的虚拟地址交给寄存器的,内存管理单元(MMU)内存管理单元(MMU) 将 虚拟地址转换为真实的物理地址(内存中的地址)通过地址总线到达内存中的目标数据内存中的目标数据返回给数据总线最终数据到达寄存器的缓存中注意点:内核想要一个数据会交给MMU地址转换,然后先去缓存中找(缓存命中率就是指从缓存中找到数据的概率,一级缓存命中率最高,然后递减),找不到才会去内存中拿数据包括数据和指令(指令就是一行代码)缓存的数据是目原创 2021-07-14 17:05:02 · 628 阅读 · 1 评论 -
MySQL数据库面试
存储引擎有哪些那说一下InnoDB和MyISAMMySQL索引索引缺点额外磁盘空间维护索引的资源消耗索引的分类InnoDB不支持全文索引InnoDB:主键、普通、唯一、复合主键、唯一在建表时出现关键字primary key 和 unique 会自动创建唯一索引实际可以有多个null索引数据结构所有的数据都存储在主键B+树的叶子节点中 面试直接这样说就可以(实质存的是数据的物理地址)InnoDB优化 将B+树的根节点常驻内存(所以查询索引根节点 不用动用IO)将原创 2021-07-14 10:46:48 · 419 阅读 · 1 评论 -
java系面试杂记
HashMap懒加载:第一次put时才回去创建链表转换为红黑树的条件:散列表数组长度达到64【如果没有达到,链表元素到达8时只会进行扩容】链表长度达到8Node节点中有个hash字段,这个hash字段值不是key的...原创 2021-07-17 10:58:18 · 145 阅读 · 0 评论