iOS face questions

Source: Internet
Author: User

Prepare for technical interview:Before you go straight to the question, let's discuss some basic essentials to make sure your technical interview goes as smoothly as possible. It is impossible to prepare the answer for every problem that may arise. Therefore, we need to pay more attention to the basic content. Make sure you are familiar with the features of Objective-c 2.0. There are some guesses about notifications (messaging), protocol (protocols), dynamic type (dynamically types), forwarding (forwarding), classification (categories), posing, method Swizzling and other aspects of the problem. The interviewer wants to see how much you know about existing or previous problems. Spend a few hours on the StackOverflow website to see the most frequently asked questions about iOS that will help you a lot. Read the Apple ' s objective-c guides to make sure you don't have any themes that you feel are weak. Questions like Google ask, such as how many golf balls a car needs to fill (250,000), or how many windows are in San Francisco (more than 1 billion), now most companies stop asking. When you are confronted with these types of problems, your thinking is more important than your answer, and how you think about it-that's what the interviewer cares about. ready to encode on the whiteboardIf you are interviewing in person, they may want you to program directly on the whiteboard. Make sure you do some exercises before your interview, because writing code directly in front of a group of people can be stressful, and coding without the automatic completion of code is much more difficult than you think. Be prepared to write code on a whiteboard for the familiar programming language you write on your resume. One of my friends was asked to program in Erlang on a whiteboard, and Erlang was the programming language he listed in his resume. He got the job. There are only three people on the planet who know Erlang, and I'm sure he's one of them. Interview EtiquetteIf you are interviewing in person, ask the company's dress code first. If the interviewer wears a shorts T-shirt and you wear a suit, it will be awkward and the interviewer may be unhappy. If you wear a jersey and others wear a suit, it will be the same result. In this regard, you can ask the hiring manager beforehand and he will be happy to give you some advice. Make sure your phone is muted. You would be surprised if you knew how many times I heard the phone ringing during the interview. In most cases you should not answer the phone or check your phone during an interview. If there are potential emergencies, such as if your wife is about to give birth or if your husband is having an operation, please tell your hiring manager in advance so that your answer to the phone can be accepted. In the interview process, both the body and the spirit need to relax. Try to set your interview time to a relatively free time (after which you won't have to do anything else). If you set the interview to your current working lunch break, it will not be the best result. Sometimes I even need to shorten the interview time just because the interviewer's current boss needs him to work! Please avoid increasing the pressure you have now. For a face-on interview, please be 15 minutes or so early, but not too early. For phone interviews, make sure to dial in two minutes in advance, if it's an online meeting. Call directly to make sure you are ready on time. prepare the question.At the end of the interview, the interviewer will usually ask you about the company and the job, and what questions you have. Please prepare your question in advance and write the question you want to ask on paper. This will show that you are really interested in the job rather than just going through the motions. I am surprised that many interviewers will not ask anything in this link. If you think this job is right for you, this is a great opportunity to get to know the company. Interview TopicsThe content you have been waiting for has arrived-topic! Our technical interviews usually last for 1 hours. There's a 75-question form, and at first I'm going to randomly pull a question from it. Then I have a choice of narrowing the scope of the problem based on my knowledge of the candidate. For example, if I suspect that the candidate has a weak point of knowledge, I will continue to ask the content of the piece in depth. After this article was published, my favorite question and my preferred question will be eliminated. And my first question will be: Have you read this article? When answering these questions, try to keep your answers concise and explain your ideas if necessary. Interviewers don't ask questions because they don't know the answer, they want to know how much you know about what you're saying. Please note that I will only list the questions without an answer. You need to answer, if you do not know these things, remember that the process of learning is a very fun process! If you find the answer, you can share it freely on the forums. Go straight to the chase, these are some examples of technical interviews. Please explain the method swizzling, and say when you usually use it? -I like to ask this question because it belongs to the deeper syntax. Most people don't use swizzling's needs (the implication is that Swizzling's general development of some core content). And through the developer's answer to this question, I can also see how much they are bound to the execution of complex code. It is more frightening for a person to say that he swizzle all the code than those who say they never used swizzle. (Translator Note: Learn more about Method Swizzling) Suppose there are three objects, a parent of a parent class, a parent class, and a subclass. The parent class holds a reference to the parent class (retain), the parent class holds a reference to the subclass (retain), and the subclass holds a reference to the parent class (retain). The parent class of the parent class frees (release) the parent class, explaining what happens next. -—— even with arc, I still like to ask some memory-related questions, which shows this person has a certain amount of time to develop experience, and understand how the core framework works. what happens when a null pointer (nil pointer) calls a method? --it is very important to understand the objective-c related problems in dealing with the foundation, and I have heard the wrong answer many times, which shocked me. Why is Retaincount absolutely not available in the published code? Please give two relatively independent explanations.。 There are two benefits to examining this issue: one is to make sure that the interviewer does not currently use Retaincount and to see if they know why they should not use it. Please describe the process by which you find or resolve a memory leak. This provides insight into the interviewer's knowledge of memory management, the use of instruments and the process of its commissioning.。 Sometimes I hear scary answers: "Comment out some of the code until the memory leaks are fixed." explains how the Autorelease pool works when the program is running. -—— This type of problem is beyond the code base, a programmer can learn this only by reading a subset of the development books. These problems can also be explored in his understanding of how the program's underlying code works. What is the difference between an atom (atomic) and a non-atomic (non-atomic) attribute when handling a property declaration? -—— a lot of people don't know the answer to this question, I was shocked again. A lot of people they are looking at how others are declaring, they are going to declare. Problems like this can leak out a lot. in C, how can you reverse a string in as short a time as possible? --I don't really like to go into the core of the computer, but through this question I can see how they think, as well as their C-language background. In-depth questioning of the complexity of the time (Big O notation) also allows me to understand the interviewer's level. traverse a nsarray and a nsset, which one is faster? --another in-depth question. Sometimes a class solves a problem and doesn't mean you should use it. explains how code signing works. Many candidates have no idea how the code signature works, and then complain that they have been plagued by some code-signing problems. what does the posing in objective-c mean? --posing is a object-c of the minority grammatical features. Like swizzling, this question can help me understand the depth of the interviewer's language. Lists the 6 tools in the standard Xcode version. I can get a general idea of how much time the interviewer spends on these tools through this question. Tip: Use these tools at least 10% of the time you write the code. What's the difference between copy and retain? --a lot of developers have been using arc recently, and memory problems are more reflective of a developer's level of knowledge. What's the difference between frames and bounds? -—— I'm not going to ask a lot of interface-related (gui-type) questions, I should ask more, but with this I can almost see how much a developer has done on the interface. What happens when you execute the following code?
    1. Ball *ball = [[[[Ball alloc] init] autorelease] autorelease];
another memory-related issue, the answer to this question cannot be answered by a single crash, I want to know why it crashes and when it crashes. lists the status of 5 iOS apps. --almost no one can answer the question correctly, usually I give an example, such as the state of the background run, so they know what I'm talking about is that piece of background. Do you think this interview will be a good reflection of your ability as a developer? Some people say it's good to test, but some people don't think so. I tend to give the interviewer some chance to express their own ideas. Self-confidence is a very important quality, and the answer to this question can also be a good response to a person's confidence level. When I ask these questions, I add some questions, like, "Why is this happening?" "or" please explain your problem-solving ideas. " The key to a technical interview depends on how well the interviewer knows the language and platform, not just the breadth of the technology, but also the depth of the technology. actual coding of the interviewThis is our most important interview, this interview can directly reflect whether the participants can be qualified to work. We will provide the interviewer with an app called the Dragon ' s test, which is now known to have many problems with the app. The interviewer is then given a bug list that assesses the interviewer's rating according to the interviewer's ability and time to solve the problem. Our company provides iOS development services to some large legal entities, and we aim to deliver the most reliable results to our customers with the fastest conversion mode. So the actual coded interview is an important interview to effectively assess the interviewer's ability to develop, because it allows me to determine how much salary should be paid to the interviewer if the company is profitable. For the software interview itself, it is a great blessing to find the developer who can solve the problem quickly. There is a delicate balance between completing the details and completing the time. If a person completes 95% in 1/3 of the time and the other takes more time to complete 100%, then I prefer to choose the former. There is also a secret to tell you that we are also insisting on using this actual coded test to select the employee supervisor. Fortunately (or it may be unfortunate, depending on how you look at the problem), the best way to prepare for the actual coded interview is to practice. The more apps you make, the more likely you are to develop more robust code faster. So stick to practicing and learning! Where do you go ?   To summarize:Be familiar with the basics of computer language so that you can help you relax in your interview. During the interview, talk about the company you are applying to and the products of the company. Always keep your interview answers concise and straight to the subject. Keep your mind running fast while you work on coding. The speed at which you complete the task will determine the success or failure of the project. If you can write good code more quickly, then you are more valuable, you are more valuable, the company will be more willing to give you more pay. Ray and I both want you to enjoy this series of articles! If you like to see more of the same type of article-say, for example, how you can improve your skills as an iOS developer, how to find work on iOS, or how much you should expect to get paid as an iOS developer. If you like to see these things, please let us know oh. In other words, do you know the answers to the iOS interview questions I raised above? If you know, join our forum discussion group and compare your answers!

iOS face question

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.