爱奇艺二面

1. 介绍
2. 短链怎么设计呢?(我先说hash然后取固定位数,提示说可以简单一些递增id转62进制)
3. 写一个10进制转62进制(直接打表)
4. 假如把刚才的方法做成一个服务,要注意什么呢?(高可用:限流、缓存和集群化)
5. 可以实习吗?

面试官说要学习音视频编解码、AI-SR的技术
全部评论
限流缓存集群化
点赞 回复 分享
发布于 03-24 13:58 北京
哥三面都问啥,爱奇艺大概能给多少啊
点赞 回复 分享
发布于 03-24 12:09 山东
爱奇艺什么部门哇
点赞 回复 分享
发布于 03-23 22:20 四川
约三面了吗
点赞 回复 分享
发布于 03-22 17:21 上海
佬一面过了几天收到的二面邀请,我一面问了一堆算法设计的感觉寄完了
点赞 回复 分享
发布于 03-18 15:43 上海

相关推荐

03-20 10:04
湖南大学
一、Java基础1. HashMap底层原理数组+链表+红黑树,JDK1.8后引入红黑树。初始容量16,负载因子0.75,扩容为原来2倍。线程不安全,多线程推荐使用ConcurrentHashMap。2. ConcurrentHashMap 1.7和1.8区别1.7:Segment分段锁+数组+链表,锁粒度较大。1.8:CAS+synchronized,数组+链表+红黑树,锁粒度更细,性能更高。3. ArrayList和LinkedList区别ArrayList:动态数组,查询快,增删慢。LinkedList:双向链表,查询慢,增删快。4. String、StringBuilder、StringBufferString不可变,线程安全。StringBuilder可变,非线程安全,效率最高。StringBuffer可变,线程安全,效率较低。二、并发编程5. synchronized底层实现修饰方法:ACC_SYNCHRONIZED标识。修饰代码块:monitorenter、monitorexit指令。锁升级流程:无锁→偏向锁→轻量级锁→重量级锁。6. ReentrantLock和synchronized区别ReentrantLock:手动加锁解锁,支持可中断、超时、公平锁。synchronized:自动加锁解锁,使用简单。7. 线程生命周期新建、就绪、运行、阻塞、终止。8. 死锁四个必要条件互斥、请求保持、不可剥夺、循环等待。破坏任一条件即可避免。三、JVM9. JVM内存模型堆、方法区、虚拟机栈、本地方法栈、程序计数器。10. 垃圾回收机制对象存活判断:引用计数法、可达性分析法。回收算法:标记清除、标记复制、标记整理。11. 常见垃圾收集器Serial、ParNew、Parallel Scavenge、CMS、G1。四、计算机基础12. TCP三次握手、四次挥手三次握手:建立可靠连接。四次挥手:断开连接,保证数据传输完成。13. HTTP和HTTPS区别HTTP明文传输,端口80。HTTPS加密传输,端口443,基于SSL/TLS。14. MySQL索引底层B+树,分为聚簇索引和非聚簇索引。遵循最左匹配原则,避免索引失效。15. MySQL事务ACID原子性、一致性、隔离性、持久性。五、项目与场景16. 接口限流方案计数器、漏桶算法、令牌桶算法。17. 分布式锁实现Redis分布式锁、Zookeeper分布式锁。18. Redis缓存问题缓存穿透:布隆过滤器。缓存击穿:互斥锁、热点数据永不过期。缓存雪崩:过期时间随机、集群部署、服务降级。
查看18道真题和解析
点赞 评论 收藏
分享
评论
2
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务