【年终总结】从非科班无实习到准字节前端:我始终相信,开发之外的事,才是破局关键

【年终总结】从非科班无实习到准字节前端:我始终相信,开发之外的事,才是破局关键

目录

【年终总结】从非科班无实习到准字节前端:我始终相信,开发之外的事,才是破局关键

一、求其外,善其内

1、坚持出发点正确的博文写作

2、博文更新对我心态的淬炼

3、社区交流对我视野的启发

4、向外拓展,反哺内修

二、陷入前端则前端死,跳出前端则前端活

1、从不务正业到泛前端

2、从泛前端到大前端,从有形到无形

三、秋招多少事

四、结语


        作者:watermelo37

        ZEEKLOG优质创作者、华为云云享专家、阿里云专家博主、腾讯云“创作之星”特邀作者、火山KOL、支付宝合作作者,全平台博客昵称watermelo37。

        一个假装是giser的coder,做不只专注于业务逻辑的前端工程师,Java、Docker、Python、LLM均有涉猎。



---------------------------------------------------------------------

温柔地对待温柔的人,包容的三观就是最大的温柔。

---------------------------------------------------------------------

【年终总结】从非科班无实习到准字节前端:我始终相信,开发之外的事,才是破局关键

        这年头,非科班、无实习、学历没优势,想进互联网大厂,听起来近乎天方夜谭——人才过剩、赛道内卷、AI横行,前端首当其冲。社区里“前端已死”的论调年年翻新,岗位缩减也是事实,如何在这种囹圄之下突出重围?

        我的答案是:开发之外的事,才是破局关键。

        回顾我的秋招:我聚焦头部大厂,多数面试流程顺利推进至终面,并有幸获得多个公司认可,最终均给出 SP/SSP 级别的offer,最终选择字节。其中一家公司在得知我已有三方后,仍多次主动沟通,表达了强烈意愿。

        如果你有兴趣或者未来有求职需求,不妨听我絮叨几句,或许能给你一点启发。

一、求其外,善其内

        “求其上,得其中”的道理人尽皆知,我将其改为“求其外,善其内”——意指向外拓展,反哺内修

1、坚持出发点正确的博文写作

        24年的3月,我开发一个用户上传 PDF 并识别文本的功能时,发现某 python OCR 库在上传特定文件下执行会报错,深入排查源码后,发现其错误处理逻辑仅用 if 跳过异常,未考虑连续错误场景——改为 while 后问题解决。这件事花了我大量时间调试,于是我在 ZEEKLOG 写下第一篇技术博文,记录这一发现。

        没想到,这一写便停不下来。从 bug 排查、基础 API 梳理,到前沿技术解析、前端实战复盘……我逐渐摸索出适合自己的节奏,随后便坚持至今。

        回首望去,除了满足不了博客之星评选的年度文章发布总量(该维度100篇满分,一年100篇也太多了)外,我的收获极大,我抱着基础坚实与实战至上的双重策略,持续寻找可以归纳总结的博文内容。为了能把一个问题讲清楚,我需要吃透官方文档、读懂底层代码、理解团队里那些精妙的实现,我看懂学懂才敢动笔分享——而受益最多的,其实是我自己。

        此外,在我每次遇到新鲜的问题,我往往会更加跃跃欲试,新鲜的问题意味着有更多意外的收获,能产出更多有价值的博文内容,我融会贯通的能力也会随之加强,形成良性循环。遇到重复的工作或者问题,我又能第一时间想到我的博文,能把它当做字典迅速回忆和复用。秋招期间,在同门之间讨论面试官提出的犀利问题时,我经常能发现这就是我历史博文中涉及到的一个知识点或者场景。

        过去我用 ProcessOn 做思维导图搭建个人知识库(如下图,如果没有AI这就是最好的个人知识数据库,随时一键唤醒记忆),但在今天这个 AI 泛滥的时代,持续输出的博文反而成了更鲜活实用的个人技术资产。

曾经的思维导图,如果没有AI这就是最好的个人知识数据库,随时一键唤醒记忆

        所以说,坚持出发点正确的博文写作,是工作之余的锦上添花,也是我技术堡垒的坚实基础,更是我技术自信的根本底气。

2、博文更新对我心态的淬炼

        记得今年春,我参加一个从零到一的国产化项目,一边是陌生的业务逻辑和数据结构,一边是国家级关注与高压交付——那段时间,我经常干到凌晨两三点,睡四五小时又爬起来继续干。即便如此,我依然能依靠自己的存稿和挤出来的时间保持着一定的更新频率。

        这种压力下的坚持,不是自我感动,而是一种对失控的抵抗。在我项目交付后或者手上只有长期开发项目的时候,博文更新的压力又能督促我保持学习节奏的底线,我会在稍微轻松的日子里大量存稿,总结前段时间的优质代码和技术发现,为后面可能到来的高强度周期留出缓冲。

        这就是我持续写博文最初的原因:我需要在我不想或不用写代码的时候,给自己找点有意义的事情做,在我着急忙慌赶进度追进展的时候,又能插入一个“暂停符”让我回头看。我深知按部就班地完成任务无法带来真正的成长,经验在思考和总结的过程中才会大量积累。

3、社区交流对我视野的启发

        除此之外,社区也让我认识了很多志同道合的朋友,他们热衷追求的技术,时下讨论高涨的热点,为我的技术视野带来了不少的启发。

        不止局限于前端,后端、python服务、亦或其他语言和框架,我渐渐意识到:所有的语言都只是手段,而并非目的,它们只有效率高低之分,却没有等级高下之别,解决问题的思维是所有语言通用的,在寻求解决方案,解决实际需求的道路上,语言只是载体,思想才是驱动力。

        前不久我写了一篇封装 try-catch 的文章,提出用线性范式替代 try-catch 嵌套异常处理的思路,就是从node.js、go开发的错误优先风格而来的。这种跨语言的迁移能力,远比死守某个框架重要。

4、向外拓展,反哺内修

        正因如此,我始终相信:只把本职开发工作做好,结果只有“好”或“不好”两种;但如果坚持在完成工作的基础上,持续向外拓展,也就是我“求其外善其内”的“外”,为了把“外”做得有型有质,我不得不把“内”做得更深、更善、更美。这种内外互促的闭环终有一天又能为我的本职工作添砖加瓦,成长就在这个过程中悄然发生。

二、陷入前端则前端死,跳出前端则前端活

1、从不务正业到泛前端

        跳出前端那不是不务正业吗,不务正业又如何活?事实上,我认为纯前端正逐渐式微,泛前端正在逐渐成为必然。

        今年某大厂面试官提到他们部门需要的是能熟练运用 js 解决各类问题的人,但面试的时候很多应聘者只会处理前端问题,这样无法解决搜广推的具体业务,自然也就胜任不了这份工作。

        自从前后端分离后,联调常陷入相互甩锅的状态,尤其是版本更迭的前后——问题出在哪?双方都说不清。根源在于技术栈割裂。如果前端懂一点服务端逻辑,不仅能减少沟通成本,甚至能帮后端定位问题。

        而随着 AI 的持续发展,前端基础技术壁垒会越来越薄,如果不补全泛前端知识,最后只能固守日益狭窄的技术边界,这路就越走越窄了。

2、从泛前端到大前端,从有形到无形

        我“跳出前端”的尝试不止于此:除了做过后端,我还做过 python 服务层,比如 OCR 识别、RAG增强检索;用 Docker 容器化环境实现在线编程;做过简单的协作式组件,可回溯可共享的在线文档;做过低代码可执行工作流;还做过可迭代交互的多模态产出 AI 助手工具等等,这些严格来说都不属于基础前端开发,但是它们的产出最终都服务于更好的前端体验,这些经历也让我在实际工作中,能更高效地与后端、算法、运维等人员沟通。

        前端也好,测试也罢,哪怕是后端,都会逐渐走向自动化、低代码化,AI 替代是不可逆的趋势。唯有拥抱新技术,才不会被它淘汰。就像早年 Docker 兴起的时候,所有留守虚拟机和不重视容器化运维思想的团队都吃了大亏。AI 时代亦是如此,非技术人员用 AI 做全套自由开发,在现有框架下几乎不可能;但技术人员若不懂 AI,将很快失去不可替代性。要找准 AI 做不到的地方,深挖、夯实,才能求得一处安稳之地。

        放开手脚,大胆去做,不要被技术领域限制了自己的兴趣和追求,打破有形的技术边界,追求无形的技术深度与广度,将技术回归到实践本身。一切能让用户感受更好,交互体验更自由,突破性能瓶颈的技术,都是好技术,也是泛前端所需要接纳的技术。

        开发之外,是更多的开发视角,前端之外,是更广阔的前端领域。

三、秋招多少事

        囿于篇幅原因,这部分简单提一提,有兴趣的朋友欢迎与我展开讨论。

        对于我来说,秋招更像是秋收,结合组里的历史,我知道进大厂是大概率事件,关键是具体平台和业务上的选择。

        比如我中断了京东的面试流程,是因为听说午休普遍只有 1-1.5 小时。而我是个不午睡就没精力的“懒人”,这点时间根本不够恢复饱满的精力投入工作。又比如我明确不想加入拼多多,因为实验室长期单休已让我感到疲惫,随着年龄增长,我更需要可持续的生活节奏。

        这些看似琐碎的考量,其实是长期主义的坚守,是我能够胜任工作的基础前提。

        有位面试官在面试尾声打趣:“写博文是个好习惯,但等你上班忙起来恐怕就没时间写了。”我笑着应和,表示会努力坚持下去,我自己也会集中写存稿,积极应对突发压力。

        但若不是面试环节,我也许会更直白些:“不必考虑人生新阶段的变数,我现在还在写,能把这周的份额写完,这就够了。技术探索本无止境,正如胡适先生所言,怕什么真理无穷?进一寸有一寸的欢喜。

        秋招过程中,我整理了近两万字的面试复盘,并在结束后写了一篇两万九千字的《秋招多少事,归来知不知》,算是为这段人生节点留下一份完整的记忆。

        这些看似与技术无关的生活节奏选择,这些看似与未来开发工作无关的文字积累,其实是我对“开发之外的事”思考与突破的不断尝试。套用鲁迅先生的一句话:哪有什么正确的选择,合适的尝试做得多了,慢慢就会成为正确的选择。

四、结语

        这些年的选择与努力让我深深地明白一个道理:没有什么是做不成的,只有时间是不可逆的。只要有意识的持续思考,在基础开发工作之外选择一个合适的方向,养成奔跑的习惯,剩下的,就交给时间。

        谨以此文,作为我技术追求角度出发的年终总结,愿与诸君共勉。

        愿我们都能在技术路上保持清醒与热情,所选无悔,所得无愧;生活明朗,未来可期!

        只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~

        其他热门文章,请关注:

        极致的灵活度满足工程美学:用Vue Flow绘制一个完美流程图

        你真的会使用Vue3的onMounted钩子函数吗?Vue3中onMounted的用法详解

        Web Worker:让前端飞起来的隐形引擎

        测评:这B班上的值不值?在不同城市过上同等生活水平到底需要多少钱?

        通过array.filter()实现数组的数据筛选、数据清洗和链式调用

        DeepSeek:全栈开发者视角下的AI革命者

        TreeSize:免费的磁盘清理与管理神器,解决C盘爆满的燃眉之急

        通过Array.sort() 实现多字段排序、排序稳定性、随机排序洗牌算法、优化排序性能

        高效工作流:用Mermaid绘制你的专属流程图;如何在Vue3中导入mermaid绘制流程图

        通过MongoDB Atlas 实现语义搜索与 RAG——迈向AI的搜索机制

      【前端实战】如何让用户回到上次阅读的位置?

        前端实战:基于Vue3与免费满血版DeepSeek实现无限滚动+懒加载+瀑布流模块及优化策略

        深入理解 JavaScript 中的 Array.find() 方法:原理、性能优势与实用案例详解

        el-table实现动态数据的实时排序,一篇文章讲清楚elementui的表格排序功能

        JavaScript双问号操作符(??)详解,解决使用 || 时因类型转换带来的问题

        内存泄漏——海量数据背后隐藏的项目生产环境崩溃风险!如何避免内存泄漏

        MutationObserver详解+案例——深入理解 JavaScript 中的 MutationObserver

        JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、DOM操作等

Read more

算法王冠上的明珠——动态规划之路径问题(第一篇)

算法王冠上的明珠——动态规划之路径问题(第一篇)

目录 1. 什么叫路径类动态规划 一、核心定义(通俗理解) 二、核心特征(识别这类问题的关键) 2. 动态规划步骤 状态表示 状态转移方程 初始化 填表顺序 返回值 3. 例题讲解 3.1 LeetCode62. 不同路径 3.2 LeetCode63. 不同路径 II 3.3 LeetCodeLCR 166. 珠宝的最高价值 今天我们来聊一聊动态规划的路径类问题。 1. 什么叫路径类动态规划 路径类动态规划是 动态规划的一个重要分支,核心解决 “从起点到终点的路径相关问题”—— 比如 “路径总数”“最短路径长度”“路径上的最大 / 最小和” 等,其本质是通过 “状态递推” 避免重复计算,高效求解多阶段决策的路径问题。 一、

By Ne0inhk
链表专题(九):应用篇的无冕之王——「LRU 缓存机制」

链表专题(九):应用篇的无冕之王——「LRU 缓存机制」

场景想象: 你有一个书架(缓存),容量有限(比如只能放 3 本书)。 规则是 “最近最少使用 (Least Recently Used)” 淘汰: 1. 读取:如果你读了一本书,它就变得“新鲜”了,要把它抽出来放到最前面。 2. 插入: * 如果书架没满,新书直接插到最前面。 * 如果书架满了,必须把最后面那本(最久没人看的那本)扔掉,然后把新书插到最前面。 技术难点: 我们需要两个操作:get(查找)和 put(插入/更新)。 题目要求这两个操作的时间复杂度必须都是 $O(1)$。 * 只用数组? 插入/删除慢($O(N)$)。 * 只用链表? 查找慢($O(N)$)。 * 只用对象/

By Ne0inhk
c++基础树上问题——求lca(最近公共祖先)的几种方法,算法必看哟!

c++基础树上问题——求lca(最近公共祖先)的几种方法,算法必看哟!

目录  一,lca简介 核心定义 应用场景 关键特性 二,求lca的方法 方法一:朴素求lca(倍增求lca) 代码: 例题: 问题描述 输入格式 输出格式 样例输入 样例输出 样例说明 测评数据规模 代码详解: 方法二:tarjan求lca 1. 时间复杂度极低,适合大规模查询 2. 利用并查集实现 “路径压缩”,合并与查询高效 3. 一次遍历处理所有查询,减少树的访问次数 4. 适用于静态树的批量查询场景 5. 实现逻辑直观,依托 DFS 与并查集的天然契合 总结 代码: 例题: 注:本文题目均来自蓝桥杯官网公开题目,仅用于技术讨论和算法学习。  一,lca简介         LCA(least

By Ne0inhk
【数据结构和算法】面试必刷之随机链表复制:这三步让你彻底吃透 random 指针

【数据结构和算法】面试必刷之随机链表复制:这三步让你彻底吃透 random 指针

🔥小龙报:个人主页 🎬作者简介:C++研发,嵌入式,机器人等方向学习者 ❄️个人专栏:《C语言》《【初阶】数据结构与算法》 ✨ 永远相信美好的事情即将发生 文章目录 * 前言 * 一、随即链表的复制 * 1.1 题目 * 1.2 算法原理 * 1.3 代码 * 总结与每日励志 前言 随机链表的复制是数据结构中的经典难题,核心难点在于复制节点的random指针——其指向的节点可能尚未创建,也可能指向链表中的任意节点。本文采用“原地拷贝+拆分”的最优思路,分三步拆解解题逻辑,结合代码实现与原理分析,清晰讲解如何高效解决该问题,帮助读者吃透random指针的处理技巧,掌握链表操作的核心思维。 一、随即链表的复制 1.1 题目 链接:随机链表的复制 1.2 算法原理

By Ne0inhk