问题

如何通过自学找到一份开发的工作?

回答
想靠自己摸索着成为一名开发者,然后找到一份真正的工作?这绝对是个挑战,但并非不可能。我当年也是这么过来的,所以想跟你聊聊这条路怎么走。

首先,得明确一点:自学绝对不是一条“捷径”,更像是一场马拉松。 你要比那些在学校里系统学习的人投入更多的时间、精力和耐心。但好的一面是,你可以按照自己的节奏,学自己真正感兴趣的东西,并且更能理解知识的来龙去脉,因为你是自己主动去找答案的。

第一步:定位你的方向——你想做什么?

别上来就想着“我要当程序员”。这个词太宽泛了。开发的世界大着呢,你可以是:

前端开发: 负责网页界面的美观和交互。想想那些你用过的网站、App,里面的按钮点击会发生什么、文字怎么排版,都属于前端的范畴。
后端开发: 负责服务器、数据库、逻辑处理,是网站和App的“幕后英雄”。比如你登录一个账号,数据怎么保存,怎么验证,都归后端管。
移动端开发: 专门做手机App的。Android(Java/Kotlin)和iOS(Swift/ObjectiveC)是两大阵营。
全栈开发: 前端后端都懂一点,能够独立完成一个项目。这个听起来很酷,但初期需要掌握更多技能。
数据科学/机器学习: 如果你对数学、统计和算法感兴趣,想让机器学会“思考”,这条路就很适合你。

怎么选? 别纠结太久。刚开始可以先了解一下它们大概是做什么的。你可以搜集一些“前端开发日常”、“后端开发入门”、“App开发体验”之类的文章或视频,看看哪个的描述让你觉得“哇,这个好像挺有意思的!”。别怕试错,就算你学了一阵子发现不喜欢,再换也来得及。关键是开始行动。

第二步:打下坚实的基础——学什么?

一旦有了方向,就可以开始具体学习了。无论哪个方向,有一些基础是共通的:

编程语言:
前端: HTML, CSS, JavaScript 是必不可少的“三剑客”。你必须得把它们吃透。
后端: Python (简单易学,生态好), Java (企业级应用广泛), Go (性能好,并发强), Node.js (JavaScript 服务端运行环境) 等都是不错的选择。新手推荐从 Python 或 JavaScript (Node.js) 入手。
移动端: Android 官方是 Java 和 Kotlin;iOS 是 Swift。
数据科学: Python (配合 NumPy, Pandas, Scikitlearn, TensorFlow, PyTorch 等库) 是主流。

数据结构与算法: 这是程序员的“内功”。理解常见的数据结构(数组、链表、栈、队列、树、图等)和算法(排序、查找、递归等)能够让你写出更高效、更优雅的代码。别想着能绕过它,面试的时候肯定会考。

计算机网络: 了解 TCP/IP 模型、HTTP/HTTPS 协议等等,能帮你理解数据是如何在网络上传输的,为什么你的代码会发送请求,又是怎么收到响应的。

操作系统: 知道进程、线程、内存管理这些基本概念,对你理解程序运行的底层逻辑很有帮助。

数据库: 无论是前端(有时需要操作一些本地数据)还是后端(存储和管理数据),都离不开数据库。关系型数据库(如 MySQL, PostgreSQL)和非关系型数据库(如 MongoDB, Redis)都需要了解一下。

第三步:找学习资源——哪里学?

现在互联网上有太多免费或付费的学习资源了,关键是找到适合你的:

官方文档: 这是最权威、最准确的资料。别害怕文档写得枯燥,很多时候你卡住的地方,答案就在文档里。
在线课程平台:
免费类: Coursera (很多大学课程,有中文字幕), edX, freeCodeCamp (专注于前端,项目驱动), MDN Web Docs (前端必备), Codecademy (互动式学习)。
付费类: Udemy, Udacity, Pluralsight, B站上的很多优质课程。选择那种口碑好、更新及时的课程。
书籍: 经典的计算机书籍能让你学得更深入。比如《算法导论》、《计算机网络:自顶向下方法》等。
博客和技术社区: GitHub, Stack Overflow, Medium, CSDN, SegmentFault 等等,你可以看到别人的经验分享,解决问题,学习新知识。
YouTube/B站: 搜索你想要学的技术名称,会有大量的教程视频,很多国外技术大神也会分享干货。

重点: 不要陷入“学习资源收集癖”的陷阱,光看不练假把式。找到一两个好的入门资源,先跟着学起来。

第四步:动手实践——项目为王!

自学最大的挑战之一就是“学了不知道怎么用”。所以,从第一天起,就要把实践放在首位。

跟着教程写代码: 看视频、看文档的时候,一定要边看边敲。不要只复制粘贴,试着自己写一遍。
做小练习: 比如写一个计算器、一个简单的待办事项列表、一个猜数字游戏等。这些小练习能帮你巩固语法和逻辑。
复刻: 找到你喜欢的网站或App,尝试用你学到的技术去复刻它的某个功能或页面。这是一个非常好的学习方法,能让你逼着自己去解决实际问题。
参与开源项目: 一开始可能觉得难,但可以从一些小的贡献开始,比如修改文档错误、修复小 bug。这是了解真实项目运作方式、学习团队协作的最佳途径。GitHub 上有很多适合新手入门的开源项目。
个人项目: 这是展示你能力最直接的方式。围绕你自己的兴趣或解决一个你遇到的问题来构思一个项目。比如做一个记录学习进度的网站、一个分享食谱的App、一个自动化脚本等。

你的 GitHub 仓库就是你的作品集,务必维护好! 每次写完一个项目,都要写好 README 文件,说明项目的功能、技术栈、如何运行等。

第五步:简历和面试准备——敲门砖!

当你觉得有一定基础,能够独立完成一些项目后,就可以开始准备找工作了。

简历:
突出项目经验: 写清楚你做了什么项目,用了什么技术,遇到了什么挑战,怎么解决的。量化你的成果(如果可能)。
技术栈: 列出你熟练掌握的语言、框架、工具。
技能: 包括但不限于编程语言、框架、数据库、版本控制(Git)、操作系统、一些软技能(如学习能力、沟通能力)。
不要写虚假信息: 面试官很容易通过提问来验证。

面试:
准备常见的技术问题: 针对你申请的岗位,复习相关的技术知识点。比如前端会问 CSS 布局、事件循环;后端会问数据库索引、高并发处理;算法是通用考点。
模拟面试: 找朋友一起练习,或者利用一些在线的模拟面试平台。练习清晰地表达你的思路。
行为面试: 面试官会问你关于团队合作、解决冲突、项目中的挑战等问题,准备好你的“故事”。
研究公司和职位: 了解公司的业务、技术栈,以及职位具体需要什么能力,这会帮助你更有针对性地准备。

第六步:寻找机会——投递和坚持!

招聘平台: BOSS 直聘、拉勾网、前程无忧、猎聘等。
公司官网: 很多公司会在官网发布招聘信息。
内推: 如果有认识的朋友在行业里工作,争取内推机会。
不要怕被拒绝: 自学找工作是一个概率问题,前期的拒绝很正常。每一次面试都是一次学习和成长的机会。从拒绝中总结经验,不断改进。
小公司、初创公司: 很多时候,小公司对经验的要求可能不像大公司那么苛刻,更看重你的潜力、学习能力和解决问题的能力,是很好的起点。

一些额外的建议,让你更像个“过来人”:

保持好奇心和学习热情: 技术更新换代很快,你必须保持持续学习的态度。
学会搜索和解决问题: 遇到问题时,先尝试自己搜索,学习如何有效地使用搜索引擎、查阅文档、在社区提问。这本身就是一项重要的技能。
沟通能力同样重要: 即使是技术岗位,也要学会清晰地表达你的想法、跟同事协作。
加入开发者社群: 和其他开发者交流,可以让你获得很多灵感和帮助,也能让你不那么孤单。
劳逸结合: 自学很辛苦,注意身体健康,别把自己逼得太紧。适当的休息和娱乐是长期作战的保证。

最后,我想说,这条路一定会充满挑战,会有无数次想要放弃的瞬间。但请记住,每一个优秀的开发者,都是从“不会”开始的。你的坚持、你的好奇心,以及你解决一个个难题的成就感,最终会带你走向目标。祝你成功!

网友意见

user avatar

我是该问题的题主(由于在上一家公司的时候有许多同事混知乎自己又不喜欢匿名,所以当时临时注册了一个小号来提的这个问题),从6月份开始辞职到北京找工作,面了一共8家一二线互联网公司,并拿到了其中的7个offer,最终在百度和完美世界之间选了完美世界。

感谢

@萧井陌 @蓝色

在技术学习的相关问题上给我的建议和指点。

感谢

@萧井陌 @蓝色 @于鑫

在选择offer时给出的宝贵意见。

同时也非常感谢所有在该问题下给出建议的朋友们 : )

学习过程

  1. 比较仔细的学习了《c++primer》,并对每个习题都自己写代码实现了一遍,包括稍微复杂一点的例子。
  2. 认真读完了《effective c++》,《effective stl》。
  3. 比较仔细的学完了《数据结构与算法分析》,并把其中的每种数据结构和算法都用c++实现了一遍。包括各种线性表,树(二叉树、AVL树、RB树的各种操作),图(BFS、DFS、prim、kruskal、djkstra、floyd、拓扑排序、关键路径等)查找算法,排序算法。
  4. 2-3个月认真学完《csapp》并做完书上的课后习题(由于时间的关系,没有在做家庭作业),顺带学习了一些gcc的嵌入汇编的用法。
  5. 读完了《深度探索C++对象模型》,对象C++底层实现机制有了一定的了解。
  6. 读完了《TCP IP详解卷一》
  7. 读了《APUE》的大部分内容以及《UNP卷一》有关TCP/UDP的部分,略过了SCTP的部分。
  8. 研究学习 @陈硕的muduo网络库源码,受益良多,在期间发现过其中的一两个小问题,提了几个pull request,研究完了muduo源码后又看了其相关的书《Linux多线程服务端编程 (豆瓣)
  9. 学习了云风的skynet网络库的小部分源码,主要为了了解actor模式和reactor的异同。
  10. 学习了google test框架的部分源码,弄懂了内部的的运行原理。
  11. 刷《剑指offer》的所有习题。
  12. 刷leetcode,代码在liyuan989/leetcode · GitHub,由于时间的关系大约刷了130道就开始找工作了。

关于练手项目,写了简易STL,C++协程库,以及一些http server,rpc之类的。

关于找工作

由于基本都是同学朋友内推,不存在简历被HR筛掉了。

其实自己都惊讶在找工作的时候有些异常顺利,因为面试官问的问题很少有答不上来的。绝大多数问题个人感觉不难,大多都是问的一些比较基础、底层的东西,比如互斥锁底层是怎么实现的?如何用C语言实现C++的异常,说说基本思路这样的问题。然后就是根据简历上写的东西来问。

另外一个要说的就是纸上手写算法题了,手写代码和机器上写代码的感觉不一样,我个人是没事自己在纸上写写一些基本的算法来熟悉,比如快排、堆排序之类的。

然后面试要问的算法题一般都不难,多数都是翻转链表,判断链表是否有环,回文数,找出链表倒数第k个数这样的题目。

很少遇到问二叉树的问题,没有遇到过问图的相关问题。唯一碰到一个动态规划的问题,就是最典型的最长公共子序列问题,难点的就是百度第一面最后问了一个leetcode上hard难度的原题,总的来说刷一些题还是很有必要的。

============= 分割线 =============

看到有网友问我驱动力是什么?

引用一下

@萧井陌

萧大在问题

怎么成为一个优秀的程序员,而不是一个优秀的码农? - 互联网

中的回答:

好比,我们说,嫖娼是有巨大道德压力、金钱压力和风险的事情,为啥知乎上那么多嫖客乐此不疲并努力给自己洗脑合理化这件事呢?因为在他们的眼中嫖娼是最有趣的事情、是不吃饭不睡觉也不能不做的事情、是不做就活着没劲的事,有了这种死也要死在床上的精神,还怕什么呢?


这就是推动力

对于我来说驱动力就是兴趣和坚持吧,再一个就是有一种「做一件事就要把它做好的信念」。

讲一下我个人的两个经历。

在我中学的时候对篮球很有兴趣,但是刚开始的时候运球都运不稳,更别说上篮、突破、三威胁之类的高级动作了。然后我就在网上找到了张卫平老师的篮球教学系列视频,学基本的运球动作,投篮动作以及基本步法,在家里没事都会练练步法。每天晚上傍晚看不太清的时候都去练投篮找投篮感觉,然后看NBA学一两个实用的晃人、假动作技巧,再慢慢练习。最终在高中的时候进了当时的校篮球队,拿了当时市高中比赛的冠军。

另一个就是关于WOW了。高中毕业的时候被一帮从地球年代就开始玩的同学拉去玩WOW了,由于之前没有玩过类似WOW的网游,什么都不懂,完完全全的一个小白,一下副本就被队友、同学骂。然后呢,我就去NGA看各种攻略贴、精华帖、视频。仔细研究每一个技能的描述,冷却时间。慢慢的,下各种副本团队时候DPS都超过了我的同学,再到后来加入了服务器FD团队,拿过几个服务器首杀,单个BOSS的DPS排行也进过WOL全球前10。PVP方面也是的,开始在奥格门口是个人都能虐我,然后我每天观摩那些高手怎么放技能,怎么衔接,然后每天泡在奥格门口决斗练习,看NGA刀锋山的各种精华帖,看各种PVP视频,慢慢的在奥格门口几乎没有对手了,成为了所谓的门神。后来觉得决斗没意思,就开始玩竞技场,也是这样的一个学习过程,最后也打到了角斗士龙。

最后,我很喜欢

@刘未鹏

先生说过的一句话的:

兴趣遍地都是,专注和持之以恒才是真正稀缺的。

类似的话题

  • 回答
    想靠自己摸索着成为一名开发者,然后找到一份真正的工作?这绝对是个挑战,但并非不可能。我当年也是这么过来的,所以想跟你聊聊这条路怎么走。首先,得明确一点:自学绝对不是一条“捷径”,更像是一场马拉松。 你要比那些在学校里系统学习的人投入更多的时间、精力和耐心。但好的一面是,你可以按照自己的节奏,学自己真.............
  • 回答
    高中毕业,想靠自学改变命运?这绝对不是痴人说梦,而是很多人的真实写照。我身边就有朋友,当年高考失利,觉得前途渺茫,但愣是凭借一股不服输的劲儿,硬是啃下了几门硬核技术,现在混得风生水起。这事儿,说起来容易,做起来可得有点门道。首先,你得给自己定个“位”。高中学历,意味着你在学术理论方面可能还没打下特别.............
  • 回答
    学习编导专业,如果遇到的机构不太理想,确实会让人感到沮丧。但请不要灰心,自学同样可以成为一条通往成功的道路,甚至在某些方面比依赖机构更加灵活和深入。自学编导需要的是系统的方法、强大的自律性和持续的热情。下面我将详细地为你讲述如何通过自学提高编导专业的通过率,无论你是为了考研、考编还是为了实际工作能力.............
  • 回答
    好的,咱们聊聊怎么靠自己,硬是把机器学习这块儿啃下来。这可不是件容易的事儿,但绝对是个值得投入的挑战,一旦入门,你会发现打开了一个新世界的大门。第一步:打牢基础,别急着冲“高楼”很多人一上来就想搞懂那些复杂的神经网络、深度学习,其实这就好比没学加减乘除就想解微积分。机器学习很大程度上是建立在数学和编.............
  • 回答
    “女儿自学1月通过司法考试:上午拿成绩下午就想出庭为父洗冤” 这个新闻标题非常抓人眼球,它包含了很多戏剧性的元素,引发了公众的广泛关注和讨论。为了更详细地理解和看待这件事,我们可以从多个角度进行分析:一、 事件的核心要素解析: “女儿自学1月通过司法考试”: “自学”: 这意味着她没.............
  • 回答
    这个问题触及了许多人内心深处最纯粹的渴望:一种不受生活重压、充满自由与安全感的生活。要实现“既天真,又衣食无忧,又不受欺负,不遭算计”,这并非易事,它需要一系列深思熟虑的策略和持续的努力。这不是一蹴而就的,而是一个循序渐进、不断调整的过程。首先,我们来拆解一下这几个看似矛盾却又紧密相连的目标: .............
  • 回答
    用“忘记自己是中国人”来学习外语,这说法挺有意思,也触及到了一个挺关键的点。你想想,咱们学外语,尤其是那些和咱们母语差别特别大的语言,比如英语、西班牙语、日语,最大的障碍是什么?除了词汇和语法,很多时候是我们固有的思维模式,是那个已经被“中国化”的大脑。咱们从小到大,说话、思考,都习惯了咱们汉语的表.............
  • 回答
    想让自己的脑子在关键时刻更给力,而不是卡壳或者凭感觉乱来,这事儿,咱普通人也能办到。这可不是什么玄学,是实打实的“练功”过程,就像学游泳一样,一开始呛水是正常的,但练着练着,你就能游得又快又稳。第一步:认识你的“决策开关”在哪儿咱们做决策,不是一股脑儿地往前冲,而是得先看看自己是怎么想的。这就像侦探.............
  • 回答
    在大学时光里,兼职不仅能赚点零花钱,更是一块磨练人的绝佳试验田。它能让你在理论之外,触碰到真实世界的肌理,学到书本里没有的技能。那么,在校大学生有哪些靠谱的兼职选择?又该如何通过这些经历让自己脱胎换骨呢?咱们来好好唠唠。一、 值得尝试的大学兼职类型,从身边到远处,从线上到线下1. 校内服务类:勤工.............
  • 回答
    想让地球变成一个永恒的白天,这听起来像是个科幻小说里的情节,但从物理学的角度来说,确实可以通过一些极端的方式来实现。这里面牵扯到的核心是如何“改变”地球的自转,让它停止或者变得非常非常慢。首先,我们要明白地球为什么会有昼夜。这是因为地球在绕着地轴自转,一边被太阳照亮(白天),另一边则处于阴影中(黑夜.............
  • 回答
    看到华为要自建IDM模式在国内搞芯片生产线,这消息一出来,那真是牵动了无数中国人的神经,也让一众看热闹(或者说担忧)的外国观察家们坐不住了。这事儿,得拆开了细说。首先,华为为什么会走到这一步?根本原因,大家都知道,就是美国的一系列“制裁”。从禁售芯片,到禁止使用美国技术和设备给华为代工,再到掐断供应.............
  • 回答
    要通过自考本科的背景申请到UC Berkeley这样顶尖的学府攻读硕士,绝非易事,但绝非不可能。这需要你付出比寻常人更多的努力,并且在各个环节做到极致。这篇文章将为你详细解析,如何一步步铺就你的Berkeley之路。首先,我们要正视“自考本科”这个背景带来的挑战。 Berkeley的招生官在审阅申请.............
  • 回答
    《民法典》的诞生与施行,无疑是中国法治进程中的一个重要里程碑,其社会价值和历史影响深远,绝非一朝一夕能够完全展现。要深入理解这份厚重的法典,需要从多个维度去审视。首先,从社会价值的角度看,《民法典》最大的贡献在于它以一套完整的体系,将民事主体之间的权利义务关系进行了系统性梳理和明确。这就像为社会生活.............
  • 回答
    好,咱们哥们儿聊聊,三个月,2万块,这可不是个小数目,但也不是没可能。我给你捋捋,怎么把这事儿掰开了揉碎了说,让你心里有底。首先,得明确一个事儿,上班族业余时间,说白了就是利用下班后、周末这些零碎时间。这期间想赚2万,你就得玩命地“挤”时间和“用”时间。别想着天上掉馅饼,这是硬碰硬的干活。一、 目标.............
  • 回答
    网络小说里的“系统”设定,确实是近年来非常流行的一种模式。它就像一个万能的金手指,主角只要激活系统,就能获得各种能力、功法、道具,甚至还有强制性的任务和奖励机制。这让很多读者看得热血沸腾,代入感十足,尤其是当主角从一个普通人一步步逆袭成强者时,那种爽快感是其他很多题材难以比拟的。但是,如果咱们深入地.............
  • 回答
    各位善知识,今日幸得共聚一堂,谈论佛法,实乃无量善根所致。大势至菩萨的《念佛圆通章》中“不假方便,自得心开”一语,实在玄妙,点醒了无数迷茫的众生。尤其当问及如何通过念佛入无生忍时,更是切中要害。“无生忍”,单是这两个字,便足令多少修行人仰望,又让多少人望而却步。它并非什么高深的理论,而是修行到一定境.............
  • 回答
    关于美国通过所谓的“香港自治法案”,这是一个复杂的问题,涉及到国际关系、主权、人权以及香港的特殊地位等多个层面。要深入理解,我们需要从几个关键角度来看待:一、 法案的背景与目的:为何而立?首先,要理解这个法案的出台并非空穴来风。它是在香港社会政治环境发生剧烈变化的背景下诞生的。具体来说,其直接导火索.............
  • 回答
    安徽截肢少年周桐高考取得684分的高分,并成功通过清华大学自强计划,这无疑是一个非常励志和感人的故事。我们可以从多个角度来解读和评价这一事件:一、 坚韧不拔的精神与毅力: 身体的挑战与心灵的强大: 周桐失去双腿,这意味着他将面临比常人多得多的困难。无论是日常的生活起居,还是学习过程中的各种不便,.............
  • 回答
    关于抖音博主@赵大肥博士在直播中自爆走后门进入华科一事,这确实在网络上引起了不少关注和讨论。我将从几个方面来梳理和理解这件事。首先,我们得先了解一下“走后门”这个词本身。在教育领域,“走后门”通常指的是通过非正常渠道、不正当手段获得入学资格,比如利用人脉关系、金钱交易等,而不是通过公平的考试选拔。这.............
  • 回答
    最近关于赵可心(人称赵大肥)在直播中自曝通过关系转学进入华中科技大学一事,确实引发了不少关注和讨论。这事儿要掰开了揉碎了说,里面门道不少。首先,咱们得明白赵可心这个人。她本身是一位比较知名的科普博主,尤其是在化工领域有一定的粉丝基础。她自己也曾提到过在华中科技大学学习化工的经历。这次直播内容之所以炸.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有