面试2019
鬼灭之刃
提升自我
展开
-
1 MYSQL面试
第一弹 MYSQL中的常见问题 1 三范式 列不可分 非主键属性完全依赖于主键 [ 主键(订单ID,商品ID), 商品名] 商品名依赖于非主键商品ID,没有完全依赖于主键 不存在传递依赖 【主键(订单ID),用户ID,用户名】 用户名完全依赖于用户ID,而用户ID依赖于主键(订单ID),存在传递 2 B树和B+树的区别 B树(m叉) 最多有m颗子树 除了根节点,每个节点最少有M...原创 2019-10-02 22:50:00 · 227 阅读 · 0 评论 -
2 并发编程 面试
第1章 并发编程的三大挑战 线程的上下切换 死锁 资源限制 解决方法: 解决上下文切换 无锁并发编程 Cas 使用最少的线程 协程 避免死锁 避免一个线程同时获取多把锁 避免一个线程在锁内同时占用多个资源 尝试使用定时锁 死锁的例子: public void deadLock() { new Thread(new Runnable() { ...原创 2019-10-02 22:51:35 · 209 阅读 · 0 评论 -
海量数据
模式一:分而治之/Hash映射 + Hash统计 + 堆/快排/归并 海量的数据,找出出现频率最高的唯一一个 分而治之/Hash映射 + Hash统计+堆/快排 1. 海量日志数据,提取出某日访问百度次数最多的那个IP。 (1)hash(IP)%1000分到1000个文件中 (2)hashMap统计每个文件中IP出现的频率 (3)取出1000个文件中IP出现频率最高的IP,进行排...原创 2019-10-03 15:44:27 · 257 阅读 · 0 评论 -
ActiveMQ
1 消息队列的作用 服务之间的解耦 消息的异步传输 2 将商品添加到索引库 监听商品添加消息,接收消息,将对应的商品信息同步到索引库每次添加完商品并将同步商品到索引库如果,如果直接同步数据库,当数据库很大的时候,会影响服务器性能,这时我们,就使用ActiveMQ消息中间件,后台添加完消息后,搜索服务器发送一个消息【商品id】,并将接收到的商品id在数据库中查找跟商品id有关的信息,吧信息添加...原创 2019-10-03 18:44:33 · 210 阅读 · 0 评论 -
你真的了解商城项目吗?
1 商城项目的框架 商城项目用到的技术还是非常多的,有dubbo zookeeper MQ solr redis 等等。下面逐个剖析各个技术 2 dubbo 我们使用dubbo进行服务的管理和调用,那么dubbo具体有什么作用呢?我们使用dubbo应该注意什么问题呢? 2.1 dubbo的作用 远程接口调用 (2)智能容错和负载均衡 (3)服务的自动注册和发现 2.2 dub...原创 2019-10-03 21:20:28 · 868 阅读 · 0 评论 -
1 面试知识点
1 String Stringbuilder StringBuffer的区别? (1)String 和stringBuffer是线程安全的,而stringBuilder是线程不安全的 (2)String是不可变的,而stringbuffer和Stringbuilder是可变的 (3)三者都是final修饰的,不可被继承 (4)String是不可变的,因此,在字符串拼接的时候会创建新的对象 2 S...原创 2019-10-06 19:04:38 · 236 阅读 · 0 评论 -
jvm调优
新生代设置过小 大对象都去了老年代,老年频繁的full gc 新生代设置过大 老年代分到的堆内存过小,老年代慢 full gc 我们可以通过 -xx:newRation把新生代老年代的比例设置为3:1 存活区设置过小 直接取老年代 full gc 存活区设置过大 新生代过小,增加gc频率 -xx: SurvivorRatio设置为5:1 Xmx 和 Xms设置为老年代存活对象的3-4倍,即Fu...原创 2019-10-07 01:46:48 · 214 阅读 · 0 评论