- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第PAGE页共NUMPAGES页
2026年互联网公司CTO面试题及答案详解
一、系统设计题(共5题,每题20分)
1.设计一个高并发的短链接系统(20分)
题目描述:
你需要设计一个短链接系统,如`tinyurl`或`t.co`。用户输入长链接后,系统生成一个短链接并返回;点击短链接后,系统将用户重定向到原始的长链接。要求:
(1)短链接全局唯一,支持高并发访问;
(2)重定向过程需要缓存优化,避免每次都查询数据库;
(3)支持自定义短链接(如用户输入`/abc`);
(4)系统需要统计短链接的点击次数。
答案与解析:
(1)短链接生成与唯一性
-使用`k=6`的Base62编码(26小写+26大写+10数字=62)将ID映射为短链接,如`123456`→`aBcDe`。ID可以是自增或Snowflake算法生成。
-数据库设计:
sql
CREATETABLEshort_links(
idBIGINTAUTO_INCREMENTPRIMARYKEY,
long_urlVARCHAR(2048)NOTNULL,
short_codeVARCHAR(7)NOTNULLUNIQUE,
clicksINTDEFAULT0,
created_atTIMESTAMPDEFAULTCURRENT_TIMESTAMP
);
-自定义短链接处理:检查输入的短码是否已存在,若存在则拒绝或提示冲突。
(2)高并发缓存优化
-使用`Redis`作为缓存层,将`short_code`→`long_url`的映射缓存,过期时间设为24小时。
-缓存穿透方案:若缓存未命中,先查询数据库,若存在则缓存并返回;若不存在则拒绝请求。
-分布式锁:在高并发场景下,生成短链接时使用分布式锁(如`Redis`的`SETNX`)防止ID冲突。
(3)分布式ID生成
-Snowflake算法:
java
longid=SnowflakeIdWorker.nextId();
其中:
-41位时间戳(毫秒级,可用69年);
-10位数据中心ID(支持10个数据中心);
-12位机器ID(支持4096台机器);
-1位符号位(固定为0)。
(4)统计点击次数
-使用`Redis`的`INCR`命令实现原子性计数,或数据库触发器。
-性能优化:点击时异步更新缓存中的`clicks`字段,定时同步到数据库。
2.设计一个高并发的实时消息推送系统(20分)
题目描述:
设计一个类似`WebSocket`的实时消息推送系统,支持千万级用户同时在线。要求:
(1)支持单点登录(SSO),用户状态实时同步;
(2)消息需要支持按用户组(如部门、城市)批量推送;
(3)系统需要处理消息离线存储,用户上线后立即补发;
(4)消息推送需要保证可靠性,失败时重试。
答案与解析:
(1)单点登录与状态同步
-使用`JWT`进行认证,服务端存储用户会话信息在`Redis`中,过期时间设为30分钟。
-用户状态同步:通过`WebSocket`心跳机制(如每30秒发送`ping`帧),若客户端无响应则断开连接。
(2)消息推送架构
-核心组件:
-`MessageQueue`(如`Kafka`):存储待推送消息;
-`WebSocketServer`(如`Nginx+WebSocket模块`):处理长连接;
-`UserGroupService`:管理用户分组关系。
-推送逻辑:
java
//按组推送
ListStringusers=groupService.getUsersByGroup(department-1);
for(StringuserId:users){
sendMessage(userId,message);
}
(3)离线消息存储
-使用`Redis`的`List`或`MessageQueue`存储离线消息,用户上线后通过`WebSocket`拉取:
sql
--Redis存储
RPUSHoffline_messages:12345message_json;
(4)可靠性保证
-推送时记录状态(如`SENT`、`DELIVERED`),使用`Redlock`算法确保分布式事务一致性。
-重试机制:消息推送失败后,入队`DeadLetterQueue`,定时重试或记录日志。
3.设计一个高并发的分布式计数器系统(20分)
题目描述:
设计一个类似`Prometheus`的分布式计数器系统,支持多个节点同时计数。要求:
(1)计数器支持全局唯一(如`total_requests`);
(2)支持分桶统计(如按API接口统计请求量);
(
您可能关注的文档
- 2026年厦门建发财务分析师考试大纲及复习资料含答案.docx
- 2026年医疗设备工程师面试全攻略医院设备维护面试题及答案.docx
- 2026年中航集团乘务员面试题库含答案.docx
- 2026年供应商关系经理面试题集.docx
- 2026年会计从业者面试常见问题解答.docx
- 2026年科技管理岗项目管理与执行能力面试题库含答案.docx
- 2026年华电集团招聘面试题集.docx
- 2026年美团外卖运营策略及常见面试题.docx
- 2026年压力测试在信贷风险管理中的应用.docx
- 2026年餐饮业培训专员招聘面试问题集.docx
- DB44_T+2767-2025河口海湾总氮、总磷水质评价指南.docx
- 中医药科技成果转化评价技术规范.docx
- DB44_T+2750-2025农村供水工程数字化建设技术导则.docx
- DB44_T+2769-2025金属矿山生态修复技术规范.docx
- 镁合金航天航空零部件长效防护微弧氧化膜层工艺规范.docx
- 《甘青青兰中绿原酸和胡麻苷含量的测定 高效液相色谱法》发布稿.pdf
- DB44_T+753-2025声环境质量自动监测技术规范.docx
- 信息技术 智算服务 异构算力虚拟化及池化系统要求.docx
- DB44_T+2759-2025黄荆栽培技术规程.docx
- 废生物制药溶媒再生乙腈.docx
最近下载
- 全景图像拼接技术研究与实现.docx VIP
- 全国统一安装工程预算定额.pdf VIP
- 明伟NES系列改可调方案(参考).pdf VIP
- 呼出气一氧化氮(FeNO)测定临床应用规范.docx
- 亚低温冬眠治疗PPT参考幻灯片.ppt VIP
- 仁爱科普版(2024)七年级英语上册课件 Unit 6 第7课时 Reading for Writing.pptx VIP
- 安徽医学高等专科学校《人体解剖学》2025 学年第一学期期末试卷(B).pdf VIP
- 现代机器人培训资料.pptx VIP
- YD5003-2023通信建筑工程设计规范.docx VIP
- 上交所发行上市审核动态(2024年第5期).pdf VIP
原创力文档


文档评论(0)