丰巢面试review

面试职位:java中高级工程师

面试结果:一面被刷

面试问题:

一 缓存技术:

1.redis的持久化

2.redis的有点和原理

3.redis和memecahe对比

4.redis的主从同步机制

二数据库技术

1.mysql数据库的索引,B树和B+树的原理,索引的生效机制

2.连表查询为什么慢

3.mysql主从binlog同步的机制和原理

4.数据库的优化:

sql的优化:1)应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。

2)应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:

select id from t where num is null

可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:

select id from t where num=0

3)很多时候用 exists 代替 in 是一个好的选择

4)用Where子句替换HAVING 子句 因为HAVING 只会在检索出所有记录之后才对结果集进行过滤

索引优化:

数据库结构优化:

硬件优化:

三技术架构

1.ddd的原理和其他模型的对比

2.敏捷开发的实际应用

3.如何实现高可用,具体措施

4.服务监控的指标和方式方法

5.一致性哈希算法:哈希环,最近距离算法,详细百度去查

6.事务

事务的ACID特性(原子性,一致性,隔离性,持久性),事务的隔离级别:1.未授权读,2授权读3.可重复读4.串行化

分布式事务CAP定理:一个系统不能同时满足一致性/可用性

BASE理论:1基本可用2、弱状态 3.最终一致性

四 RPC技术

1.什么事RPC技术,原理是什么?

2.dubbo的原理,消息订阅机制

3.RPC和restfullapi的区别和对比

4.dubbo的负载均衡策略,降级机制

五基础

0.java中的synchronized和volatile关键字含义?

1.HashMap的实现原理,自动扩容机制?currentHashMap的实现原理?并发安全的问题?

实现原理:链表

如何自动扩容:

HashMap 内部的 Node 数组默认的大小是16,假设有100万个元素,那么最好的情况下每个 hash 桶里都有62500个元素😱,这时get(),put(),remove()等方法效率都会降低。为了解决这个问题,HashMap 提供了自动扩容机制,当元素个数达到数组大小loadFactor 后会扩大数组的大小,在默认情况下,数组大小为16,loadFactor 为0.75,也就是说当 HashMap 中的元素超过16\0.75=12时,会把数组大小扩展为2*16=32,并且重新计算每个元素在新数组中的位置

如何处理冲突:

通过链地址法解决冲突,它们使用单向链表来存储相同索引值的元素。在最坏的情况下,这种方式会将HashMap的get方法的性能从O(1)降低到O(n)。为了解决在频繁冲突时hashmap性能降低的问题,Java 8中使用平衡树来替代链表存储冲突的元素。这意味着我们可以将最坏情况下的性能从O(n)提高到O(logn)。

如何安全的使用HashMap:可以使用hashtable,但是因为是使用synchronized保证线程的安全,如果面临线程激烈竞争的话,多个线程同时访问同步方法,会进入阻塞或者轮询状态,导致效率低下。

currnetHashmap使用了锁分段技术,所以可以有效提高并发访问效率(jdk8引入了cas算法实现)。

为什么hashmap不是线程安全的:HashMap 在并发执行 put 操作时会引起死循环,导致 CPU 利用率接近100%。因为多线程会导致 HashMap 的 Node 链表形成环形数据结构,一旦形成环形数据结构,Node 的 next 节点永远不为空,就会在获取 Node 时产生死循环。

2.双亲委派模型是怎么回事?如果一个类被两个加载器加载,是不是同一个?

这个问题涉及到类的加载机制,首先要说到类的生命周期 加载,连接(验证,准备,解析),初始化,使用,卸载。加载,连接和初始化都是运行期间执行的,解析可能在初始化之后进行。

每一个类加载器都有一个独立的命名空间,即使两个类来源于同一个class文件,同一个虚拟机加载,只要加载他们的类加载器不同,那这两个类也必定不相等。

双亲委派模型(自定义类加载器-》应用程序加载器-〉扩展类加载器-》启动类加载器),工作过程:如果一个类加载器收到类加载的请求,首先不会自己去尝试加载这个类,而是把请求委派给父类加载器去完成,每个层次的类加载器都是如此,最终都应该传送到顶层的启动类加载器中,只有当父加载器反馈不能完成这个加载请求,就是说搜索范围之内没有找到所需的类的时候,子加载器才会尝试自己去加载。

3.jvm的内存模型

4.jvm的GC机制

GC算法:标记清除算法,复制算法,标记整理算法

5.java的几种锁,什么是重入锁?

重量锁,轻量锁,自旋锁,重入锁

这个目前还没办法迅速解答,坑

6.jvm的常用命令和图形化工具使用

六linux操作

1.more和less的区别

less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

2.git的merge和rebase的区别

merge操作会生成一个新的节点,之前的提交分开显示。而rebase操作不会生成新的节点,是将两个分支融合成一个线性的提交,

想要更好的提交树,使用rebase操作会更好一点。这样可以线性的看到每一次提交,并且没有增加提交节点。

3.maven的重复依赖问题

按照最短路径生效

七/其他

1.最近的工作成长在哪里?

2.你觉得你的长处在哪?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335

推荐阅读更多精彩内容

  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,137评论 11 349
  • Java8张图 11、字符串不变性 12、equals()方法、hashCode()方法的区别 13、...
    Miley_MOJIE阅读 3,681评论 0 11
  • 1. 丸子这几天上班心不在焉,动不动就拿着手机笑了起来。 我知道肯定有情况,只是她不说我也不问,反正她是那种藏不住...
    贰鹫阅读 157评论 0 1
  • 不纠结穿衣搭配,早上起床可以很快解决 快速解决化妆的问题,简单的底妆用了2-3分钟 看三公子的微信公众号,了解了一...
    MissEva疯阅读 98评论 0 0
  • 「1」 如果是平时正常那会,我打完这句话就关上页面刷微博去了,可今天我突然想尝试一下...
    陆将阅读 203评论 0 0