当前位置: 首页 > 面试经验 >

比心Java一面 30min oc

优质
小牛编辑
88浏览
2023-08-11

比心Java一面 30min oc

  • 自我介绍
  • 介绍下你理解的DDD
  • MySQL的索引为什么要用b+ tree,有什么好处
  • MySQL的字段为什么要限制长度,如果不限制会怎么样
  • 产生四锁的条件是什么,怎么打破?(嘿嘿,之前手撕过四种方式打破死锁)
  • Java并发编程你怎么理解,什么时候会出现并发问题
  • synchronized和ReentrantLock的区别
  • 他们分别怎么用一把锁锁住全局(这个问题没懂,没答出来)
  • 再来个系统设计题:我们要给用户发短信链接,因为短信是按字符收费,所以我们要让链接尽可能短,现在要你设计一个接口,给你一个很长的链接,返回一个短链接(固定的域名什么的不算,要求后面固定长度为6的字符),我们系统会高并发调用这个接口,入参长链接返回短链接,你会怎么设计。(我秒答hash映射?)
  • 他说不行6位数这么短可能会冲突,怎么办?(我说:那用时间戳?)
  • 他也说不行,就6位海量数据轮转回来,可能也会重复(想了快1分钟,直接用id生成器生成不重复的,自增什么的都可以,id是包含英文和数字这样可以多点,提前生产好到缓存,然后请求来就取一个,用redis的key和value把长和短的映射,再起个task去落盘,可以采取那种类似滑动窗口的概念用的多少就生成多少,或者每次用了就从缓存删掉,有个task专门去生成id)

-----反问-----

  • 我有什么要提高的(他说我答的挺好,这个系统设计题思路没问题,他说面了这么多,没几个应届生答上来,总体没有什么短板,挺好的)
  • 一共几面(2技术、1HR)

总结:(系统设计好像满足:能抗住高并发、输入一个长字符串转化为一个短的字符、长字符串映射成短的然后返回,后面用这个长字符串都返这个短的就行,实现方法应该很多感觉)感觉不是很难,希望二面能上点强度,约的下周三 二面

#java面经##实习面经##软件开发2023笔面经##找实习多的是你不知道的事#
 类似资料: