共计 11001 个字符,预计需要花费 28 分钟才能阅读完成。
你 是否还记得,你 与夜幕 相识于那夏日将至未至的春天、冬日即始未始的秋天。夜幕一直与诸位同行,期望和诸位一起编织罗网。
麦月,夜幕开启了主题为「你和夜幕相识已久」的问题征集活动。活动在多个微信群中展开,共收到几百名工程师朋友们的反馈。
有期望探讨 学习技巧 的、有期望了解 爬虫未来发展趋势 的、有关注 成员个人状态 的、有研究 工作就业 的、有想知道 如何找到一个漂亮女朋友 的(真是个好问题,我也想问)。
噢!还有一个大家都比较好奇的问题:夜幕团队成员的工资是多少?
在收到几百个问题后,摆在我们面前的是 如何在不一问一答的情况下覆盖到大家 的问题。这看起来需要用算法来解决——分治。我们将问题进行了分类,而后团队成员对某一类问题给出建议或者观点。
接下来,进入到正式环节。
1、探讨学习路线和方向的问题
由 Crawler
、Neil 吴
、 我要改名字
、summer
、Lzx@time
、 启发
、 咕噜噜
、sean
等工程师为代表提出来的围绕 深度学习路线
、 自学一门学科
、 大数据怎么选方向
、 逆向先学基础还是上手就实战
、 后端转爬虫行不行
、 有什么合适的 JS 逆初学者练习网站
等探讨学习路线和方向的问题,原问如下:
崔庆才 静觅
深度学习路线的话,可以先跟着 PyTorch、TensorFlow 学几个案例,同时学学吴恩达的机器学习和深度学习课。工具用熟了之后深入去研究某个领域,看论文、看模型、深挖算法。
逆向方面,建议在寻找逆向平台的同时多参考逆向相关的文章资料,可以看看夜幕 JS 逆向课的练习平台,另外夜幕咸鱼的公众号「咸鱼学 Python」、夜幕蔡老板的「菜鸟学 Python 编程 」、花哥的「 妄为写代码」也有一些不错的案例和讲解。
爬虫转行的朋友,到底转还是不转?这个得好好想想,这个需要了解的东西很多,坑很深,可以参考:https://mp.weixin.qq.com/s/wXh7dAU8KK-aLkQAHLCxBA。如果确定要转,找学习资料的时候不妨看看我的博客或书籍 https://cuiqingcai.com/5052.html。
周子淇 Loco
转行是个摆在眼前,且不得不谨慎考虑的问题。爬虫行业目前来看 做不到高级的话,体力活居多 ,你需要应对各个平台的各种反爬,他们改你也要改, 比较被动,所以通常来说目标平台的数量和难度越高就会越累。
做爬虫这种逆向开发岗位的人通常 思考问题的方式要与做正向开发的完全不同,如果你不懂得逆向思维的话你会很累。
而且做爬虫会用到很多 不同领域的知识点 ,如果知识面不够广,在碰到一些难搞的东西时你可能都想不到解决方案。当然这方面 目前方法论也挺多的 了,主流的一些操作一般都能找到对应的、统一的方法来解决。但是,总会有些能让你感到匪夷所思的东西 ,这时候如果你能想到一些骚操作的话很可能就是 降维打击 了。
所以实际上我 并不推荐转行做爬虫 ,特别是不懂技术的人和思维方式已经固定死了的人,真的不建议转,很可能最后会 感觉自己在搬砖 。如果你想试试的话,那就学一段时间试试看能不能 在不看教程的情况下搞定一些公认有难度的东西,能的话转行自然不成问题。
韦世东 镇岳剑
自学,我相当有发言权。自主学习且快速 掌握 关键知识点的 唯一方法 就是 实践 , 学习有技巧但没有捷径 。我举个例子,很多人都知道有个可以用来生成全局唯一 ID 的雪花算法 Snowflake,有很多人用自己擅长的编程语言去做具体实践,而且还编写了文章,告诉你如何实现。这很好,假设 学习 这个行为系列动作有评分标准(满分 100),那么我的定义是:
通过 搜索引擎找到并阅读文章,得 30 分;
跟着文章 动手操作,得 50 分;
实践过后,自己消化并理解知识点,整理出自己的文章,得 70 分;
对整个 全局唯一 ID 链路 有研究 ,了解 Snowflake 的优缺点,并 扩展 到例如美团 Leaf、百度 UIDGenerator 等架构实现,得 88 分;
吸收 Snowflake 的 知识 ,吸收美团 Leaf、百度 UIDGenerator、微信 Seqsvr 等 架构和具体实现 的知识,自己 动手实现 一套类似但有突出优点的工程,得 100 分;
将工程实践变为企业可用的服务或产品,得 500 分;
这就是我每次学习都能够 掌握我想掌握的知识 的方法——通过资料了解、用熟悉的语言模仿、有目的地吸收、在尝试中转化、主动去创造、让它变得更贴近需求,强无敌。
无论你在学习前有没有基础、是否知道自己该学什么、有没有人指点,这套方法都适合你。
文安哲 sml2h3
现在的软件开发 无论是哪一行 都不再像从前一样只需熟练一个方向,尤其是爬虫工程师这一个方向 ,若想在这个方向有一定建树,所需要涉及学习的知识面非常广。 爬虫工程师这个方向横跨多个知识领域 ,如:js 逆向、深度学习、分布式设计、并发管理等。如果你想问哪个方向需要优先学习、哪个方向稍后学习,那我只能说这个 并没有一个明确的标准。
这种广度要求的情况其实也使得很多人感觉很迷茫,不知道该怎么下手学习。其实完全不必担心,学习永远是跟着兴趣走的 。但是要注意,尽量 集中力量干大事,利用相对整块的时间。比如说一个晚上、周末一天等,不说一天快速达到很高的水平,最起码要入门或者学有所得,不能刚学个两三分钟就转投别的知识的怀抱去了。
然后就是 跟着兴趣和当前实际工作需要走 ,优先在当前最紧急需要解决的问题中依靠自己和搜索引擎去成长。遇到问题,尽量不要向他人求助(除非现在不搞定就会要了你的命),而是完完全全 在自己的不断试错中去学习,在一遍又一遍的资料搜索中不断吸收 可能搜索引擎推荐的 和你问题可能并不相干 的知识,或者是在错误中不断积累总结。
2、时间管理和学习方法
关注这个话题的群友相当多,由 欢乐马
、Apeng
、 胡已源
、 喵~~
、linupy
、姜吉宁
、FreezeD
、 往昔岁月
、 叉叉敌
、 猫的天空之城
、hozho
、 李天柱
、 姜薇
、 海滨
、 戈
、林夕
、 夏侯麒麟
、GodA
、 你的名字
、 杨藤
、 小 Gy
、奶维
为代表的朋友提出了 你这么牛,我怎么才能和你一样猛
、 推荐一些学习方法
、 大佬的时间是怎么挤出来的,时间管理规划怎么做
、 我需要高效学习
、 如何保持专注
等目标很明确的问题。原问如下:
唐轶飞 大鱼
工作方面,我推荐使用 番茄时间工作法 ,将 大目标切割成小目标 , 分段 并且 高度集中 的去 解决 一个 问题 。高效学习方面,我推荐向东哥学习,他的学习能力我是自愧不如的,不过我也可以讲讲自己的经验,就是除了技术之外,也可以 关注一些非技术 的内容,多学一些 基础学科 ,比如关注自己心理建设的 心理学 相关、逻辑思维的数学。
周子淇 Loco
高效学习方面,说实话,其实这种问题每个人的做法都不同,但核心的点其实还是多做、做自己想做的,用 欲望 (兴趣、利益等)来 驱动学习,只要你真的很想学,那自然就会很高效,也自然能记得住。
当然,在家里就是不想学习的人其实挺多的(我也是其中之一),所以 … 或许你可以选择在公司学习?不过这个指的不是在工作中学习,而是指在做完了公司的事情之后在摸鱼时间学习。
但是肯定还会有人说:“公司的事情太多了,做不完,哪有时间学?”
这时候其实你需要的是 高效地解决事情 ,可以看一下《 如何高效地完成要做的事?》中我的回答。
如果你看完了上面那个回答之后,还是觉得:“这些我都试过了,但是我确实就是不行,我感觉我就是学不会”。
那这种时候可能有两种情况:
1、心理上的问题
这种情况可以找个心理医生聊一聊。当然这不是说你是有心理疾病,只是你可能有点缺乏自信之类的。心理医生能快速帮你梳理清楚情况,并且帮助你从心态上转变过来。
另外,也建议阅读一些经典的 心理学 书籍,会很有帮助的。
2、你确实不适合这个方向
这种情况真的建议趁早止损,要不然只会越来越没兴趣、越来越没动力,还不如趁早换个方向,找到适合自己的。
两种情况都是拖得越久越麻烦的,特别是第二种,尽早止损 很重要。
张冶青 Marvin.Z
程序员很多时候是需要保持一定的专注度来完成一项复杂的任务的。因此,很多朋友会计划预留一大片连续的时间来完成复杂任务或者自己看书充电。然而理想很丰满,现实很骨感。很多时候在做一件事情时会受到 各种各样 的干扰:上司的新任务安排、非计划性会议、同事找你咨询事情、朋友微信找你聊天、拼多多推送 1 折商品秒杀,等等。这些干扰都会影响你完成一件正在做的事情,而且很多时候你是必须处理这些事情的,比如老板找你,应该不会说你正在忙吧。
要保证专注度,提高自己完成事情的效率,我认为可以尝试三种解决办法:
第一,增大连续工作时间;
第二,降低或减少干扰;
第三,制定计划。
增大连续工作时间是增加你完成一件复杂事情的有效办法。例如,完成一个搭建企业数据中台的提案,就是一个非常复杂的任务。当你连续工作的时间增加时,你的大脑会进入深度工作状态,你的灵感和逻辑会最大限度的发挥出来。这样,你会发现你的专注度提高了。
降低或减少干扰,这也是保持专注的措施之一。这其实跟增大连续工作时间是一致的,因为你受干扰的次数越大,你的连续工作时间就越少,从而你的专注度会受到很大程度的影响。就像开车一样,如果你持续的遇到路障、转弯、堵车,你的驾驶速度怎么也提升不上来 。比较好的办法是 找到尽可能多的独处的时间 , 屏蔽社交应用和其他推送信息 , 克制自己不要主动去看微博新闻刷朋友圈。这一开始可能比较痛苦,但当你不断的成功克制自己去做不相干事情的时候,你会发现自己的专注度提高了。
制定计划也是很重要的保持专注度的方法。因为,很多时候你其实是必须完成一件事情的。这里参考 艾森豪威尔原理 或 四象限原理 ,也就是在 重要性 和紧急性 两个维度将事情进行 分类 ,分为: 重要紧急 (生产环境有 bug)、 重要不紧急 (学习充电)、 不重要紧急 (接朋友电话)、 不重要不紧急(玩游戏)。这个原理其实很普遍了,可以网上搜索一下如何来规划这四个象限的事情。这里就不展开讲了。哪些事情该优先处理,哪些事情可以延后处理,其实是一目了然的。
做到这三点,相信你的专注度会提升很多。
蔡晋 蔡老板
工程师的日常自学,必须 善用搜索引擎和文档 。 多操作 , 熟能生巧。
生活、工作和学习的平衡
我白天工作、晚上下班了学习,通勤路上也会利用碎片化时间学习,坚持久了,就变强了。很难将平衡控制在固定的点,但可以给自己设定一个范围,例如每天保持多长的学习时间 —— 崔庆才 静觅;
说实话,其实这种问题每个人的做法都不同,有些人就是喜欢在家的时候啥也不干地打发时间,有些人就是喜欢各种折腾、学习新知识。人和人是不一样的,没必要以别人的方式来要求自己。实际上只要你能高效完成工作上的事情,那么你也自然能在公司里进行学习,回家还是爱干啥干啥,并不影响。所以 怎样高效完成任务才是关键 —— 周子淇 Loco;
避免让无尽的工作影响你的生活和学习。我们来看一个立场问题:企业往往认为你工作不饱和或者效率低,从而提出让你加班;你认为加班是没有意义且会大幅降低整体效率的劳动,加班不仅让你变得有压力,而且会 失去灵气和鲜气 ;无论 你选择 跟公司妥协,还是抗拒加班或者主动跟公司协调,你都会 得到一个结果 ,你只需要权衡利弊, 做出选择 并坦然 接受由此带来的结果 即可。我从来都不会在这方面有压力,因为 压力会自动转移到那些无法接受结果的人身上 , 不要患得患失,淡定是王道 —— 韦世东 镇岳剑;
学习就是要 挤占你的休闲时光 ,从一个惬意点氛围中走出来,把持续学习培养成一种习惯,当学习成为一种习惯的时候,此时的它就是生活了。学习的 方向很重要,选一个你真心热爱的方向,或许你才能不那么累,才能坚持的更久——冯威 花儿谢了;
失去了灵气和鲜气的你,和一台愚蠢的机器有何区别? —— 韦世东 镇岳剑;
3、职业发展与未来趋势
很多朋友表示对爬虫工程师的未来、对 Python 开发者的未来,甚至是 IT 工程师的未来感到担忧。以 毛线
、 我陪她去东边看海~
、大洋
、 莫颜枫
、 易先生
、C
、 麦霸其实不唱歌
、Liberty
、 興華
、walker
、Leon Lin
、ycg
、 晗风依旧
、 半岛铁盒
、 往后余生 目光所致都是你
、 其实我是个演员
、 眼熟
、 熊走四方
、Final
、 莫等闲
、 韩创
、 飞蛇
、Huskiesir
、 白纸
、K
、 阿白
、 王赛
、 莫叹
、 嘴强王者
为代表的几十位群友提出了例如 做技术可以长久吗
、 爬虫工程师的后路该怎么走
、 工作找不到乐趣,Python 没有动力了
、 爬虫未来的技术趋势是什么
、 爬虫不能一条路走到黑,我该何去何从
、35 岁以后做什么?
等。原问如下:
技术不会被淘汰,数据永远是需求,但爬虫的技术方式和工具会被淘汰或者革新。现在反爬和风控已经非常强了,一些大的 App 如果不专门深入研究是很难破解,风控也是很大的问题。以后可能要走纯模拟而不是破解这条路了,数据越来越不好爬了。如果你考虑未来,那么可以尝试往后端研发、数据分析或者机器学习上转移,参考知乎的一些回答吧:https://www.zhihu.com/question/49393493。建议在保证知识宽度的情况下选择一两项深入研究,从中找到自己的兴趣并坚持下去。—— 崔庆才 静觅;
呃,每次和大家讨论到
爬虫工程师的未来
这个话题,我的答案都是一样的:提早准备第二方向,可以是逆向工程师、服务研发、架构、数据分析、深度学习,要与你的能力和兴趣契合,我自己转向 分布式服务研发 和架构 。另外,有能力的工程师不需要担心 35 岁的问题, 菜的终日惶恐,强者根本不虚。—— 韦世东 镇岳剑;职业发展方面,我本身也处于时刻的紧张期,不过前段时间看了 v2ex 的一篇帖子,大概就是一位非常优秀的硕士生说到自己的学术之路不顺利,表示想找工作。随即,楼下涌现 BAT、微软等各类大中小型企业的工作人员想要他的简历。我只能感叹,牛逼的人受到外在因素的影响会小很多,保持自律和学习,我相信这才是我们拉开他人距离,保持自己竞争力的法宝。—— 唐轶飞 大鱼;
4、工作和薪资
大家都希望能拿到更高的工资、进入更好的公司,我们自己也有这个期盼。看到大家对工作和薪资这两个主题贡献了那么多话题,我们就放心了。以 AI 悦创
、 寄予蓝 y
、百晓生
、 大橙子
、footMan
、 带走
、lyc
、 小阿信
、 后来
、 帆
、顾东升
、yzr
、 慕唐
、ymj
、 小河
、 春明
、 食指和中指
、bl
、 董一凡
、 故里
、 忘川
、 疾驰的熊猫
、 融冰
、LIMBO_Phantom
、 不想做咸鱼的咸鱼
、 光头先生
、 大阿飞
、yshhan
、Lz12Code
、 浮生
、AndrewTsui
、TheMan_勇敢的心
、ObjNotFound
、 张磊
、 一堆字母
、 红烧排骨红烧鱼
、 文锋里
、 茜茜
为代表的几十位工程师提到了 应届毕业生好找工作吗
、 爬虫面试会问什么问题
、 找爬虫工作要具备哪些知识和能力
、 非计算机专业 / 非 985 211 好找工作吗
、 如何提升自己的竞争力,拿到高薪 offer
、工作以工资为主还是以人脉和学习进步为主
、 找工作处处碰壁,我该怎么办
、 爬虫工程师的工作情况是怎么样的
、 会点逆向能去大城市吗
、 学历……
等非常贴近真实场景的问题。原问如下:
陈祥安 CXA
无论你是不是爬虫工程师,做技术的都应该去 大城市,因为大城市的技术相对更尖端,机会也更多。爬虫分两个流派,逆向流和架构派。除了流派之外,基础能力和知识面一定要够扎实,面试的时候可不仅仅只会问你遇到反爬怎么办,还会问你网络通信、存储、性能和数据传输等问题。
落后就会挨打,如果你的学历不高,可以考虑提升学历或者提升个人能力,强到一定程度就可以让公司忽略你学历低的情况。大城市的工作岗位并没有想象的那么难,勇敢去尝试,尝试才是成功的开始。
蔡晋 蔡老板
实力变强,找工作就更容易。找工作除了招聘网站外,在技术群或者技术论坛寻求内推也是一个好办法。
唐轶飞 大鱼
学历问题会导致“你比别人差”,我相信大家在找工作或者平时的工作生活中都会有体会到,所以我们应该自惭形秽吗?
不用,承认事实的目的是:知道现在是什么样的处境,知道在这样的处境下怎样利用身边的资源(时间,精力,朋友等)达到自己的目标,接受不完美的自己才能进一步的知道怎么努力。看问题的角度,加上了时间的维度之后,很多事情都有可能性,“你比别人差”其实是单一角度的评价。
韦世东 镇岳剑
不瞒你说,我现在 28,大专学历、自学转行,一直在变强,计划 35 岁 退休。这个退休并不是颐养天年,而是说不用再奋战在一线城市的火线,我可能会找个学校当老师?或者自己创业开两三家公司?又或者到哪个集团做一名架构师?
有时候学历问题是无法逾越的,我遭遇了三四次这样的情况,不过损失的不单单是我,对方也有极大的损失。
冯威 花儿谢了
爬虫面试会问什么? 要有什么能力才能找到工作? 爬虫工作有前景吗? 3 年经验薪资多少才合适? 爬虫就业情况如何? 如何拿到高薪 offer? 什么时候才能去找爬虫工作?这几个问题问得好,你只需要到招聘网站上搜集 200 份爬虫岗的招聘要求和薪资范围,并把他们整理汇总出来,你就能够得到准确的答案。
夜幕团队成员的工资到底几 k
团队成员工资这个话题,想必大家都比较感兴趣。工资的多少会受到城市、具体岗位、谈判能力 、工作年薪、学历、技术背景、单位福利、企业发展状态、岗位需求程度、进入企业的时机等 多方面因素的影响 。很多时候企业新人会比企业老人薪资更高,但不见得能力差异有多大,这是 谈判能力 和市场需求程度 决定的。
像文安哲这种早期进入企业、受到老板尊重 的技术排面 、常年待在爬虫领域 食物链顶端的男人 ,猎头溢价 50% 也挖不走。团队成员并不都在北京(北京、深圳、福州、成都、苏州),但可以确定的是大家的薪资基本都处于所在城市的中上水平,团队中等薪资约 26k,有高有低。像崔庆才这种 领域的佼佼者 ,同时又在世界顶尖的企业工作,薪资可以说是韦世东、陈祥安、冯威、周子淇、蔡晋、戴煌金等成员的 天花板 。张冶青在世界知名的跨国企业中工作,大家可以 放开了猜 。大鱼在国内顶尖的互联网公司任高级研发,大家也可以 放开了猜。
要想工资高,逆向、架构、AI 选一个扎进去!
5、针对性较强的问题
一些群友的问题角度刁钻,相似提问很少,这里单列出来。
5.1 做项目时如何保持健壮性、规范性、好的维护性
例如 ymj
提到的 做项目时如何保持健壮性、规范性、好的维护性
,还有另一位朋友提出的 商业级爬虫项目如何保证稳定、长时间、大量的采集?
,这俩的关键就在于如何保持系统稳定运行。
这个一个 工程链路 的问题,它不单单是某个功能点的改变和设计能够实现的效果。这条链路通常由架构师设计,用 一整套实践方案 来提高 整体的可用性 并保证 极高的性能 。例如会采用 错误前置机制 来避免影响下游 的流转、采用 异常主动发现机制 来提高 问题的发现和处理效率 、团队采用 统一的开发标准 和结对编程 来确保 模块的稳定性 、会通过要求大家 自己编写单元测试 且开发人员 两两交叉验证 来确保 程序的正确性 、会通过 编码规范 来规避那些 可能出现的风险 (例如死锁)、会通过要求开发成员提供 功能设计文档 和设计图 来降低维护成本 、会使用巧妙的设计来规避可能出现的缓存雪崩、缓存穿透、消息堆积、消息重复、数据丢失等问题、会通过 冗余 的集群来确保 数据可用性,这样一整套的方案才能够保证健壮性。—— 韦世东 镇岳剑
5.2 如何找到漂亮妹纸做女朋友
我甚至都不记得是哪几位朋友,提出的 如何找到漂亮妹纸做女朋友
这样的问题。我们团队除了文安哲这个单身狗之外,都是 被青睐 的人。无论是崔庆才、张冶青、周子淇、冯威、煌金、蔡晋还是其他成员,大家的一致看法就是:提高自信、多去参加有妹纸在的社交活动、轻松且大胆地展示你的才能、多关注她人的兴趣爱好、主动邀约,只要你不主动跟妹纸谈计算机和编程,你就还有机会。
5.3 简历怎么写
很多朋友都是不会写简历的,提出了 简历怎么写?
、怎么在简历里突出亮点?
、简历里哪些内容是不该出现的?
、工作经历是瞎编还是如实描述?
我们团队的成员也不怎么拎得清,韦世东上京之前也会找队友帮忙看简历,找出可以优化的点并改进。团队推荐你们去找专业的介绍面试和简历的解读资料或者教程,听说拉勾出过一款这样的教程,不妨去找找看。不过可以确定的是,简历要如实描述,切不可虚张声势。
5.4 如何从零开始学习逆向
这恐怕是群里讨论得最多的问题了,我们团队成员全都是从零学习逆向的,这里推荐咸鱼、花哥和蔡老板来给大家作答。
戴煌金 咸鱼
这个问题我在读者群里回答了不下 20 遍,但类似的问题总会不断的出现。
是真的不知道如何入门吗?我认为并不是。
当然这个问题不是让我来吐槽的,所以就我个人学习 JS 逆向的经历来聊一聊,希望能够对你有所帮助。我是在一个机缘巧合下接触到 JS 逆向的。我在陈祥安的群里看到一个企业信息查询的网站,获取企业信息的请求包含了一个加密参数。
因为 好奇 我试着分析这个网站的加密,当然结果是失败的,不过很快在群里的其他人的消息里我明白了这个参数的加密是如何分析的,我快速的 收藏 了群里大佬分享的解密文章,之后按照这个文章进行了一次 复现 ,完成复现之后我开始按照群里大佬分享的 Chrome 开发者工具的文档开始不断 踩坑 , 求教。
按照上面我标注出来的几个关键词,好奇、收藏、复现、踩坑、求教。大家可以大致明白我学习 JS 逆向的过程,由好奇引发需求,通过收藏完成资料的收集积累(很多爬虫爱好者到这一步就结束了,资料永远在落灰),通过复现、踩坑消化收集的资料,并且通过向大佬请教答疑完成整个过程的闭环(注意提问的姿势)。
这里再扩展另外几个出现频率一样高的问题:学习 JS 逆向有必要学习 JavaScript 语法,应该学到那种程度?是不是应该先学好 JS,再开始 JS 逆向?
实际上学习 JS 逆向有必要学习 JavaScript 语法,掌握基础语法即可,之后有遇到看不懂的代码即用即查,在实践中学习和巩固。没有必要为了吃鸡蛋而自己养鸡,买就好了嘛!
冯威 花儿谢了
我始终认为 兴趣为先,其次是执行力,逆向工程是个很大的话题,涉及到的知识面比较广。
你要明确你自己是否热爱这个方向,这个方向是否能激起你的斗志,是否有过那种钻研技术 茶饭不思 、 夜不能寐 的感觉和经历。知识学无止境,相信自己可以变得更强,然后践行之。
当今时代感觉就是知识付费的时代,相比其他技术圈子,逆向圈子会更加封闭,所以通过付费走进一些圈子必不可少,特别是当我们还没足够的技术输出来证明我们的实力和水平的时候,我们就是小弟,这个圈子就是实力至上。
js 的逆向就不说了,说点 app 逆向的学习途径吧,在开始正式学习 app 逆向之前我就看了很多文章,吾爱论坛丑小鸭的,四哥的其实是有点水中看月的感觉,没有足够的基础就是显得飘渺。后来我在上下班的通勤地铁上过了一遍,慕课网的 Android 就业班,小甲鱼的 x86 汇编,c 语言,还有一些零散点的 Android 插件化热修复和逆向大佬 F8 的视频学习。
当然这期间确实敲代码实践的过程没有看的多,但去学习总归是大于不学习的,比如我学习了一遍热修复就知道了热修复大概是怎么玩的,就在用的时候,通过搜索引擎完成复制粘贴还是可以的。
我 2020 年就是计划过一遍 C++ 和看雪逆向班学习,职业生涯刚刚开始,知识学无止境,期望和相信我们自己可以变得更强,然后践行之。
蔡晋 蔡老板
学无止境,你干的大部分事情都是从头开始的。多参考业内优秀人才的文章,跟着他们的思路着手,做着做着你就会发现自己有不同的思路和看法,这时候你已经上道了呀!
5.5 技术应该全面还是深入
我们再次推荐咸鱼和花哥给大家作答。
戴煌金 咸鱼
这个问题的核心讨论的应该是由点及面还是由面及点。我认为技术人员成长的过程中就像一颗小树苗在成长,只有树根扎的越深,在台风来临的时候才顶住风雨。
我们的技术生涯里会接触到很多的技术栈,如果样样都学很可能一事无成,也就是多而不精。当你深耕某一领域,自然而然就会接触到很多相关的技能,慢慢的你的技能树就会向外拓展延伸,切记别做一个“假的”斜杠青年。
冯威 花儿谢了
刚来北京的时候最先找工作是 web,面试了一圈都没人要我,后来就去干了爬虫。我很庆幸这个方向是我喜欢的,我目前要做的就是不断学习,提升技术没考虑过转行,方向和专注真的很重要。我没有迷茫,我对自己的目标是:js,app,验证码,现在主攻 app 逆向,后续发展方向就是从爬虫偏逆向转正到移动安全的逆向。
30 岁以后说实话还没想过,我离 30 岁还有 7 年,我还有无限可能。近几年的目标就是,别人 5 年成就高级工程师之职,我要缩短一半的时间完成这件事,年薪 50w 之前,每年年薪 +10w。飞到更高点的天空之后,再去考虑别的事。
5.6 如何从初级爬虫工程师快速成长到高级
这是一名女工程师提出来的话题,她的昵称是 茜茜
。说到快速成长,这里推荐韦世东作答。
韦世东 镇岳剑
初级工程师到高级工程师是技术沉淀和时间的积累,没有捷径,但有加速的技巧。我学习一个知识点的时候,往往会学到透彻,连带掌握这个知识附带的内容,且举一反三。重要的是我从不在相同或相似的知识那里停留,很快就会投入到下一个知识点的学习当中。我会想方设法地让我所学的知识应用到项目当中,没有项目就自己创造项目,造更新、更强的轮子。
花更多的时间,我转行到 IT 不到 3 年时间,整个过程都是全力学习的,除了生活琐事、人类生存操作和情绪调节(通过玩游戏来释放不好的情绪)之外,都在学习,因此我的学习时间是普通人的 2 倍。综合起来,我的学习付出是其他人的 2 倍,所以能够在相同的自然时间内收获到比他人更多的知识,当然眼睛近视的速度也会是别人的 2 倍。
6、课程相关问题
夜幕团队推出了《JavaScript 逆向系列课》和《JavaScript 逆向高阶课》,这两门课不仅挣了钱,还为爬虫领域输出了不可多得的重要学习资料。我们的初心是要和大家一起加速爬虫的进步,深谙工程师学习之道地我们没有选择免费公开课,而是采用了收费的形式,具体原因大家可奔放猜测。
6.1 练习平台或论坛能不能偶尔更新一些题目
我们是有这个计划的,但依旧不会提供练习题答案,因为一旦有了答案就很难学会。
6.2 关于课程内容,可以持续更新一些实用的小技巧吗
可以,系列课我们已经发布了 5 篇补丁文章,后续还会继续补充知识的。
6.3 在学习逆向,实际操作中比较难实践,有没有什么好一点的实操办法
我来聊聊 APP 逆向,它的高度取决是正向开发的高度,所以首先说明你想要足够强,Android 基础,framework,art 之类的学习必不可少。如果工作需求推动的话,可以先去实战,做一些不怎么优的技术方案实现,留下一些疑问,等反过来学习的时候或许会更加深刻。如果没有工作推动的话,还是先从基础学起吧,走循序渐进的路线。—— 冯威 花儿谢了
6.4 几个关于架构、高性能和分布式的问题
例如 一直在关注分布式、架构、消息队列等知识,但不知道要掌握哪些
、 可以考虑出一期架构小课
、 有没有考虑讲讲高并发的知识
、 如何入门分布式爬虫
等。
分布式和架构可以考虑购买一些相关课程,例如极客时间、拉勾上都有相关专栏 —— 崔庆才 静觅
我也是在几大知识付费平台开启的分布式和架构转型,建议你也去看看。如果你等得了,不妨考虑我年底要开的爬虫架构实战训练营 —— 韦世东 镇岳剑
6.5 会出 APP 的不
不确定,团队正在商讨低价的 Android 逆向入门课。APP 的摊子比较大,而且耗费的时间比 JS 逆向课程多太多。我们也会考虑第三方合作等方式,为爬虫领域贡献更多的有效资料。
6.6 风控和应对
高阶课里有讲到风控和指纹等,虽然这是 JS 方面的,但思想上与 APP 的风控不会有大差异,值得参考。
大家相当热情,请在评论区留下未得到回复的问题或者你的新问题,我们一起讨论
向大家推荐顶尖国漫:那年那兔那些事
考虑篇幅问题,回答经过了修饰和调整,更多一对一回答请关注 NightTeam 在知乎和思否社区的团队账号,后续我们会在合适的问题下贴出更详细的回答。