一面
围绕着项目讨论问的
nginx 为什么要去取 redis 的缓存
guava chache 实现原理
你用 redis 怎么避免缓存穿透
分布式锁的实现方法
redis 怎么保证高可用
redlock
设计一个短网址系统
我首先回答的是通过一个自增 id 来维护映射关系
后来在面试官的引导下重新设计了通过 hash 方式
中间穿插的问题有
怎么能保证同一个链接多次映射是一样的
每次申请 id 都要访问一次 db,怎么优化,我回答的号段模式
用 redis 做缓存该怎么设计--一致性 hash
hashmap 实现原理,怎么扩容
avl 树,红黑树,跳表介绍比较
三次握手,四次挥手
浏览器点击一个 url 背后发生了什么
http 协议介绍 http1/2/3
都是围绕着项目讨论和场景题
编程
给定一个链表,以及 m 和 n,翻转 m 和 n 之间的节点
m 和 n 从 0 开始, m < n, m 和 n 都可能比链表长度大
二面
介绍一下你在阿里实习内容
linux 下怎么实现一个单例进程
tcp 三次握手第三个包丢了会怎么样
分布式事务
设计一个 im 系统,怎么保证消息不丢失
我主要从发从,处理,推送这三个方向考虑的
推送我首先回答的是客户端收到后返回一个 ack
然后他说那我知道在头条发生过一个事故,客户端不返回 ack
导致服务器一直在向客户端重发,手机急剧耗电
然后又重新讨论了一个新的方案
全程基本上都在讨论
编程
评论0