程序员必备基础知识点(活到老学到老的知识点)
算法和数据结构
计算机系统原理
操作系统原理和基础
网络方面
C语言和汇编语言
- C语言程序设计
iOS基础的知识点
内存管理方面
(ARC、MRC、autorelease、autoreleasepool)
Runtime方面
- runtime官方文档
- 消息传递机制、消息转发流程、方法缓存查找过程原理及其应用可以查看这几篇文章:Objective-C Runtime 杨萧玉、对象关联-NSHipster、MethodSwizzling-NSHipster;
- Objective-C Runtime 1小时入门教程
- KVO实现原理、Category的本质;
- Weak实现原理:runtime维护了一个weak表,用于存储指向某个对象的所有weak指针。weak表其实是一个hash(哈希)表,key是所指对象的地址,Value是weak指针的地址(这个地址的值是所指对象指针的地址)数组。 runtime 如何实现 weak 属性;
- Category实现原理-美团技术团队;
- Runtime应用:Method Swizzling处理crash如数组越界、字典和模型的自动转换如MJExtension、自动归档和自动解档、万能跳转界面方法、JSPatch。
- Objective-C Runtime源码
Runloop方面
Block方面
多线程方面
iOS架构相关
其他
- HTTPS通信过程
- UITableView的优化手段方法(iOS 保持界面流畅的技巧)
- SDWebImage源码分析
- 事件传递以及响应链(史上最详细的iOS之事件的传递和响应机制)
- 图片的解压缩
- iOS 启动时间优化:iOS App 启动性能优化 腾讯Bugly
、iOS Dynamic Framework 对App启动时间影响实测 没故事的卓同学
、优化 App 的启动时间 杨萧玉、WWDC 2016 Session 406 Optimizing App Startup Time,一次立竿见影的启动时间优化
iOS启动速度优化
iOS应用启动性能优化资料汇总
支付宝客户端架构解析:iOS 客户端启动性能优化初探
iOS启动时间优化、如何精确度量 iOS App 的启动时间 - 静态库和动态库(iOS 开发中的『库1』、iOS 开发中的『库2』、iOS 动态库改造)
- load 方法全程跟踪、你真的了解 load 方法么?
进阶的知识点
APM方面(内存泄漏检测、crash监控、卡顿监控以及底层的实现原理等等、
了解和分析iOS Crash-腾讯WeTest、浅谈iOS Crash-向晨宇、iOS异常捕获、iOS应用崩溃日志分析、漫谈iOS Crash收集框架-念茜、分析iOS Crash文件:符号化iOS Crash文件的3种方法、iOS中使用PLCrashReporter收集Crash、 iOS异常捕获、如何定位Obj-C野指针随机Crash(一):先提高野指针Crash率、如何定位Obj-C野指针随机Crash(二):让非必现Crash变成必现、如何定位Obj-C野指针随机Crash(三):如何让Crash自报家门、汇编语言入门教程
低于0.01%的极致Crash率是怎么做到的?-腾讯WeTest(里面有讲ARM64指令集的寄存器知识)
组件化方:蘑菇街 App 的组件化之路、iOS应用架构谈 组件化方案、在现有工程中实施基于CTMediator的组件化方案、iOS 组件化方案探索、iOS 组件化--路由设计思路分析、滴滴的组件化实践与优化、滴滴出行跨地域 iOS 构建优化与持续集成
持续化集成(Jenkins+fastlane)
JSPatch成长之路、滴滴 iOS 动态化方案 DynamicCocoa 的诞生与起航、OCS ——史上最疯狂的 iOS 动态化方案
其他iOS学习资源
- iOS学习笔记
- 禅与 Objective-C 编程艺术
- iOS 开发面试问题
- iOS 技能图谱
- 招聘一个靠谱的 iOS
- 小专栏的iOS 面试指南 需要订阅
- iOS程序员简历模板
- 如何写面向互联网公司的求职简历
高效开发资源
- 查找项目工程中未使用的类-fui
- awesome-ios
- app包瘦身(基于clang插件的一种iOS包大小瘦身方案、iOS瘦身之删除无用的mach-O文件、LSUnusedResources、FengNiao、iOS APP分析无用代码、相同或相似代码检测、iOS微信安装包瘦身
)
自我介绍
- 这篇文章挺不错的,重点是要简洁大方,突出自身的优点面试的时候,如何自我介绍?
- 10大经典面试题回答技巧
优秀博客推荐
努力向这些大神学习