菜鸟菜鸟-高级ios开发工程师-菜鸟APP-大前端体验技术
社招全职3年以上菜鸟地点:杭州状态:招聘
任职要求
1.5 年及以上 iOS 开发经验(或等效经验);至少参与并主导过 1-2 个从 0 到 1 或大规模迭代的移动产品; 2.精通 Swift(包含 Swift 5+ 特性、async/await、泛型、protocol oriented programming)和 Objective-C,能在两者间熟练切换与混合开发; 3.熟练掌握 iOS 常用框架(UIKit/SwiftUI、CoreData/Realm/其他持久化方案、AVFoundation、CoreAnimation 等); 4.深入理解多线程/并发(GCD、Operation、actor)、内存管理(ARC、循环引用)、性能调优(Instruments、Leaks、Time Profiler); 5.熟悉网络层实现与优化(URLSession、WebSocket、HTTP/2、协议设计、缓存策略、安全鉴权、断点续传等); 6.熟悉常见架构模式(MVC/MVVM/Clean/VIPER)并能结合业务场景做合理权衡与设计; 7.有良好的单元测试/集成测试/UI 自动化测试实践经验,熟悉 XCTest、Snapshot testing 等工具; 8.有 App 上线全流程经验(打包、证书管理、Enterprise/AdHoc/App Store 上线、TestFlight流程); 9.优秀的代码风格与工程化意识,能编写高质量文档与设计说明;具备较强的问题定位与解决能力; 10.良好的沟通、推动与跨团队协作能力,能承担较高责任、推动产品上线与性能改进。 加分项 有物流/供应链/仓配/配送业务域经验,对终端业务流程、运单模型、路由与派发逻辑熟悉; 在高并发、高可用移动产品(百万/千万级用户)中做过稳定性或性能优化实战; 熟悉 SwiftUI、Combine/Reactive 编程模式、Metal/高性能渲染或复杂动画优化经验; 有开源项目贡献、技术分享或社区影响力者优先; 有 Android 协同开发经验、可负责跨平台核心模块设计与落地。
工作职责
1.负责 iOS 客户端核心功能的设计、实现与交付,保证质量与性能; 2.主导或参与移动端架构设计(模块化、组件化、插件化方案)、技术选型与重构,提升工程效率与可维护性; 3.负责关键模块的性能优化、内存排查与稳定性提升(含 Crash 分析、ANR/卡顿排查); 4.设计并推动工程化建设(CI/CD、自动化测试、静态检查、持续集成发布流程); 5.编写高质量、可复用的 SDK/组件并推动内部复用; 6.参与版本发布流程及 App Store 上线合规工作,确保上线顺利; 7.指导与培养团队成员(代码 review、技术分享、mentor),参与招聘与技术评估; 8.与产品/后端/测试/设计等团队紧密合作,推动需求落地并对关键设计决策负责。
包括英文材料
iOS+
https://www.youtube.com/watch?v=UNH0bE4zPtY&list=PLSzsOkUDsvdu5Mm67aBYs2YPu2OM4mFzt
Swift+
[英文] A Swift Tour
https://docs.swift.org/swift-book/documentation/the-swift-programming-language/guidedtour/
Explore the features and syntax of Swift.
https://www.hackingwithswift.com/learn
Free Swift and iOS tutorials
https://www.youtube.com/watch?v=8Xg7E9shq0U
Learn the Swift programming language in this full tutorial for beginners.
Objective-C+
[英文] Where X=Objective-C
https://learnxinyminutes.com/objective-c/
Objective-C is the main programming language used by Apple for the macOS and iOS operating systems and their respective frameworks, Cocoa and Cocoa Touch.
https://www.youtube.com/playlist?list=PL640F44F1C97BA581
Here is a list of all of my Objective C tutorials.
SwiftUI+
https://developer.apple.com/tutorials/swiftui/
SwiftUI is a modern way to declare user interfaces for any Apple platform.
https://www.hackingwithswift.com/100/swiftui
This is a free collection of videos, tutorials, tests, and more, all drawn from around my work here on Hacking with Swift, and all designed to help you learn SwiftUI effectively.
AVFoundation+
https://developer.apple.com/av-foundation/
AVFoundation is the full featured framework for working with time-based audiovisual media on iOS, iPadOS, macOS, tvOS, visionOS, and watchOS.
https://www.youtube.com/watch?v=ZYPNXLABf3c
In today’s video we will learn to create a custom camera like the ones used in Snapchat, Instagram, or TikTok in swift 5 and Xcode 12.
多线程+
https://liaoxuefeng.com/books/java/threading/basic/index.html
和单线程相比,多线程编程的特点在于:多线程经常需要读写共享数据,并且需要同步。
https://www.youtube.com/watch?v=_uQgGS_VIXM&list=PLsc-VaxfZl4do3Etp_xQ0aQBoC-x5BIgJ
https://www.youtube.com/watch?v=IEEhzQoKtQU
https://www.youtube.com/watch?v=mTGdtC9f4EU&list=PLL8woMHwr36EDxjUoCzboZjedsnhLP1j4
https://www.youtube.com/watch?v=TPVH_coGAQs&list=PLk6CEY9XxSIAeK-EAh3hB4fgNvYkYmghp
https://www.youtube.com/watch?v=xPqnoB2hjjA
This video is an introduction to multithreading in modern C++.
https://www.youtube.com/watch?v=YKBwKy5PrpQ
Rust threading is easy to implement and improves the efficiency of your applications on multi-core systems!
性能调优+
https://goperf.dev/
The Go App Optimization Guide is a series of in-depth, technical articles for developers who want to get more performance out of their Go code without relying on guesswork or cargo cult patterns.
https://web.dev/learn/performance
This course is designed for those new to web performance, a vital aspect of the user experience.
https://www.ibm.com/think/insights/application-performance-optimization
Application performance is not just a simple concern for most organizations; it’s a critical factor in their business’s success.
https://www.oreilly.com/library/view/optimizing-java/9781492039259/
Performance tuning is an experimental science, but that doesn’t mean engineers should resort to guesswork and folklore to get the job done.
WebSocket+
[英文] WebSockets Tutorial
https://www.tutorialspoint.com/websockets/index.htm
Web sockets are defined as a two-way communication between the servers and the clients, which mean both the parties, communicate and exchange data at the same time.
HTTP+
https://developer.mozilla.org/zh-CN/docs/Web/HTTP
超文本传输协议(HTTP)是一个用于传输超媒体文档(例如 HTML)的应用层协议。它是为 Web 浏览器与 Web 服务器之间的通信而设计的,但也可以用于其他目的。
缓存+
https://hackernoon.com/the-system-design-cheat-sheet-cache
The cache is a layer that stores a subset of data, typically the most frequently accessed or essential information, in a location quicker to access than its primary storage location.
https://www.youtube.com/watch?v=bP4BeUjNkXc
Caching strategies, Distributed Caching, Eviction Policies, Write-Through Cache and Least Recently Used (LRU) cache are all important terms when it comes to designing an efficient system with a caching layer.
https://www.youtube.com/watch?v=dGAgxozNWFE
高并发+
https://www.baeldung.com/concurrency-principles-patterns
In this tutorial, we’ll discuss some of the design principles and patterns that have been established over time to build highly concurrent applications.
https://www.baeldung.com/java-concurrency
Handling concurrency in an application can be a tricky process with many potential pitfalls. A solid grasp of the fundamentals will go a long way to help minimize these issues.
https://www.oreilly.com/library/view/concurrency-in-go/9781491941294/
You’ll understand how Go chooses to model concurrency, what issues arise from this model, and how you can compose primitives within this model to solve problems.
https://www.oreilly.com/library/view/modern-concurrency-in/9781098165406/
With this book, you'll explore the transformative world of Java 21's key feature: virtual threads.
https://www.youtube.com/watch?v=qyM8Pi1KiiM
https://www.youtube.com/watch?v=wEsPL50Uiyo
高可用+
https://redis.io/blog/high-availability-architecture/
A high available architecture is when there are a number of different components, modules, or services that work together to maintain optimal performance, irrespective of peak-time loads.
https://www.ibm.com/think/topics/high-availability
High availability (HA) is a term that refers to a system’s ability to be accessible and reliable close to 100% of the time.
Metal+
[英文] Metal
https://developer.apple.com/metal/
Whether you want to build a graphics-intensive app, a cutting-edge game with beautiful visuals, or target demanding compute workloads like machine learning, Metal puts the advanced capabilities of Apple-designed GPUs at your fingertips.
[英文] Metal Tutorial
https://metaltutorial.com/
This tutorial will teach you the basics of Apple's Metal Graphics and Compute API, and help you understand how to program with it in C++ via the metal-cpp library.
https://www.kodeco.com/7475-metal-tutorial-getting-started
In this Metal tutorial, you will learn how to get started with Apple’s 3D graphics API by rendering a simple triangle to the screen.
[英文] learnmetal.com: Home
https://www.learnmetal.com/
Welcome to Learn Metal — an open-source tutorial site focused on learning and mastering Apple’s Metal graphics API.
Android+
https://roadmap.sh/android
Step by step guide to becoming an Android developer .
https://www.youtube.com/playlist?list=PLQkwcJG4YTCSVDhww92llY3CAnc_vUhsm
相关职位
社招5年以上智能与信息技术
1、负责业务开发、核心模块开发优化、通用工具研发; 2、负责参加现有项目的架构重构 3、负责iPhone&iPad上App设计、开发、上线和运行跟踪; 4、参与产品设计、产品技术规范制定、技术文档编写。