面试初级iOS程序员需要会哪些东西?
黄舟
黄舟 2017-04-17 14:55:12
0
7
424

如题!
我已工作4年,之前做过.net、系统运维、Java、Python,现在转iOS,已自学1个月,把Objective-C基本语法学会,UIKit框架学了几个主要的View,多线程会用NSThread和NSOperation和GCD,网络开发学到NSURLSession,大致情况就是这样。
最近在苦学,但是似乎成效不大,好烦恼!求好心人给予指点,谢谢~

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

reply all(7)
巴扎黑
  1. Master the basic syntax of Objective-C, object-oriented and runtime features, multi-threading, and memory management. Especially for Runtime, you can refer to the following articles:
    Objective-C Runtime
    Method Swizzling and AOP Practice
  2. Understand the entire iOS application life cycle: How is the app started? What are the core objects in the entire app architecture? How does Run Loop respond to and handle events generated when interacting with users? App state switching and multitasking? How does the app end? You can refer to Apple’s official article: App Programming Guide for iOS
  3. After understanding the life cycle of iOS applications, then gain an in-depth understanding of View, Controller and event handling
    View Programming Guide for iOS
    View Controller Programming Guide for iOS
    Event Handling Guide for iOS
  4. After in-depth understanding of View, Controller and event processing, you need to learn to use AutoLayout to adapt to screens with multiple resolutions, and you also need to learn to customize controls and animations
    Real-time display of the effect of iOS UI code writing
    Drawing and Printing Guide for iOS
    Quartz 2D Programming Guide
    Core Animation Programming Guide
  5. Many applications need to access the network. In this case, iOS network programming and third-party network library (AFNetworking) are required. Of course, you also need to understand RESTful API design and basic HTTP protocol. After capturing the data from the network, the general data exchange format is It is JSON, but it also requires data parsing (Mantle/JSONModel)
  6. After parsing the data, sometimes it is necessary to store the data. There are many ways: files, SQLite, Core Data, etc.
  7. Understand the common architectures of iOS applications: MVC, MVCS, MVVM and VIPER. Please refer to the following article:
    iOS application architecture talk
  8. The program you write is not only for you to read, but also for others to read. It needs to follow the Objective-C coding standards:
    raywenderlich Objective-C coding standards
  9. Learn about iOS best practices

I summarize the above points and wish the poster can find a job soon

PHPzhong

You already know so much and have four years of work experience, which is more than enough to apply for a junior iOS programmer job. It is true that the iOS community uses AFNetworking more than NSURLSession, but this is actually because the native network communication framework before Apple launched NSURLSession was not very good. If you are new to the industry like you, you can consider using NSURLSession. No matter what, it's never wrong to use the system's native framework. In addition, it would be better if you also use a third party.
Another great opportunity for you is swift. This language has just been launched, and many iOS programmers have not yet started learning it.

小葫芦

You don’t need to look at NSURLSession for the Internet. It’s rarely used in real projects, so check out AFNetworking.

Personally, I think iOS multi-threading is not too complicated. Based on your learning experience, I think View aspects (such as smooth scrolling of UITableView) and common design patterns can be improved. Also take a look at memory management.

To convert to iOS, it feels more important to make a work, which can be modeled after a popular app~

迷茫

The accepted answers are basically complete. . All "虐完" are estimated to be 30K++ after tax in China (visual estimation of annual salary in the United States is 200,000 dollars), which is terrible. It will take N (N > 2++) years to finish learning + become proficient in application + realize the experience. . . Take my shattered knee. .
I still like the summary, but I can’t agree more. I just thought of adding that E-text reading should be barrier-free. .
Personally, I think it is enough for a junior iOS programmer to have some basic knowledge (UI, UI event processing, network processing, data caching) + know how to Google + be able to move code with some proficiency. . . (Personal definition)

刘奇

10 steps to become a professional iOS developer - starting from scratch
http://www.cocoachina.com/ios/20150617/12165.html
I happened to see it, updated today

Peter_Zhu

To be honest, the accepted answer is a bit scary, I think the request is too high...

Peter_Zhu

Strive for the accepted answer! !

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template