Autumn September, the Internet recruitment climax has come! As the interviewer, you are probably already preparing the requirements or hiring! This article mainly wants to communicate with all the interviewers: what kind of recruitment requirements should we develop, is more appropriate? (* ̄)  ̄)

IOS interviews need attention

1: Interview attitude

When we are hiring, interviewers often make a mistake: all kinds of crush candidates!

I don’t know what happened on your recruiting day. Are you in a good mood? But I hope that when you interview candidates, be cheerful and give them what they deserve — kindness!

  • You are interviewing to represent your company, and everything you say and do directly affects how your company is perceived

  • And as a manager, a successful and enjoyable interview process should be your top priority right now!

  • He may be just a job seeker right now, but he may be a co-worker next to your desk for a while! Kindness now can go a long way toward creating a pleasant work environment later on!

  • If he can’t become your colleague, don’t bother about it, the vast sea of people, your kindness at the moment, the future will be able to redeem at a certain moment!

  • Of course, there will be candidates who won’t make you happy, so let them. The vast sea of people, rivers and lakes goodbye, maybe can smile and pass!

2: Matters needing attention in interview questions

Many of our iOS interviewers in the recruitment, many are directly on the Internet to find an iOS interview questions to start the interview! (😄 lazy 😄) and I think this is a very wrong way to do. Many interview questions on the Internet are really good, but such recruitment of iOS developers are not necessarily very good, may be memorized interview questions, or your company’s interview questions leakage, leading to iOS candidates very good performance!

  • 1: The interview questions can be obtained online, but I hope the interviewer seriously, hope to combine your company’s actual development, landing to the interview questions (so as to avoid ridicule, interview made 🚀, development screwed 🔩)

  • 2: The interview questions can be changed appropriately. According to the resume circumstance of job seeker, will change interview question! Some resume is good, can adjust a few more difficult appropriately. A candidate who is in your “pass line” can lower his or her requirements (after all, the salary and training direction will be different).

  • 3: according to the situation of your company also consider: do you want written test! The written test is not good or bad, just a round of brush selection, can help you properly brush off a part of the iOS developers do not meet your requirements! However, your company’s recruitment situation is not ideal, I think we can reflect: is the written test too difficult, written questions too many…

3: Interview process

I personally resent the fact that there are so few job openings and so many candidates are asked to interview! This is a serious disrespect for a job search behavior! It’s also a loss for you to contact too many candidates for interviews, wasting their time and driving up the cost of the interview

Hope the interviewer get the resume, please quickly brush to select your favorite resume, and then arrange the interview in batches! For your favorite iOS senior candidate! I wish I could go through the interview process more. A real iOS advanced development is very important for the company, hope that through several processes by different post leader write score, comprehensive consideration, remember blind at the same time such a formal process can also let the job seekers feel your company’s attention, as well as the attention to work after entry!

IOS Advanced Interview content

Probably many interviewers are still more concerned about the interview content, I here from

  • IOS based
  • The Runtime related
  • Network & Multithreading
  • Data structures & algorithms
  • Architecture design
  • Performance optimization

In these aspects, I have prepared some questions for each interviewer, hoping to help you

IOS based

  • 1: Tell me about your rightatomic & nonatomicThe understanding of the
  • 2:weakWhat happens to the decorated object when it is released? How is it done? knowsideTable? Can I draw the structure inside?
  • 3:blockWith what?strongYou can?
  • 4:blockWhy can external variables be captured?__blockWhat did you do?
  • 5: Talk about your understanding of the transfer and response chains of events (bonus points for this interview question if the candidate can answer something related to actual development, not just a simple concept)
  • 6. Talk about the understanding of KVC and KVO?
  • 7:RunLoopWhat is the function of? Is its inner workings understood?
  • 8: How does Apple achieve thisautoreleasepool?
  • 9: Tell me about your rightFRP (functional response type)I want to extend thatRxSwiftorRAC!
  • 10: Have you played the development at ordinary timesInstrument

Analysis: The content here is very interesting, for an iOS senior developer, I think there is a very important grasp! Especially for 3-5 years of development, if you don’t master these contents, I think it is not qualified

In some suitable places can be extended!

  • Question 2. Question 1 is aboutweakThis interview is very classic, as long as the iOS developer can answer a little bit. But the latter part requires his ability to learn!
  • Problem three and four. Take a swipeMRCA senior 4-5 years of development experience should know something more or lessMRCRelevant knowledge! By the way, you can feel the candidate’s ability to explore
  • Questions 5 and 6: I think candidates should be rewarded if they answer questions about practical development and documentation
  • Questions 7, 8, 9 and 10 can be expanded!

Runtime

  • 1: What is ISA and what does ISA do?
  • 2: of an instance objectisaTo what? What does the class object point to? What does metaclass ISA point to?
  • 3:objcWhat are the essential differences and connections between class methods and instance methods?
  • 4:loadinitializeGo to bai?
  • 5:_objc_msgForwardWhat does a function do? What happens when you call directly?
  • 6: BrieflyObjective-CThe process of calling a method in
  • 7: Can you add instance variables to the compiled class? Can I add instance variables to classes created at run time? Why is that?
  • Tell me about your understanding of aspect programming

Analysis: Runtime this module iOS interview no matter junior high school will interview. I think this module is more than just asking about knowledge content, I would like to hear job seekers climb the pit to explore the xinli journey!

Network & Multithreading

  • 1: What are the drawbacks of HTTP?
  • 2: Talk about three handshakes, four waves! Why three handshakes, four waves?
  • 3:socketThe connection andHttpConnection difference
  • 4: When did POP Internet existAlamofireEncapsulation networkURLSessionWhy use it?Moya
  • 5: How to achievedispatch_once
  • 6: Can I write a read-write lock? Talk about specific analysis
  • 7: When do deadlocks occur? How to avoid it?
  • 8: What kinds of locks are there? How do they work? What’s the difference between them? It’s best to use it in context

Analysis: This module may be a dead end for the average developer. Because the general development really do not need to worry about so much! The interviewer you can choose to torture OK, the interview process can not answer is normal! Of course if can answer come up should add extra points!

The data structure

  • 1. How many kinds of data structure storage are commonly used? What are their characteristics?
  • 2. Linear structure Tree structure graph structure
  • 3. One-way linked list Two-way linked list Circular linked list
  • 4. The difference between arrays and lists
  • 5. Stacks, stacks, and queues
  • 6. Enter the root of a binary tree and find the depth of the tree.
  • 7. Input the root node of the binary tree in lesson 1 and determine whether the tree is a balanced binary tree.

algorithm

  • 1. Time complexity
  • 2. Space complexity
  • 3. Common sorting algorithms
  • 4. String reversal
  • 5. List inversion (head difference method)
  • 6. Ordered array merge
  • 7. Find the first character that appears only once (Hash lookup)
  • 8. Find the common parent of the two child views
  • 9. The median in an unordered array (quick sorting idea)
  • 10. Given an array of integers and a target value, find two numbers that neutralize the target value in the array.

Analysis: This module is the Achilles heel of most developers! This module is the best test of a candidate’s thinking skills! But I don’t recommend asking candidates to hand-write data structures or algorithmcode in a stressful interview environment. It can be challenging! Thinking to I feel almost!

Architecture design

  • 1: What problems are design patterns designed to solve?
  • 2. Which third-party frameworks have you read and how are they designed?
  • 3: What are some refactoring tips? When do you think refactoring should be done?
  • 4. How do you select common architectural design patterns in development?
  • 5: How do you decouple components?

Analysis: Architecture design this layer for an iOS senior developer. That’s the one he has to think and feel about! If the candidate has been developing application-layer interfaces for four or five years, he’s probably already behind in his future career advancement! The interviewer may wish to design a separate part of this module to discuss with the candidate. After all, these thoughts may be designed to bring something different to the interviewer! 😊

Performance optimization

  • 1:tableViewWhat are some good performance optimizations?
  • 2. How do you deal with interface lag and detection?
  • 3: What is your understanding of off-screen rendering?
  • 4: How to reduce the size of APP package
  • 5. How to check for memory leaks?
  • 6. What aspects should be optimized for APP startup time?

Analysis: Now APP performance optimization and become iOS senior developers must be related to things! I personally suggest that you communicate with job seekers based on actual development. Rather than just stay in the knowledge point question and answer, because there is no actual ability to develop performance optimization is just an empty promise!

conclusion

An excellent iOS advanced development = iOS technology + learning ability + attitude attitude and learning ability is also what I value in the process of interviewing others! Even if your skills are poor at present, you have a modest and sincere attitude and excellent learning ability. I’d love to take you, too!

Thank you so much for reading this! The proposal that is oneself in front, specific your carry out still need you to adjust according to the circumstance! Wish you harvest an excellent colleague!

**PS: You can follow me and I will update the answers to this iOS interview questions later! **

If you find this post helpful at all, please give it a thumbs up! Blue!

Harmonious learning, not impatient! I’m Cooci, an iOS enthusiast!