Before the speech:

According to statistics, many people will choose to job-hopping in March and April. There are many reasons. There will be a large number of employees leaving the company after the New Year. The salary isn’t high enough, the desire for a change of scenery and so on, so March has become the peak season for hiring and job-hopping

I interviewed 10 iOS developers for the company, and summarized 50 interview questions by myself. Here, I share with you. I hope you can find a job in April, my article can help you.

Basis:

1, how to make their own written object with copy function?

2. What do you understand about weak attributes?

3, title: Swift mutating keyword use?

4. What is the relationship between UIView and CALayer?

5. What does the following code output?

What does @synthesize and @dynamic do, respectively?

8. The difference between Category, Extension and inheritance

9. Why does the agent use weak? What’s the difference between a delegate and a dataSource? What’s the difference between a block and a proxy?

Id and NSObject *

11, how to make their own written object with copy function?

12. Are reference loops also considered when using some of the system’s block apis (such as the block version of UIView when writing animations)?

Nsstrings (or NSArray, NSDictionary) declared with @property often use copy. Why? What problems might arise if you use the strong keyword instead?

14. What is the relationship between UIView and CALayer?

What does static do?

Bottom:

16. What are the processes before main()?

17. Basic principles of KVO?

18. How to use KVC in Swift?

19. What mode matching does Swift have?

20. What happens when OBJC sends a message to an object?

21, What is the principle of static library? Have you ever written a statically compiled library yourself, and what problems have you encountered?

22. What is runloop for? What does runloop have to do with threads? Does the main thread have Runloop enabled by default? What about child threads?

23. When will an Autorealese object be released without manually specifying autoReleasepool? (for example, in a VC viewDidLoad

24. When is an Autorealese object released without manually specifying autoReleasepool? (such as in a VC viewDidLoad)

25, OC complete message forwarding mechanism + code implementation

26,, + scheduledTimerWithTimeInterval… When sliding the list on the page, the timer will temporarily callback, why? How to solve it?

How do I manually trigger the KVO of a value

28. How to locate and analyze the areas that affect performance in the project? And how to optimize performance?

29, Serial parallel, asynchronous synchronization difference?

30. What is a thread? What is the process? What are the differences and connections between the two?

31. What is a RunLoop?

32, Suppose you have a string aabcad, please write a program to remove the string of non-adjacent repeated strings, that is, the above string processing output: aabcd

@autoClosure (Automatic closure)

34. How to optimize iOS APP startup?

35, Swift interview question:

How to prevent decompilation?

UITableView performance optimization, super practical

Thread:

Don’t block the main thread

What is your understanding of multi-threaded development? How many ways are there to implement multithreading in ios?

39, The difference between a process and a thread? What’s the difference between synchronous and asynchronous? What’s the difference between parallelism and concurrency?

ViewController lifecycle

Multithreading in iOS

What are several principles of memory management? By default, objects generated by those keywords

Need manual release? How to effectively avoid memory leaks when combined with property?

Who applies, who is released

43, What is dispatch_barrier_async for?

44, How to synchronize several asynchronous calls with GCD? (For example, load multiple images asynchronously based on several urls, and then compose a whole image after downloading them all)

HTTP:

What is the difference between HTTP and HTTPS?

47. Can the server know whether the APNS push has reached the client?

The app:

48, 1. How can I see the header file of my App?

2. What framework source code have you read? Can you talk about how it’s structured

49, iOS iAP review may fail

50. Failed to pass the audit due to virtual currency in IAP?

The answer:

Because there are too many answers, I made a PDF document, because Jane book can not upload files, need answers can add small SERIES of QQ exchange group 659170228, in which to obtain the document, or directly add small series of QQ number: 3156033240, also welcome employers, looking for a job to provide a bigger platform