点击上方程序人生, 选择置顶公众号
第一时间关注程序猿 (媛) 身边的故事
注: 本文转自知乎 origin 的回答, 发布已获原作者授权
- https: //www.zhihu.com/question/26421707/answer/53879709
- 01
学习过程
比较仔细的学习了 c++primer, 并对每个习题都自己写代码实现了一遍, 包括稍微复杂一点的例子
认真读完了 effective c++,effective stl
比较仔细的学完了数据结构与算法分析, 并把其中的每种数据结构和算法都用 c++ 实现了一遍包括各种线性表, 树 (二叉树 AVL 树 RB 树的各种操作), 图(BFSDFSprimkruskaldjkstrafloyd 拓扑排序关键路径等) 查找算法, 排序算法
2-3 个月认真学完 csapp 并做完书上的课后习题(由于时间的关系, 没有在做家庭作业), 顺带学习了一些 gcc 的嵌入汇编的用法
读完了深度探索 C++ 对象模型, 对象 C++ 底层实现机制有了一定的了解
读完了 TCP IP 详解卷一
读了 APUE 的大部分内容以及 UNP 卷一有关 TCP/UDP 的部分, 略过了 SCTP 的部分
研究学习陈硕的 muduo 网络库源码, 受益良多, 在期间发现过其中的一两个小问题, 提了几个 pull request, 研究完了 muduo 源码后又看了其相关的书 Linux 多线程服务端编程
学习了云风的 skynet 网络库的小部分源码, 主要为了了解 actor 模式和 reactor 的异同
学习了 google test 框架的部分源码, 弄懂了内部的的运行原理
刷剑指 offer 的所有习题
刷 leetcode, 代码在 liyuan989/leetcode . GitHub, 由于时间的关系大约刷了 130 道就开始找工作了
02
关于练手项目
写了简易 STL,C++ 协程库, 以及一些 http server,rpc 之类的
03
关于找工作
由于基本都是同学朋友内推, 不存在简历被 HR 筛掉了
其实自己都惊讶在找工作的时候有些异常顺利, 因为面试官问的问题很少有答不上来的绝大多数问题个人感觉不难, 大多都是问的一些比较基础底层的东西, 比如互斥锁底层是怎么实现的? 如何用 C 语言实现 C++ 的异常, 说说基本思路这样的问题然后就是根据简历上写的东西来问
另外一个要说的就是纸上手写算法题了, 手写代码和机器上写代码的感觉不一样, 我个人是没事自己在纸上写写一些基本的算法来熟悉, 比如快排堆排序之类的
然后面试要问的算法题一般都不难, 多数都是翻转链表, 判断链表是否有环, 回文数, 找出链表倒数第 k 个数这样的题目
很少遇到问二叉树的问题, 没有遇到过问图的相关问题唯一碰到一个动态规划的问题, 就是最典型的最长公共子序列问题, 难点的就是百度第一面最后问了一个 leetcode 上 hard 难度的原题, 总的来说刷一些题还是很有必要的
04
驱动力是什么
对于我来说驱动力就是兴趣和坚持吧, 再一个就是有一种做一件事就要把它做好的信念
讲一下我个人的两个经历
在我中学的时候对篮球很有兴趣, 但是刚开始的时候运球都运不稳, 更别说上篮突破三威胁之类的高级动作了然后我就在网上找到了张卫平老师的篮球教学系列视频, 学基本的运球动作, 投篮动作以及基本步法, 在家里没事都会练练步法每天晚上傍晚看不太清的时候都去练投篮找投篮感觉, 然后看 NBA 学一两个实用的晃人假动作技巧, 再慢慢练习最终在高中的时候进了当时的校篮球队, 拿了当时市高中比赛的冠军
另一个就是关于 WOW 了高中毕业的时候被一帮从地球年代就开始玩的同学拉去玩 WOW 了, 由于之前没有玩过类似 WOW 的网游, 什么都不懂, 完完全全的一个小白, 一下副本就被队友同学骂然后呢, 我就去 NGA 看各种攻略贴精华帖视频仔细研究每一个技能的描述, 冷却时间慢慢的, 下各种副本团队时候 DPS 都超过了我的同学, 再到后来加入了服务器 FD 团队, 拿过几个服务器首杀, 单个 BOSS 的 DPS 排行也进过 WOL 全球前 10PVP 方面也是的, 开始在奥格门口是个人都能虐我, 然后我每天观摩那些高手怎么放技能, 怎么衔接, 然后每天泡在奥格门口决斗练习, 看 NGA 刀锋山的各种精华帖, 看各种 PVP 视频, 慢慢的在奥格门口几乎没有对手了, 成为了所谓的门神后来觉得决斗没意思, 就开始玩竞技场, 也是这样的一个学习过程, 最后也打到了角斗士龙
最后, 我很喜欢刘未鹏先生说过的一句话, 送给大家:
兴趣遍地都是, 专注和持之以恒才是真正稀缺的
如果你在自学编程上有可以分享的个人经验
来源: http://blog.csdn.net/csdnsevenn/article/details/79031782