zoukankan      html  css  js  c++  java
  • iOS从初级至高级开发工程师面试知识点

    前言:

    从网上看到一张关于iOS高级开发工程师具备知识的脑图,这里把图片内容转成自己未来三个月要自己学习的大纲!!!先把整体框架搭出来,也相当于给自己定个学习计划吧。

    正文:

    一、多线程与网络进阶

      1、多线程概念深入浅出

        NSThread

        GCD

        NSOperation

      2、异步任务处理

      3、Reachability框架

      4、Socket部分

        网络重要协议讲解

          (1)PPP协议

            (2) 深入解析TCP与UDP

            (3) 深入解析HTTP与HTTPS

          (4)网络拥塞与拥塞控制算法

          (5)中国GPW与ShadowSocks

        网络工具介绍使用

            (1)Wireshark

            (2) PostMan

            (3) 思科模拟器  

                  Apple网络封装框架与Socket

          深入剖析SocketApi

         Socket Demo项目地址

         Socket之CFNetwork详解

         CFNetwork与URL加载系统

      5、网络部分

        NSURLRequest

        Json & XML

        Get & Post

        NSURLConnection

        NSURLSession

        文件的上传下载demo

        NSFileHandle文件写入

        NSOutputStream流式写入    

        RESTful设计风格

        WebDAV服务器

        移动web开发、Hybrid开发介绍

        JS与Native交互

      6、AFN源码分析

        AFN介绍

        AFN常见错误

        Block概念及注意事项

        AFHTTPSessionManager分析

        UIActivityIndicatorView+AFNetworking分析

        AFNetworkActivityIndicatorManager分析

        AFURLSessionManager分析

        AFURLSessionManagerTaskDelegate分析

        NSURLSession相关代理方法分析

        AFURLRequestSerialization分析

        HTTPS与AFSecurityPolicy分析

        AFNetworking相关的一些UI类别分析

        AFNetworkReachabilityManager分析 

    二、iOS底层进阶

      1、Runtime

        Runtime基础知识

        Runtime进阶使用

      2、Runloop

        Runloop详解

        Source&Timer&Observer

        CFRunLoop应用

      3、静态库生成&测试

      4、Framwork库生成&测试

      5、KVO

        观察者模式

        KVO属性

        利用运行时实现KVO

        KVO监听容器类

      6、KVC

        valueForkey方法解析

        setValueForkey方法解析

        自定义KVC

        KVC容器方法

        KVC修改私有属性

        KVC集合运算符

    三、性能优化

      1、App的性能简介

      2、优化部分1

        核心优化

        内存管理

        性能消耗

        冷热启动

      3、优化部分2

        界面优化

        网络优化

        检测工具的使用

        应用瘦身

    四、开发测试

        开发测试的简介

        单元测试

        异步测试

        性能测试

        UI测试

        测试框架介绍

        测试统计

        测试与架构分析  

          (1)MVVM与测试

          (2)自动化测试-测试覆盖率

          (3)敏捷开发

    五、自动打包

        自动打包介绍

          (1)用脚本生成ipa

          (2)使用场景

          (3)自动打包与Xcode手动打包对比

          (4)Xcode生成ipa的实际过程

          (5)自动打包命令

          (6)指令切换查看所使用的Xcode版本

                Xcodebuild

              xcruns

              plistbuddy

    六、iOS目前市场热门技术-iOS视觉OpenGL

      1、OpenGL-OpenGL基础

      2、OpenGL-OpenGL绘制方式

      3、OpenGL-OpenGL常用技巧

      4、颜色/像素和帧缓存区

      5、向量与矩阵处理

      6、模型视图与投影方式详解

      7、纹理

      8、3D数学

    七、iOS目前市场热门技术-iOS视觉OpenGL ES

      1、着色器

      2、OpenGL ES图形基础

      3、常用类

      4、demo地址

    八、iOS上的渲染处理技术

      1、Scenekit(3D处理技术)

      2、SpriteKit(平面处理技术)

      3、GPU操作框架Metal

      4、AR Kit

      5、AV Foundation框架

      6、GPUImage

    九、iOS底层音视频技术-原生音视频框架讲解

      1、音频原理讲解

      2、音频处理

      3、音频硬编码

      4、视频原理讲解

      5、视频采集、处理

      6、视频硬编码

    十、iOS底层音视频技术-FFmpeg跨平台框架系统讲解

      1、shell脚本

      2、FFmpeg初探

      3、FFmpeg编码、解码

      4、FFmpeg转码

      5、FFmpeg滤镜使用

      6、FFmpeg转码封装

  • 相关阅读:
    玩4K必备知识:HDMI1.4、2.0、2.0a、2.0b接口参数对比【扫盲贴】
    Gradle配置最佳实践
    Android Studio 中安装 apk 被拆分成多个 slice,如何禁止?
    编译不同平台 设定
    编译找错
    Delphi 中内存映射对于大文件的使用
    linux——nmap端口扫描命令
    Android 使用 adb命令 远程安装apk
    插件编译 版本问题
    2019 opensuse linux Eclipse
  • 原文地址:https://www.cnblogs.com/codingStorys/p/9355118.html
Copyright © 2011-2022 走看看