众安 golang 后台开发笔试复盘

  • 选填考了一堆计网相关的八股,已晕。

  • Mutex 的正常模式和饥饿模式的区别,是为了解决什么问题?

    Mutex 的正常模式采用非严格公平策略,新来的 goroutine 有机会直接竞争锁,这样可以减少上下文切换,提高整体吞吐量,但可能导致部分等待时间较长的 goroutine 一直抢不到锁而发生饥饿;因此 Go 在检测到某个 goroutine 等待时间超过阈值(约1ms)时,会切换到饥饿模式,此时锁会直接交给等待队列中的最老 goroutine,以保证公平性,防止长期得不到锁的问题,当竞争压力下降后再恢复正常模式,从而在性能和公平之间取得平衡。

  • GC 过程中的写屏障是什么,作用是什么?

    写屏障(Write Barrier)是 Go 在进行并发垃圾回收时,在指针写入操作前插入的一段额外逻辑,用于记录对象引用关系的变化。由于 Go 的 GC 采用并发标记算法,在 GC 标记阶段用户程序仍然可能修改对象指针,如果没有写屏障,可能导致某些新引用的对象没有被标记,从而被错误回收。写屏障的作用就是在指针发生变化时通知 GC,将相关对象重新标记为可达,从而保证并发 GC 过程中对象引用关系的正确性,避免出现误回收的问题,本质上是解决并发标记阶段的数据一致性问题。

  • 内存逃逸的定义是什么?请举出几处常见的内存逃逸的情景。为什么要尽量避免内存逃逸的出现

    Go 的 sync.Mutex 采用正常模式和饥饿模式两种工作模式来平衡性能和公平性。在正常模式下,新来的 goroutine 可以和等待队列中的 goroutine 一起竞争锁,这样可以提高系统吞吐量,但可能导致某些等待时间较长的 goroutine 一直抢不到锁,从而发生饥饿问题。当某个 goroutine 等待锁超过约 1ms 时,Mutex 会进入饥饿模式,此时锁会按照 FIFO 顺序直接交给等待队列头部的 goroutine,新来的 goroutine 不再参与竞争,从而保证公平性。因此这两种模式的设计主要是为了解决高并发场景下锁竞争的性能与公平性之间的平衡问题。

  • 讲一下 GMP 模型,什么是任务窃取机制,什么是切换机制。

    Go 的 GMP 调度模型由 G(goroutine)、M(操作系统线程)和 P(processor)组成,其中 G 是待执行的协程,M 是实际执行代码的线程,P 是调度的核心资源,负责维护本地运行队列和执行上下文,只有 M 持有 P 才能运行 G。任务窃取机制是指当某个 P 的本地运行队列为空时,会从其他 P 的队列中窃取一半的 goroutine 来执行,以提高 CPU 利用率并实现负载均衡。切换机制主要指当一个 M 因为系统调用(syscall)发生阻塞时,会主动释放绑定的 P,让 P 绑定到其他空闲的 M 上继续执行其他 goroutine,等阻塞的 M 恢复后再尝试重新获取 P,这样可以避免因为线程阻塞导致整个调度器停顿,从而提高并发执行效率。

  • 笔试两题。

    • T1 求 n () 求有多少个数 x 满足

        $\sqrt n$ 筛一下因数就行。
      
    • T2 小红的树,现在有一颗树,小红在 x 节点上,树上的边为双向边,有长度 w,小红可以到一个节点,每次移动需要消耗 w * y 的代价,然后总得分为移动的代价,加上最后停留的位置中,所有节点到该节点的路径长度之和乘以 z,求最小代价。

        换根 DP 
      
#我的求职总结#
全部评论
请问是双机位还是单机位啊
点赞 回复 分享
发布于 04-02 16:57 湖南

相关推荐

2027 届信息编程类岗位求职全攻略结合你擅长 Python 开发、熟悉编程调试的背景,2027 届找信息编程类工作核心是抓准时间线、精准定位方向、硬核技术准备、多渠道高效投递,以下是可直接落地的行动方案。一、核心岗位与适配方向(精准匹配你的技能)结合你的编程基础,优先选择 3 类高匹配岗位,兼顾稳定性与成长空间:岗位方向核心技能要求适配你的优势薪资区间(本科 / 硕士)Python 后端开发熟练 Python、Django/Flask/FastAPI、MySQL/Redis、Git 版本控制熟悉 Python 项目开发、能独立完成接口开发与调试15-25 万 / 年 / 20-35 万 +测试开发 / 自动化测试Python 编程、Selenium/Appium、Pytest、接口测试、CI/CD擅长代码排查、能将编程能力转化为自动化测试脚本14-22 万 / 年 / 18-30 万数据处理 / 数据分析Python(Pandas/Numpy/Matplotlib)、SQL、数据可视化、基础统计可将编程技能用于数据清洗、分析与可视化落地14-24 万 / 年 / 18-32 万二、2027 届校招全时间线(关键节点不遗漏)校招节奏提前,务必建立专属日历,避免错过黄金机会:2026 年 4-6 月(暑期实习冲刺)核心目标:争取可转正实习,这是进入大厂 / 优质企业的 “快车道”(实习转正率普遍超 60%)重点动作:投递阿里、字节、腾讯等大厂暑期实习,准备简历与笔面试;利用学校就业中心、***等渠道补投中小厂实习2026 年 7-8 月(秋招提前批)核心目标:抢占优质岗位,提前批无笔试或流程简化,竞争相对较小重点动作:锁定目标公司招聘公众号 / 官网,投递提前批;重点冲刺 AI、大模型相关岗位(2027 届校招 AI 岗占比显著提升)2026 年 9-10 月(秋招核心批)核心目标:大规模投递,冲刺核心 Offer,岗位最全、机会最多重点动作:网申广撒网(覆盖 10-15 家企业),同步参加线下宣讲会;全力备战笔面试,集中攻克技术难点2026 年 11-12 月(秋招补录 + 实习转正)核心目标:捡漏剩余优质岗位,衔接实习转正结果重点动作:关注补录信息,跟进未回复的投递;与实习公司确认转正意向,锁定正式岗位2027 年 2-4 月(春招补招)核心目标:保底拿 Offer,弥补秋招遗憾重点动作:更新简历(补充秋招经验),集中投递未招满的企业;重点关注国企、事业单位补招岗位三、技术与简历硬核准备(决定能否拿到 Offer)(一)技术准备(针对性强化,快速提分)基础必背(面试高频)计算机基础:数据结构与算法(数组、链表、树、排序 / 查找)、操作系统(进程 / 线程、内存管理)、计算机网络(HTTP/HTTPS、TCP/UDP)、数据库(MySQL 索引、事务、Redis 常用数据结构)Python 专项:Python 解释器原理、多线程 / 多进程、装饰器、生成器 / 迭代器、异常处理、常用标准库(os、sys、re)项目实战(核心加分项)结合你的技能,打造 2-3 个可展示项目,务必写清技术栈、个人职责、解决的问题、量化成果,用 STAR 法则梳理推荐项目方向:① Python 自动化工具(如批量文件处理、接口自动化测试框架,集成你熟悉的调试能力)② 数据可视化项目(如基于 Matplotlib 的校园数据统计、Pandas+Streamlit 的简易数据分析平台)③ 小型 Web 应用(如 FastAPI+MySQL 的待办管理系统,体现全栈思维)关键动作:将代码上传至 GitHub,保证可读性与注释,面试时可现场演示刷题计划(提升笔试通过率)平台:********(重点刷中等题,每日 2-3 道)、牛客网(刷企业真题)节奏:每天 1 小时,优先刷数组、链表、二叉树、动态规划等高频题型,结合 Python 实现(二)简历优化(10 秒抓住 HR 眼球)核心结构(必含模块,拒绝杂乱)基本信息:姓名 + 电话 + 邮箱 + GitHub(必填)+ 求职意向(明确 1 个方向,如 Python 后端开发)教育背景:学校 + 专业 + GPA(≥3.0 可写)+ 核心课程(5-8 门匹配岗位,如数据结构、数据库、Python 高级编程)技术技能:分类罗列,标注熟练度(如 “熟练:Python、FastAPI、MySQL;掌握:Redis、Docker”,避免 “精通”)项目经历(重中之重):每个项目按 “背景 - 职责 - 技术难点 - 成果” 撰写,量化成果(如 “优化接口响应速度 30%”“覆盖 80% 测试场景”)荣誉奖项:优先写编程类(蓝桥杯、ACM、互联网 +)、学术类(奖学金),无关奖项不写关键技巧匹配 JD 关键词:投递前对照岗位描述,调整简历技能与项目内容,提升 ATS 通过率拒绝空话:不写 “认真负责、学习能力强”,用技术细节和成果体现四、多渠道高效投递(扩大机会,提高效率)按 “优先级排序” 组合渠道,避免海投,确保每封投递都有反馈:第一优先级(最稳,优先投递)校内渠道:学校就业指导中心官网、校园宣讲会、双选会(岗位对口、竞争小,企业对本校学生认可度高)企业官方渠道:目标公司招聘官网、招聘公众号(如 “腾讯招聘”“字节跳动招聘”),投递简历审核通过率更高第二优先级(补充投递,扩大范围)内推:通过学长学姐、牛客网、脉脉获取内推码,内推可加快简历筛选速度,甚至免笔试官方求职平台:教育部 24365 校园招聘服务平台、国聘网、国资委网站央企招聘专区(无虚假信息,适合找国企 / 事业单位岗位)第三优先级(兜底投递,保底机会)垂直平台:牛客网(校招 / 实习专属,技术岗多)、万马职场(程序员垂直平台)综合平台:智联招聘、*******(筛选 “校招” 标签,避免虚假企业)五、笔面试通关技巧(提升成功率)(一)笔试准备技术笔试:重点刷 ******** 中等题、企业真题,熟练 Python 语法与算法实现行测 / 性格测评:提前练习行测(言语理解、逻辑推理、数量关系),性格测评按真实情况填写,避免极端答案(二)面试技巧(分环节应对)自我介绍(1-2 分钟,突出亮点)结构:基本信息 + 核心技能 + 项目经历 + 求职动机,结合 Python 技能和项目经验,简洁有力技术面(核心环节)常见问题:Python 基础(如深浅拷贝、GIL 锁)、项目相关(技术难点、解决方案)、算法题(现场手写代码)应对技巧:不会时坦诚说明思路,不要沉默;结合你调试经验,可强调 “如何排查问题、定位根因、优化代码”HR 面(考察匹配度)常见问题:职业规划、为什么选择该公司、薪资期望、加班接受度应对技巧:职业规划结合技术方向,薪资期望参考行业平均水平(提前调研目标公司 / 岗位薪资),不回避加班问题六、关键注意事项(避坑 + 加分)拒绝虚假招聘:不缴纳任何费用(企业招聘免费),核实企业资质(用企查查 / 天眼查),警惕 “培训贷”“高薪骗局”重视实习:暑期实习是转正的关键,即使未转正,也能积累项目经验、熟悉企业流程,增加秋招竞争力持续学习:关注技术趋势(如 AI 大模型应用、云原生),补充相关技能(如 FastAPI、Docker、K8s),提升差异化竞争力复盘迭代:每次投递 / 面试后记录问题(如简历漏洞、技术短板),及时调整,提升下一次成功率。注:以上来源于豆包。注
点赞 评论 收藏
分享
评论
2
11
分享

创作者周榜

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