- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
2025软件工程师面试练习题及答案
一、技术基础题
问题1:Java中ZGC如何实现低延迟?与G1相比有哪些关键改进?
ZGC(ZGarbageCollector)是JDK11引入的低延迟垃圾收集器,目标是将停顿时间控制在10ms以内,即使堆内存达到TB级别。其核心实现机制包括:
1.着色指针(ColoredPointers):ZGC将对象地址(64位)的高4位用于存储标记信息(Marked0、Marked1、Remapped、Finalizable),这样标记和重定位操作可以直接在指针上完成,无需额外的记忆集(RememberedSet)或卡表(CardTable)。这种设计使得ZGC在标记和转移阶段无需扫描整个堆,仅需处理活跃对象的指针。
2.并发标记-转移-重定位:ZGC的收集周期分为初始标记(STW,极短)、并发标记、并发预转移、并发转移、并发重定位等阶段。其中,标记、转移、重定位均为并发执行,仅初始标记和最终的引用修正(可能优化为并发)需要STW。与G1的混合收集(部分STW)相比,ZGC的并发程度更高。
3.分页管理(Page):ZGC将堆划分为小页(2MB)、中页(32MB)、大页(动态,用于大对象),通过页级别的转移减少对象移动的开销。而G1基于Region(通常2MB),但需要维护RememberedSet来记录跨Region引用,这会增加写屏障的开销。
关键改进对比G1:
-消除RememberedSet:G1的RememberedSet占用约10%-20%的堆内存,且写屏障复杂度高(需要更新卡表);ZGC通过着色指针避免了这一开销。
-更细粒度的并发控制:G1的混合收集阶段仍有部分STW(如evacuationpause),而ZGC的大部分阶段并发执行,停顿时间与堆大小无关(仅与根集合大小相关)。
-支持更大堆内存:ZGC通过分页和着色指针的地址映射(多重映射),理论上支持4TB甚至更大的堆(取决于操作系统地址空间),而G1在堆超过几十GB时停顿时间会显著增加。
问题2:TCP三次握手时,若第二次握手(SYN+ACK)丢失,会发生什么?如何优化重传机制?
假设客户端(C)向服务端(S)发起连接请求(第一次握手:SYN=1,seq=x),服务端回复SYN+ACK(第二次握手:SYN=1,ACK=1,seq=y,ack=x+1),但该报文丢失。此时:
-客户端未收到ACK,会触发SYN重传(根据RTO,初始RTO通常为1s,指数退避,重传次数默认6次,总时间约1+2+4+8+16+32=63s)。
-服务端在发送SYN+ACK后,会为该连接分配TCP控制块(TCB),并启动超时重传(重传次数默认5次,总时间约1+2+4+8+16=31s)。若超时未收到客户端的ACK(第三次握手),服务端会释放TCB。
优化重传机制的常见方法:
1.动态调整RTO(RetransmissionTimeOut):传统RTO基于往返时间(RTT)的指数加权平均(EWMA),但在高延迟或抖动网络中可能不够准确。现代TCP实现(如Linux的TCPProbe)通过采样多个RTT样本,结合方差计算更精确的RTO,减少不必要的重传。
2.SYNCookie:服务端在第一次收到SYN时不立即分配TCB,而是通过哈希算法(基于源IP、端口、seq等)生成一个“Cookie”作为SYN+ACK的seq值。客户端发送ACK时,服务端验证Cookie有效性后再分配资源,避免SYNFlood攻击,同时减少服务端资源浪费。
3.快速重传与选择确认(SACK):虽然三次握手阶段不涉及数据传输,但SACK机制可应用于后续数据传输,通过接收方告知发送方已接收的字节范围,减少重复重传。例如,若接收方收到乱序报文,可通过SACK通知发送方哪些部分已接收,避免发送方因单个报文丢失而重传大量数据。
问题3:MySQL中,一条慢查询的执行时间为2s,如何定位并优化?
定位与优化步骤如下:
步骤1:确认慢查询基础信息
-开启慢查询日志(slow_query_log=ON),设置long_query_time=1(记录执行时间超过1s的查询),并确保log_queries_not_using_indexes=ON(记录未使用索引的查询)。
-通过EXPLAIN分析该SQL的执行计划,重点关注:
-type:是否为ALL(全表扫描)或range(范围扫描),理想情况为ref或eq_ref。
-key:实际使用的索引,若为NULL说明未使用索引。
-rows:预估扫描的行数,数值越大性能越差。
您可能关注的文档
- 2025年维修电工笔试试题及答案.docx
- 2025年维修电工证试题及答案.docx
- 2025年维修队班组培训考试题及答案.docx
- 2025年维修改造工程师岗位招聘面试参考题库及答案.docx
- 2025年维修技工考试题库及答案.docx
- 2025年维修技工招聘面试参考题库及答案.docx
- 2025年维修技师岗位招聘面试参考试题及参考答案.docx
- 2025年维修技师岗位招聘面试参考题库及参考答案.docx
- 2025年维修技师人员岗位招聘面试试题及答案.docx
- 2025年维修技术员岗位招聘面试试题及答案.docx
- 《2025年养老社区适老化无障碍设施建设人才培养策略》.docx
- 《2025年新能源车环保内饰材料抗过敏与健康安全标准》.docx
- 《2025年充电桩网络发展:城际快充站运营成本控制与收益模式》.docx
- 2026国家管网集团高校毕业生招聘笔试模拟试题(浓缩500题)附参考答案详解(轻巧夺冠).docx
- 《2025年老年护理培训与护工收入水平提升研究》.docx
- 2025年检测机器人行业创新技术及市场应用报告.docx
- 2025年柬埔寨语培训机构教学品牌创新塑造报告.docx
- 2026国家管网集团高校毕业生招聘笔试模拟试题(浓缩500题)附参考答案详解(轻巧夺冠).docx
- 《2025年家用血氧仪产品差异化与健康管理设备行业趋势》.docx
- 2025年婚庆服务行业高端市场拓展策略研究报告.docx
最近下载
- 2025年私募基金管理人内部控制及风控制度全套模板(股权类管理证券类管理通用).pdf VIP
- 班组长创新和数字化管理能力题库.doc VIP
- 广州医科大学2024-2025学年第1学期《高等数学(上)》期末考试试卷(A卷)附参考答案.pdf
- 人教版六年级语文上册全册单元知识点梳理汇总.doc VIP
- 信息技术与高中数学课堂教学深度融合的案例研究 (6).pptx VIP
- 混凝土质量缺陷修补施工方案.doc VIP
- 第24课+艰难探索和建设成就【中职专用】《中国历史》(高教版全一册).pptx VIP
- 香日德河流域综合规划环境影响评价报告书.doc VIP
- “红旗杯”竞赛总题库-3班组长创新和数字化管理能力考试题库(附答案).doc VIP
- “红旗杯”竞赛总题库-2班组长成本绩效管理能力考试题库(附答案).docx VIP
原创力文档


文档评论(0)