课程分类

课程介绍
课程目录
用户评论
课程介绍
课程目录
用户评论

你将获得

  • 掌握某些知识点
  • 学会某些技巧(或思路)

教学服务

  • icon

    1v1专属答疑服务

  • icon

    BAT专家面试辅导

讲师介绍

  • 4年前端架构+团队管理经验,3年服务端架构经验,1年大数据架构+管理经验。开发过围棋AI,以及即时战略游戏AI。深入学习过7门语言,精通React+Node.js,以及相关前端架构和算法。在58同城任职时期是58同城前端委员会成员,负责高T面试、技术职级评定、前端技术推广(ReactNative)、校招等等。

  • 课程详情

        讲师Ramroll根据多年前端开发+架构经验,总结出一套完善的学习方法,针对已经有javascript基础的同学进行集训,在2-3个月内突破瓶颈达到大厂资深岗的算法要求(阿里P7,百度T6)。

        课程的主旨是提升学员的思考、专注能力,开阔视野并提升技能,课程取材自国内外优秀的教材、经典代码、实战问题、面试题等,包括: 1. 课程取材自《算法导论》《算法》等经典书籍 2. leetcode、codewars等算法网站 3. 开源社区的源代码(React/Redux/Ramda/Rx等) 4. 讲师ramroll在多年前端架构过程中遇到的问题 5. 近年来大厂的前端面试题目

        课程中除了有大量的理论知识,还有100多个例子和100多道习题,习题都有详细地解答,部分困难的习题会在习题课上讲解。通过这样的训练,可以在短短2-3个月内提升到「资深岗」的程序和算法水平。课程除了帮助学员在面试「高级」「资深」岗位时,获得优势外,学习算法对提升coding速度、质量,阅读源代码、提升架构能力都有很大的好处。

        其实相比应用和创造,对于大多数「菜鸟」们来说,学习算法还有另一个重要的目的,就是「写好程序」。看似简单的四字,却需要耗费数年寒暑。境界提升之后,编码的速度和质量都会有一个大的飞跃,这就为「就业」和「创业」提供了一大依恃。当然对于笔者而言,之所以一直学习算法还有一个显而易见的原因——兴趣!看到复杂的计算过程,被自己写的算法替代,变成一个「规范」的计算过程,效率是别人的几十倍,是一件非常开心的事情。

        课程结束后,会安排学员参加「珠峰算法I考试」。「算法I」考试,每隔半年一次考试,届时,会邀请业界大牛共同出题。同时,会有严格考场秩序。通过后,证书可查。通过考试的同学,将被证明拥有「资深工程师」相当的算法能力,同时学员会得到珠峰和讲师本人的重点培养。除了长期指导、面试辅导辅导外,还会在未来1-2年内创造机会进入大厂相应岗位的机会。没有通过考试的同学,可以免费在后续算法课程中学习,并争取在下次考试中取得好的成绩。

    课程大纲
    第1章:前端数据处理

    • 前端处理数据的场景
    • 数据的流处理(map/reduce/filter/zip/flatten/permuations…)
    • 排序和分组
    • 用函数式编程库Ramda更好地处理数据
    • 用ES6 Iterator+Generator提高算法的健壮性
    • 其他数据处理问题精选
      • 倒排表
      • 笛卡尔积
    • 习题

    第2章:递归
    • 前端递归的场景
    • 用科学的方法思考递归——分段函数
    • 经典问题
      • 斐波那契数列
      • 数组的flatten
      • 全排列
    • 前端递归问题精选
      • 深拷贝/深比较
      • DOM遍历(获取元素的绝对坐标)
      • DOM的查询(CSS选择器)的实现
    • 习题

    第3章:字符串操作
    • KMP算法
    • 正则表达式
    • 前端问题精选
      • 输入验证
      • 替换HTML
      • 构建模板引擎原理
      • 路由解析引擎原理
    • 习题

    第4章:闭包和函数式编程
    • 闭包
    • bind/call/apply
    • 函数节流
    • 柯里化
    • Y-组合子
    • 函数节流
    • 基于柯里化的函数式编程框架ramda的原理
      • 作为框架基础的柯里化
      • Hindley-Milner 类型系统
      • 部分高阶函数精选
    • 习题

    第5章:算法的分析方法
    • 什么是算法?
    • 算法的计算模型
      • 内存/CPU/线程/进程/缓存
      • 时间复杂度
      • 空间复杂度
    • 复杂度分析
      • map/reduce的时间复杂度
      • 笛卡尔积的时间复杂度
      • 计算DOM元素绝对坐标的时间复杂度
      • 全排列的时间复杂度和空间复杂度
    • 排序算法精选
      • 插入排序
      • 冒泡排序
      • 合并排序和分治策略
      • 快速排序
      • 桶排序
    • 算法的分析方法(归纳和演绎)
    • 习题

    第6章:前端常用数据结构
    • 栈和队列
    • 链表
    • 哈希表
    • Facebook Immutable框架介绍
    • 问题精选
      • 操作系统调度问题
      • 循环链表和轮播图
      • 字典树和输入提示问题
    • 习题

    第7章:回溯算法——游戏编程基础
    • 应用场景介绍
    • 集合产生问题
    • 八皇后问题
    • 解决数独问题
    • 寻路和A*
    • 习题

    第8章:动态规划 (造轮子必备 DOM-DIFF算法的基础)
    • 应用场景介绍
    • 钢条切割问题
    • 最长子串/子序列
    • 最优二项搜索树
    • 习题

    第9章:前端相关问题
    • DOM-DIFF 算法和树的编辑距离
    • 超大瀑布流和虚拟化
    • 插值、运动函数和贝塞尔曲线
    • 数据可视化基础算法介绍
    • 习题

    第10章:面向未来——机器学习算法扩展
    • 机器学习简介
    • 模型、测试和训练
    • 分类问题
    • 神经网络介绍
    • 习题
    温馨提示
    • 请勿私下交易
      请勿在平台外交易。与机构和老师私下交易造成的任何损失及纠纷,腾讯课堂不承担任何责任
    • 听课说明

      1、电脑:访问腾讯课堂官网 ke.qq.com 查看我的课表或下载win/mac客户端听课

      2、手机/平板:下载腾讯课堂APP, 进入学习页面听课