• 数据结构与算法之美---01 为什么要学习?


    为什么学习这个:

    1. 大厂(BAT,Google,Facebook)面试,都喜欢考算法、让人现场写代码(看中长期潜力,能解决实际工作问题)
    2. CRUD业务开发工程师(数据结构与算法能评估性能)
    3. 基础架构研发工程师,达到写出开源水平的框架(各方面细节)
    4. 对编程还有追求?不想被行业淘汰?那就不要只会写凑合能用的代码

    个人总结上面原因:

    1. 工作需要,特别是大公司对计算机内功要求高
    2. 个人技术成长需要,提高代码水平,写出质量高的代码

    作者提到的技术名词:

    1. Spring,RPC 框架
    2. 消息中间件
    3. Redis (Key-Value 数据库 )
    4. 跳表,链表,二叉树 
    5. 大 O 复杂度分析,快排
    6. 人工智能,区块链

    疑问:(提问老师)

    1. 什么是业务开发工程师、基础架构研发工程师?
    2. 性能和资源的消耗指什么?
    3. 业务开发中的各种框架、中间件和底层系统,这些名词在开发中怎么理解?
    4. 99% 响应时间什么意思?
    5. 性能到底指什么?性能跟数据结构算法有关系?
    6. 初级工程师,资深架构师,怎么评定自己在大厂的级别定位?什么水平能达到,怎么自我评估?
    7. 每个项目都是重复地堆砌业务逻辑而已,完全没有难度递进,看不出有能力提升?自己如何摆脱这种困境?
    8. 面对的是千万级甚至亿级的用户,开发的是 TB、PB 级别数据的处理系统 ,平时如何模拟这种情形?
    9. 性能几乎是开发过程中时刻都要考虑的问题。怎么时刻考虑性能问题? 

    反思:

    • 何为编程能力强?

       皮一下:无所不能,哈哈哈哈

    课后思考:

    • 你为什么要学习数据结构和算法呢?在过去的软件开发中,数据结构和算法在哪些地方帮到了你?

      感觉自己这方面欠缺所以想学,夯实基础。

      过去的开发中,我理解的数据结构就是数据类型到底是int,还是string,还是其他的。算法,听过一个朋友讲算法不难,算法就是我们为实现一个功能去设计程序走向的一个逻辑。

    课堂总结:

    1. 计算机基础很重要,就是前面提到的基础课程,
    2. 建立时间复杂度、空间复杂度意识,能够设计基础架构,提升编程技能,训练逻辑思维,积攒人生经验,
    3. 根据作者讲解的,感觉数据结构和算法跟性能有很大关系。

    10.16周三学习总结:(可以更好)

    1. 10.16学习内容:文档,音频都认真看了,听了,晚上时间晚了没有写博客,(10.17完成并发布博客)
    2. 如果每天这样,会发现,进度实际是落下的,
    3. 给自己加油打气!可以更好,更自律!
  • 相关阅读:
    leetcode32 Longest Valid Parentheses 最长有效括号序列
    js的Prototype属性
    一道区间dp和一道字符串
    Cookie和Session
    JS选择器querySelector和~All,三个原生选择器
    module.exports和exports
    Windows7环境下MongoDB安装和配置
    转载:Ajax基础详解&&http填坑2
    Node后台刷评论
    Node 简单爬虫
  • 原文地址:https://www.cnblogs.com/langxing/p/11688813.html
Copyright © 2020-2023  润新知