Meituan
One side
1. Ask about the items on your resume and then start asking about the knowledge.
2, Volley source code, in the image caching section has been discussed for a long time, HTTP caching mechanism,
3. The life cycle of the visual controller
4. Database
5, multithreading (NSTread, NSOPeration, GCDA+block)
6. The difference between HTTP protocol GET and POST
7, mobile phone adaptation of some schemes
8. Matters needing attention in real machine debugging and project on-line
Whether static methods can be overridden
The conversation lasted about one and a half hours. At the beginning, I was still a little nervous, but when the conversation began, I was much better. The interviewer spoke a little fast and always needed to be repeated by the interviewer.
Second interview
1. What does id and nILL stand for?
2. What happens when you send a message to an NILL object?
Synchronization and asynchrony in HTTP
4. The difference between MVC and MVVM.
Implement a business with MVVM. VC is the entry point. VC1 displays the list of provinces, VC2 displays the list of cities associated with provinces, and VC3 displays the list of counties associated with cities. VC to VC1, VC1 to VC2, VC2 to VC3, and then VC3 to VC. The relevant point is how to design the ViewModel and Model, and VC3 to VC.
How to write unit tests, such as writing a network library, how to test the network library, how to write a more comprehensive use case.
How code is pulled from Git to.ipa generation, and what files are generated in the process.
What books have you read recently, what frameworks have you read, and what have you learned?
Speaking of JSPatch, ask how JSPatch handles blocks.
What I’m good at.
What kind of setbacks have you encountered?
Added two new questions: How to detect memory leaks and zombie objects without Instruments.
On three sides
1. How does iOS manage resources?
Some of the more important features of Python
3, the network structure of five layers, each layer protocol, because MY network is not very good, also asked some other questions (such as the difference between MAC address and IP address, etc.).
First, I talked about my feelings and questions on the first two sides, and then I talked with the interviewer about the difference between singleton and global variables.
The difference between a Block and a Protocol, which problem a Block is used to solve.
Design patterns for iOS. Why doesn’t iOS have a “Builder” construction pattern like Java and C?
Average and worst time complexity for bubbling, insertion, and quicksort.
Heap sort.
Is there a time order n sort?
Recent problems solved from stackOverFlow, Open source frameworks read, books read, Hobbies, Most fulfilling things.
Ali.
One side
1. Introduce the project
2. In KVO, how does he know that the object of his listening has changed?
3. How do dictionaries work? How to quickly fetch value from 100W?
4, a on-line project, know that this method may go wrong, in the premise of not destroying the method, how to do?
What is the difference between a Block and a function pointer?
6. Performance optimization
YYModel and AF source code
8, how to design json to model
9, architecture,
It seems that their interviewers like to ask low-level things, such as this interview will ask me KVO questions.
Question [1], looks like very hanging, careful as not to think, may not really understand,
Question [2], this is a pure data structure problem.
Problem [3], this is the iOS runTime problem, just ISA, and some swizzling technology
Question [4] depends on how extensive your understanding is.
Second interview
1. Differences between shallow copy and deep copy
2, Block circular reference, how to solve, principle
3. Compare blocks and delegates
4. Realization principle of KVO
5. Implementation principle of Autorelease Pool
6. Message forwarding mechanism
Four conditions for thread deadlocks
The difference between a process and a thread
9. Persistence
10. Transaction characteristics
In the middle, we discussed about where the constraint of the navigation should be written. I said I would post it in layoutSubViews, and he said it would be called many times. Then we argued for a while
On three sides
Mainly asked some things about the project and asked me how to achieve some scenes
Self-introduction Introduce some difficulties of the project
What is the main thread relative to
What determines the memory footprint of an image
The role of indexes
Advantages and disadvantages of indexes
Find the smallest k number in the array
How to optimize taobao drop-down load more
Taobao page to send HTTP request process
Introduce MVVM
Know which design patterns
The three interviewers mainly talked about some specific scene problems and some foundation, the foundation should be no big problem.
headlines
One side
To introduce myself
Project related
How to customize navigation jump
Talk about the understanding of runtime
The purpose of the KVC
What should I pay attention to when using Method Swizzling? (Some checks are needed during version iteration in case the library functions change)
On the understanding of reference counting
Talk about understanding runloop
The status of runloop
Usage scenarios of AutoReleasepool
TableView optimization, how to reduce the lag
Copy assign retain weak keywords
JSON transfer Model
Code layout
Multiscreen adaptation
HTTP2
HTTP request headers and response headers
Cookie
NSCache
Design your own cache
How to implement LRU
SDWebImage
Binary tree sequential traversal (recursive and non-recursive)
Second interview
Some disadvantages of MVC
Talk about other architectures
You know how to code
Algorithm string flipping
Multithreading and the difference between them
Queue and thread relationship
A thread safety problem
What are the lock
Property keyword
Can assign be used with OC objects
Difference between copy and strong
Weak how to automatically assign nil
Why copy for immutable objects
Can we use assing in an object
Pod Update vs. Pod Install
The difference between layoutIfNeeded and setNeedsLayout
How does the packet capture tool capture HTTPS
Relationship between isEquel and Hash
The structure of the bitmap
The implementation principle of mutable array
How do I hook methods on one object without affecting other objects
How do I avoid if else
The difference between a spin lock and a mutex
On three sides
Introduce the project, mainly introduce your strengths
Will the elements of an array cop be copied
Shallow and deep copies of arrays
Why is TCP three handshakes and four waves
The headlines are always video, and it’s a dragon service. Generally speaking, it feels good, but the main thing is that you need a solid foundation,
baidu
One side
1. IOS basics
2. Basic knowledge of Python, probably multithreading, thread safety, collection classes, JVM, class related knowledge, etc.
3, iOS some source code reading
4. Excellent third-party framework source code reading
5. Knowledge of GLSurfaceView, OpenGL, Shader and drawing process.
6. Ask about current projects and specific implementations and optimizations.
7, Multi-process communication, Binder mechanism.
EventBus Volley, EventBus Volley, EventBus Volley
Second interview
Delegate, Notification, and KVO compare their strengths and weaknesses
2. How many ways to implement a square red view in the middle of a UI?
3. What is the response mechanism when the hand touches the screen? Who was the first responder? What’s the relationship between UIView and UIResponse?
4. What is the lifecycle of UIViewController? When you ask UIViewController to alloc and not use it,
Is the view of UIViewController loaded? If not, when?
Which is better, just drawing UILabel or drawing UILabel with DrawRect? Why is that? Which takes up less memory? Why is that?
6. Does AFNetworking support ipv6?
7. The project is 64-bit, why 64-bit? How do I change it to 64 bits? What is i386? What are they related to?
8. How many states do iOS apps have? Follow-up, back to the background code can be executed? Double click the home button, can the code be executed?
9. How much icon memory is generally used? For example, what is a reasonable memory footprint for a 200×300 image?
10. Why do blocks cause memory leaks?
Is [object Copy] a shallow copy or a deep copy? Why shallow copy? Which protocol does copy implement?
12. What’s the difference between images.xcassets and using Images directly?
On three sides
These are all questions about iOS, they are really detailed, they need to have a solid foundation and a really good understanding of each mechanism, otherwise it is a little difficult to answer.
1. Memory management
2. Multi-threading
3. Various queues
4. Thread locks
5, MVVM
Just to see if my iOS skills are up to scratch. Ask very fine, need solid enough foundation really just line.
tencent
One side
1, introduce the internship project, the division of tasks, what work? Introduction of internship content
2. Network related: What network library is used in the project? Have you used ASIHTTP library
3. How to implement breakpoint continuation? What do I need to set?
4, in Hangzhou HTTP request server response is fast, may be close to the server, and in Shenzhen access is very slow, what is the reason? If the user complains, how to analyze the problem?
5. Which methods of HTTP requests have been used? When to select GET, POST, or PUT?
6, TCP connection establishment process, disconnection process, why is the four handshake?
7. What are the data stores used in the project? Know what data storage methods are available in iOS? How and when to store?
8. How to bind MVVM
9. What are the differences between blocks and notifications
10. Algorithms. I asked a bunch of questions, all arrays, and then I forgot, but I just remember finding arrays at the end
11. Repeated numbers in
The difference between a process and a thread
13. What else does the operating system do besides allocate memory while the program is running
14. Methods of interprocess communication
15. How to detect whether the application is stuck
16, Released version, how to collect crash logs? Not using third party platforms like Bugly or how did those third party platforms collect crash logs?
17. Does using _property inside a block cause a circular reference? How to solve it? In addition to self->_property, can I access it using ValueForKey can I change its value inside the block setValueForkey? You can change its value, using valueForKey, explicitly using self, and holding a weak reference to self outside the block.
Second interview
1. Structure of objects in OC
2, polymorphism
3. What is Ping protocol
4. Do you know MTU
5. What is the essential difference between ARC and MRC?
6. NSThread, GCD, NSOperation. How to start a thread? Can threads be cancelled?
The connection method is called in the child thread. Why is it not called back? There is no callback because runloop is not added and destroyed as soon as the task is completed.
The difference between MVC and MVVM
9. Know which design patterns
10. What data structure is used to save an address book, including adding, deleting, changing and checking
11. When is the autoRelease variable released? Manually added, the braces are released when they end, and the system automatically releases them when the current runloop ends
When will the autorelease variable in the child thread be released?
14. Do I need to add autoreleasepool to child threads
15, GCD and NSOperation difference?
16. Have you encountered deadlocks in the project? How to solve it? Database access is thread-safe and does not cause deadlocks. What is a deadlock?
17. Viewcontroller lifecycle?
In init, set the background color. Will it work? Why would it be?
19. What new features have WWDC2016 announced? Have you been paying attention to the latest features in the Apple line
Read what source code, talk about ideas
21, two linked lists find the first same node
22. String rotation
Find the KTH node to the end of the list
24. Place a list larger than a value on the left and smaller on the right
Middle order traversal of binary tree, non-recursive
This article is reproduced by a third party