0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

优秀工程师经验分享

工程师人生 来源:wv 作者:简书网 2019-09-26 17:55 次阅读

大多数人喜欢碎片化时间阅读一些文章或者自己感兴趣的技术博文。比如你在上下班路上、点餐等饭时间看几个公众号技术文章,很多人会大致浏览完。我觉得这样不如不读,或者收效甚微。因为脑子只有印象的话,看完的文章过半年后问,肯定一问三不知了。与其多篇文章大致浏览,不如精读一篇文章,并动手实践每个技术点和细节。必要时做好博文记录最后总结输出。

另外对于每个技术不要停留在会用(我称之为 api 资深工程师)而是知道这个 api 背后的原理,设计模式、设计的优缺点。比如 iOS 领域著名的 WKWebView 很多人知道 NSURLProtocol 可以拦截其他的网络请求却拦截不到它里面 post 的 body 内容。你查看了 webkit 源代码之后就知道 WKWebView 官方宣传快,是说自身做的事情少了,很多任务比如网络是新开了一个独立线程去处理,所以独立线程处理网络完了通过 IPC 的方式将 post 的 body 通过压缩然后 IPC 给 WKWebView 这会非常消耗资源,所以系统索性不给你传递了。

带着这个疑问看看 Chrome for iOS 的开源项目(至于为什么会看它?因为个人研究多端融合能力、Chrome 这样的浏览器如何渲染处理等流程感兴趣所以看的),看到它里面在用 post 传 body。纳闷了,和 webkit2 源代码不一致。这些现象等都是需要深入才可以理解的。当你遇到一个问题发现网上找不到资料或者资料比较少的时候你就算对这个问题的研究比较深入了。

此外,不管做产品还是技术都不要凑合,必须要做到极致或者最好。上面说的反爬虫技术是我在公司担任 iOS 工程师的时候做的。当时进去一个月写完一个 App,追到 Android 进度。然后不满足于进度,在此基础上做到的一些优化、且通过抓包方式进行业务测试的时候找到了 Android 和服务端的一些 Bug,最后还发现安全性较低,在此基础上,做了 HTTPS + 证书验证 +RSA 证书校验、AES 数据加密,做到了 App 被别人抓包马上就断掉链接。假如技术再高明些看到请求信息也是加密过的(不是 HTTPS 自己的加密,是自定义的加密)和防重放策略。

之后鉴于公司的网站太落后,用 Vue 进行重写,再做了安全升级等工作,这样总经理看到个人能力,担任小公司大前端负责人的岗位。这阶段的成长也蛮快的
然后换工作,也是一样,严格要求自己,半年时间做了无痕埋点、组件化、模块化、Hybrid 能力提升、商城业务模块开发等等,从高级工程师升级为资深工程师。个人目标2年后成为技术专家。

很多人会去问有没有较好的学习资料是什么?我觉得如果有人回答除官方文档之外的答案,那么这个人本身就不够专业。在我看来官方文档是设计者(最熟悉技术细节的人)写出的注释和说明。那么肯定是最佳实践。举个例子 Objective-C 里面对 NSDictionary 进行处理成 JSON 字符串,解析的结果是会带空格和换行符的,但是服务端恰好如果对空格和换行敏感的话,那么你们的逻辑就会和预期的不一致。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 工程师
    +关注

    关注

    59

    文章

    1555

    浏览量

    67788
收藏 人收藏

    评论

    相关推荐

    嵌入式软件工程师如何提升自己?

    的发展打下坚实的基础。 2.掌握专业技能 除了基础知识外,嵌入式软件工程师还需要掌握专业的技能。这包括熟练掌握嵌入式系统的开发工具、硬件平台和软件开发流程。建议通过参加培训课程、实习经验或自学等方式
    发表于 06-12 11:20

    嵌入式软件工程师和硬件工程师的区别?

    ,并且了解嵌入式系统的工作原理。此外,他们还需要具备良好的逻辑思维能力,能够快速解决复杂的软件问题。嵌入式软件工程师在软件开发方面有着丰富的经验,能够编写高效稳定的嵌入式软件,并且熟悉实时系统开发和调试
    发表于 05-16 11:00

    大厂电子工程师常见面试题#电子工程师 #硬件工程师 #电路知识 #面试题

    电子工程师电路
    安泰小课堂
    发布于 :2024年04月30日 17:33:15

    企业老工程师和高校老师有啥区别

    电子工程师硬件
    电子发烧友网官方
    发布于 :2024年02月28日 17:50:00

    如何搞崩一个硬件工程师心态?试试对ta说这几句

    硬件工程师
    扬兴科技
    发布于 :2024年02月20日 18:05:49

    优秀电源工程师需要哪些必备技能?

    随着电源市场的不断扩张,开关电源行业飞速发展,企业对电源工程师的需求日益增加,对电源工程师的技能要求也日渐提高,相信没有一位电源工程师会错过让自己变得更优秀的机会。作为一名数字电源从业
    发表于 01-29 11:29

    电子工程师第一天上班就暴揍师傅。。。#科普 #示波器 #电子工程师 #打工日记

    电子工程师示波器
    安泰小课堂
    发布于 :2023年12月18日 17:36:12

    FPGA工程师需要具备哪些技能?

    FPGA(Field-Programmable Gate Array)芯片因其具有灵活性、高定制化、高性能等特点,被广泛应用于数字系统设计、嵌入式系统、通信系统、计算机视觉等领域。作为FPGA工程师
    发表于 11-09 11:03

    如何成为一名优秀的嵌入式工程师

    如何成为一名优秀的嵌入式工程师?嵌入式学习的第一步,首先是C语言。 1.理解内存管理:C语言不同于高级语言,它不会自动管理内存。因此,你需要理解并掌握如何使用malloc()、free()等函数
    发表于 11-07 15:36