快手Java开发面经(2技术面)
如果你要做一件事,请不要炫耀,也不要宣扬,只管安安静静的去做。因为那是你自己的事,别人不知道你的情况,也不可能帮你去实现。千万不要因为虚荣心而炫耀。也不要因为别人的一句评价而放弃自己的梦想。值不值,时间是最好的证明。
8月30号快手一面
大概70min
1.自我介绍
2.你的实习经历挺丰富的,介绍一个你最熟悉的项目吧balabala,讨论了很久项目问题
3.Mysql的索引有哪些?答B+�和自适应哈希索引
4.说说B+树和B树的区别,优缺点等?
5.mysql默认存储引擎?MyISAM、InnoDB、MEMORY的区别
6.ACID?
7.事务隔离级别有什么?通过什么来实现的?分别解决了什么问题?
8.Redis和mysql区别是什么?有哪些持久化方式?区别呢?
9.Redis如何实现集群和高可用?redis分布式锁的加锁解锁详细实现?
10.Java中的锁有什么?synchronized与Lock的区别?公平锁和非公平底层怎么实现的?AQS原理详细介绍一下?
11.怎么实现一个线程安全的计数器?用AQS,balabala。。
12.原子类AtomicInteger实现原理是什么?和你设计的计数器优劣比较?CAS怎么实现原子操作的?
13.说一下GC吧,什么时候进行Full GC呢?
14.你了解哪些收集器?CMS和G1。详细谈谈G1的优点
15.算法题,对一个链表进行归并排序,链表可能有环
9月6号二面
1.大概60min老套路,自我介绍,你对快手的了解,和抖音的区别,聊项目
2.项目中用到dubbo?那你说说什么是rpc框架?和http调用的区别是什么?
3.dubbo的生产者如何发布服务,注册服务,消费者如何调用服务?
4.dubbo的集群容错机制?提到了Directory、Router、Loadbalance等类。
5.dubbo负载均衡的策略有哪些?一致性哈希详细聊一下?
6.dubbo如果一个服务宕机会发生什么?如果注册中心挂掉了,系统还能正常运行吗?
7.Redis有哪些数据结构?底层的编码有哪些?有序链表采用了哪些不同的编码?
8.Kafka怎么保证数据可靠性?讲了生产者端发送消息到broker持久化,分区和副本机制,消费者消费消息的at-least-once和at-most-once?怎么实现Exactly-Once?
9.线程池有哪些参数?分别有什么用?如果任务数超过的核心线程数,会发生什么?阻塞队列大小是多少?
10.ScheduledThreadPoolExecutor中的使用的是什么队列?内部如何实现任务排序的?
11.谈一谈ArrayList?如何添加元素的?删除元素后会自动缩小空间吗?
12.已经有一个查询好友的接口,设计一个微信朋友圈,可以实现发表朋友圈,添加评论,查看评论等功能。主要是设计数据结构
13.算法题,不调用库函数,求double的开方?刚开始说用遍历,后来提示以后改用二分,面试官想要的解答应该是用牛顿迭代法。
14.算法题,将String转成double,不能调用库函数,且输入的String可能非法,需要考虑各种异常输入情况?
点击作者姓名与作者大佬交流~
作者:JacobGo!
来源:牛客网(www.nowcoder.com)
- 互联网名企笔试真题
- 校招求职笔经&面经
- 程序员/产品/运营求职实习信息
- 程序员/产品/运营学习交流社区