search

Home  >  Q&A  >  body text

面试初级iOS程序员需要会哪些东西?

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

黄舟黄舟2770 days ago430

reply all(7)I'll reply

  • 巴扎黑

    巴扎黑2017-04-17 14:57:12

    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

    reply
    0
  • PHPz

    PHPz2017-04-17 14:57:12

    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.

    reply
    0
  • 高洛峰

    高洛峰2017-04-17 14:57:12

    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~

    reply
    0
  • 迷茫

    迷茫2017-04-17 14:57:12

    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)

    reply
    0
  • 怪我咯

    怪我咯2017-04-17 14:57:12

    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

    reply
    0
  • 天蓬老师

    天蓬老师2017-04-17 14:57:12

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

    reply
    0
  • 天蓬老师

    天蓬老师2017-04-17 14:57:12

    Strive for the accepted answer! !

    reply
    0
  • Cancelreply