自我介绍
项目:
有了解过哪些最终一致性方案吗?
你这个PV、UV的准确性是怎么考虑的?或者换个角度问,如果要精确、高效地去统计PV、UV,那在大并发量的场景下,如何设计系统?(从并发量的角度去说了一下,接口限流、redis大key、sql优化、mysql分库分表;精确地统计没了解过,就没说)
MySQL:
数据库引擎(innodb、myisam,事务、外键、锁粒度、数据存储方式)
你觉得你这个记录PV、UV的场景,用哪个数据引擎比较好?(这里应该是想问这两个引擎的使用场景,这个我确实没了解过)
索引类型有哪些(说了hash、B+树和区别)
事务隔离级别有哪些?
Redis:
Redis是如何利用文件系统的特性来保证它的KV系统的数据不丢失的?(阿巴阿巴)
Redis用来实现分布式锁的命令(set nx)
再用分布式锁的时候,需要注意的问题有哪些?(说了个锁过期、续锁、redisson的看门狗机制)
Docker:
服务透出,就是如何让本机去访问docker里面的环境(docker run)
挂一个本地盘做共享磁盘的话用什么命令(不太清楚)
计算机网络:
HTTPS的通信过程(TCP三次握手 + TLS四次握手)
算法题:
现在给1个源地,500个CDN节点。源地有800TB的数据,要尽快发送到500个CDN节点。你怎么考虑?(说了下线程池,说的乱七八糟。。。)
总结:
面试官针对我答不上来的地方都说了要朝哪个方向努力,还挺好的。但我自己的回答总结下来就是,对自己的项目没有深入的思考,没有了解过成熟的解决方案,比如如何统计PV、UV,如何保证系统准确性、高性能等等。哎,又是被干碎的一天。