Perguntas da entrevista IOS188 As perguntas da entrevista são organizadas, a camada inferior, destaques técnicos e as necessidades da empresa estão aqui.

Uma coleção de 100 empresas bem conhecidas que estão fazendo perguntas para entrevistar o iOS este ano:
aqui está o que você deseja;

Há também o que as empresas desejam;

Do básico ao avançado, bem no fundo

Classifique 188 perguntas da entrevista, todas relacionadas a produtos secos

Exibição do catálogo:
1. A diferença entre swift e oc
2. Compilar link
3. Sintetizar e denamic
4. Quais são as ferramentas de desenvolvimento comumente usadas no desenvolvimento de projetos?
5, UITableView & UICollection
6, NSProxy & NSObject
7, Object & Swift
8, notificação de valor e notificação push (local e remota)
9, biblioteca de terceiros e plataforma de terceiros
10, NSCache & NSDcitionary
11, métodos setNeedsDisplay e setNeedsLayout de UIView
12. UILayer & UIView
13, layoutSubViews & drawRects
14, UDID e UUID
15, CPU e GPU
16, ponto (pt) e pixels (px)
17, atributos e variáveis ​​de membro
18, a diferença entre
importação de int e NSInteger (1) e incluem
(2) @class
(3) variáveis ​​globais e estáticas

19. Classes e objetos
(1) Quais atributos podem ser declarados no protocolo de expansão da classificação?
(2) A diferença entre herança e classificação
(3) O papel da classificação
(4) As limitações da classificação

20, categoria e extensão
21, formato de interceptação (3) de string Foundation
(1) string
(2)

22. NSArray e NSDictionary
(1) Método iOS de atravessar matrizes / dicionários
(2) NSValue NSNumber
(3) Outros
(4) Como evitar referências circulares

23. Quais são as etapas para usar o CFSocket?
24. Quais são os métodos para operar o Socket fornecidos no Core Foundation?
25. Quais são as maneiras de analisar arquivos XML?
26. Qual é o modelo sandbox? Quais operações pertencem à categoria de API privada?
27. Em um método de objeto: self.name = "object"; há alguma diferença de name = "object"?
28. Explique brevemente quando viewDidLoad e viewDidUnload são chamados
29. Criar O modo de controlador e visualização
30. Breve descrição da partição de memória
31. Qual é a diferença entre fila e pilha
32. Arquitetura do sistema do iOS
33. O controle responde principalmente a 3 tipos de eventos
34. Quais são os 3 ícones para a composição de arquivos xib? Quais são as funções?
35. Descreva resumidamente o ciclo de vida do controlador de visualização
36. O ciclo de vida do projeto do aplicativo
(1) O ciclo de vida do aplicativo
(2) Explique resumidamente o processo de inicialização do APP. Por falar no principal arquivo, quais funções estão na função principal? Qual é o papel?
(3) O papel da função UIApplicationMain
(4) O papel da função principal

37. Quais são os tipos básicos de animação? Quais são os estilos básicos de visualização de tabela.
38. Quais atributos de UITableView precisam ser definidos e qual protocolo deve ser implementado para realizar a exibição de uma tabela simples?
39. Que tipos de transições do Core Animation o Cocoa Touch oferece?
40. Qual é a diferença entre UIView e CLayer?
41. Quais são os três conceitos básicos da função de desenho do Quatrz 2D e uma breve descrição de suas funções
42. O iPhone OS fornece principalmente vários métodos para reproduzir áudio?
43. Qual estrutura e etapas são usadas para chamar a classe AVAudioPlayer?
44. Que tipos de métodos de notificação por gestos existem, e o nome do método está claramente escrito?
45. Como o didReceiveMemoryWarning of ViewController é chamado?
46. ​​Quando usar delegado e quando usar Notificação?
47. Use a diretiva de pré-processamento #define para declarar uma constante para indicar quantos segundos existem em um ano (ignore o ano bissexto problema)
48. Escreva a A macro "padrão" MIN, esta macro pega dois parâmetros e retorna o menor.
49. Qual é o significado da palavra-chave const? Que tal modificar a classe? Qual é o papel de estático para classes? E o papel de extern c
50. Qual é o significado da palavra-chave volátil? E três exemplos diferentes são fornecidos
51. Um parâmetro pode ser const ou volátil? Um ponteiro pode ser volátil? Explique por quê.
52. A função da palavra-chave estática
53, Liste vários mecanismos de sincronização para processos e compare suas vantagens e desvantagens.
54. Formas de comunicação entre processos
55. Causas de bloqueios de processos
56. 4 condições necessárias
para deadlock 57. Deadlock processing
58, cacau touch framework
59. O que é o pool de liberação automática e como ele funciona
60. O que deve ser prestado atenção no uso de sprintf, strcpy e memcpy
61. Você entende svn, cvs e outras ferramentas de controle de versão?
62. Quais são as três características de push
63, biblioteca de link estático
64 e OC
(1) Sintaxe Package_dot
(2) Herança
(3) Polimorfismo

65. Como conseguir polimorfismo em OC
66.
Vantagens e desvantagens de Objective-C 67. Para OC, quais você acha que são as maiores vantagens e desvantagens? Em relação às deficiências, existe algum método disponível para contornar essas deficiências e atingir os requisitos. Em caso afirmativo, você considerou ou implementou a função de reimplementar OC? Em caso afirmativo, como?
68. Tipos modificáveis ​​e não modificáveis
em oc 69. O que queremos dizer com oc como uma linguagem de tempo de execução dinâmica?
70. A diferença entre notificações e protocolos?
71. O que é uma mensagem push?
72. Sobre polimorfismo
73 、 O que é um predicado?
74. O projeto que você fez envolve a função de acesso à rede e qual objeto é usado para completar a função de rede?
75. Apresente brevemente a classe NSURLConnection e a diferença entre + sendSynchronousRequest: returnResponse: error: e - initWithRequest: delegate:?

76. Fale sobre o método e processo de gerenciamento de memória do Object-C?
77. O Object-C tem métodos privados? E quanto às variáveis ​​privadas?
78. Fale sobre a cadeia de resposta
79, transferência de tempo e cadeia de resposta
80, qual é a diferença entre quadro e limites?
81. Qual é a diferença entre método e seletor?
82. Mecanismo de coleta de lixo OC?
83. O que é carregamento lento?
84 . Devo incorporar dois controladores tableview em um controlador de visualização?
85. Um tableView pode ser associado a duas fontes de dados diferentes? O que você fará?
86. Quando usar NSMutableArray e quando usar NSArray?
87. Dê a um delegado Exemplo de e, digamos, o método Data Source de UITableVIew
88. Quantos objetos autorelease podem ser criados no aplicativo, há um limite?
89. Se não criarmos um pool de memória, há um pool de memória para nós?
90. Quando é necessário ? Crie um pool de memória no programa?
91. Esses métodos da classe NSObject são freqüentemente usados?
92. O que é um método de construção simples?
93. Como usar o Xcode para projetar aplicações gerais?
94. Quais são os efeitos de animação do UIView?
95. Quantas heranças Object-C? Se não, o que será usado no lugar? Todas as classes em cacau são subclasses de NSObject
96, Autorelease de gerenciamento de memória, retém, copia, atribui métodos definidos e seus significados?
97. Como misturar C e obj-c
98. O papel da categoria? Qual é a diferença entre herança e categoria na implementação?
99. A diferença entre categoria e extensão de classe.
100. Qual é a diferença entre o protocolo em oc e o conceito de interface em java?
101. A diferença entre cópia profunda e cópia anterior
(1) o que é cópia profunda e cópia superficial
(2) quando é a string usada cópia, forte
( 3) onde a string é Memory area
(4) mutablecopy e copy @property (copy) NSMutableArray * arr; o que há de errado com esta escrita
(5) como fazer classes personalizadas pode usar o modificador de cópia

102. Para a instrução NSString * obj = [[NSData alloc] init]; que tipo de objeto é obj em tempo de compilação e tempo de execução?
103. Qual é a diferença entre #import e #include, e @class, e qual é a diferença entre #import <> e #import ""?
104. As classes Objective-C podem ter herança múltipla? Podem ser implementadas várias interfaces? O que é categoria? É melhor reescrever uma classe por herança ou classificação? Por quê?
105. Qual é a diferença entre #import e #include, @ What é a diferença entre #import <> e #import ""?
106. Escreva um método setter para completar o nome NSString * @property (não atômico, reter), escreva um método setter para completar @property (nonatomic, cópia) NSString * nome
107 . Quais são os tipos de dados Objective-C comuns e qual é a diferença com os tipos de dados básicos de C? Por exemplo: NSInteger e int
108. Quais são as características do objeto declarado por id?
109. Como Objective-C gerenciar a memória Sim, falar sobre suas visões e soluções?
110. Qual é a diferença entre atributos atômicos e não atômicos?
111. Observe o programa a seguir, qual será a saída do primeiro NSLog? Neste momento, o retémContagem de str O que é a segunda e a terceira? Por quê?
112. Quais são os princípios do gerenciamento de memória? De acordo com as regras padrão. Os objetos gerados por essas palavras-chave precisam ser liberados manualmente? Como evitar a memória de forma eficaz quando combinados com a propriedade Vazamento?
113. Como executar teste de desempenho em dispositivos iOS?
114. Padrões de design
(1) Modo MVC
(2) Modo Singleton
(3) Modo Mvvm
(4) Modo Observador
(5) Modo Fábrica
(6) Modo Agente
(7) Modo Estratégia
(8) Modo Adaptador
(9) Modo Modelo
(10) Modo Aparência
(11) Modo de criação
(12) Modo MVP

115. Análise de princípio de modo MVVM
116, falar sobre vários métodos de transferência de valor comumente usados
117, quando usar delegado e quando usar Notificação
118, compreensão do singleton
119, analisar o agente da perspectiva de padrões de projeto, a diferença entre notificação e KVO ? Quais padrões de design são usados ​​na estrutura fornecida pelo SDK do ios e por quê? Quais são as vantagens e desvantagens?
120, a diferença entre KVO, NSNotification, delegado e bloco
121, tempo de execução (tempo de execução)
122, tempo de execução / mecanismo de encaminhamento de mensagens
(1) tempo de execução
1.1, o que é tempo de execução
1.2, para que serve o tempo de execução e uso cenários
(2) Mecanismo de mensagem
2.1, o princípio de encaminhamento de mensagem
2.2, o que é SEL é
uma ligação dinâmica super cmd (3)

123. Use bugly para análise de falha
124, Jenkens continua a embalar
125, KVO e KVC
(1) Implementação de baixo nível
(2) Visão geral de KVO
(3) Visão geral de KVC

126. O que são KVO e KVC?
KVO e KVC
(1) Como chamar variáveis ​​privadas, como modificar os atributos somente leitura do sistema, a ordem de pesquisa de KVC
(2) O que é valor-chave, qual é a chave caminho
(3) A realização do mecanismo kvo
(4) atributos de cálculo KVO, configuração de chaves dependentes
(5) atributos de coleção KVO
(6) cenários de uso KVO

127. SDWebImage (o mecanismo de implementação de SDWebImage)
(1) Funções principais
(2) Cache
(3) Cache de memória e cache de disco

128. O mecanismo de cache da estrutura SDWebimage
129.
O princípio de segurança das senhas de segurança de rede

130. Multithreading
(1) O conceito de multithreading
(2) O papel do multithreading
(3) Cenários de uso

131. Qual é a diferença entre NSOperationQueue e GCD
132. A diferença entre GCD e NSThread
133. Qual é a diferença e conexão entre processos e threads?
134. Não execute duas operações demoradas de forma assíncrona. Depois de ambas as operações demoradas são executados, Volte para o thread principal para realizar as operações. Use o grupo de filas (dispatch_group_t) para atender aos requisitos acima de forma rápida e eficiente.
135. Quando você deve escolher usar GCD e quando deve escolher NSOperation?
136. Comparado com o tecnologia multi-threading no iOS
137, multi-threading é melhor Desvantagens
138, operação atrasada no iOS
139, execução síncrona da fila serial e fila principal assíncrona
140, solução de captura de recursos
141, qual é a função de dispatch_barrier_async?
142. Em Core Data multi-threaded, qual NSC, MOC e NSObjectModel precisa ser criado ou transferido em threads? Que estratégia você usou para conseguir isso?
143. A diferença entre + (void) load e + (void) initialize. A diferença entre load e initialize métodos.
144. O post e a diferença e a conexão de http. Como escolhê-los na prática?
145. Conte-me sobre a diferença entre UDP / TCP?
146. Qual é a diferença entre comunicação http e scoket? Bibliotecas relacionadas à conexão de soquete, métodos de conexão TCP, UDP, vários métodos comuns de HTTP?
147. Vários métodos comuns de solicitação HTTP
148, bloco
(1) O que acontece ao usar o bloco Como resolver o ciclo de referência?
(2) Como modificar as variáveis ​​externas do bloco no bloco?
(3) Bloco e Bloco MRC
(4) O que é um bloco
(5) Princípio de realização do bloco
(6) Sobre o bloco
(7) Quais são as vantagens de usar bloco e delegado para completar o modo de delegação
(8) Multithreading e bloco
( 9) Falando sobre a compreensão de Bloco? E escrever uma animação UIVew usando Bloco?
(10) Escreva a definição de Bloco do código acima (continue para a questão)

149. O uso de Fraco, forte, copiar, atribuir
(1) Quando usar a palavra-chave fraca, qual é a diferença em comparação com atribuir?
(2) Como usar a palavra-chave de cópia?
(3) fraco e forte
(4) O que há de errado com essa forma de escrever: @property (copiar) NSMutableArray * array
(5) Como usar o modificador de cópia para minha classe? Como reescrever o setter com a palavra-chave copy?
(6) Qual é a essência de @property? Como ivar, getter e setter são gerados e adicionados a esta classe
(7) Como ivar, getter e setter são gerados e adicionados a esta classe?
(8) NSString (ou NSArray, NSDictionary) declarado com @property é frequentemente Por que usar a palavra-chave da cópia? Se você mudar para a palavra-chave forte, que problemas isso pode causar?
(9) Como usar @property em @protocol e categoria
(10) Como o tempo de execução encontra o endereço IMP correspondente por meio do seletor?
(11) A diferença entre reter e copiar
(12) Como usar cópia e forte?
(13) NSString e NSMutableString, o primeiro é thread-safe, o último não é thread-safe.
(14) A função de ler, escrever, somente leitura, atribuir, reter, copiar, atributos fracos, fortes, não atômicos

150. A interação entre OC e JS (iOS e H5 mistos)
Otimização de desempenho de TableView
UITableView ideia central A
otimização de UITableView começa principalmente a partir de três aspectos:

151. Por que o TableView emperra?
152. UITableView
(1) A ideia central de UITableView
(2) A definição de altura
(3) O princípio de altura personalizada
(4) A otimização de desempenho de UITableView do velho ditado
(5) Cálculo de altura de célula
(5.1) Fixo célula de altura e célula de altura dinâmica
(6) renderização de TableView
(7) reduzir o número de visualizações
(8) reduzir operações de desenho redundantes
(9) não adicionar subView dinamicamente à célula
(10) IU assíncrona, não bloquear o thread principal
( 11) carregar o correspondente sob demanda ao deslizar O conteúdo
(12) o problema de renderização fora da tela
(13) o esquema de otimização de renderização fora da tela

153. Huanxin SDK usa
154, Bluetooth
155. Como salvar dados em aplicativos do iPhone?
156. O que é coredata?
157. O que é modelo NSManagedObject?
158. O que é NSManagedobjectContext?
159. Como a plataforma iOS faz persistência de dados? Coredata É existe uma conexão necessária com sqlite? O coredata é um banco de dados relacional?
160. CoreData & SQLite3
161. Armazenamento de dados
(1) Tecnologia de armazenamento de dados
(1.1) Várias formas de armazenamento de dados
(1.2) Cada recurso (site de teste de entrevista)
(1.3) Preferências (site de teste de entrevista)
(1.4) Arquivo (site de teste de entrevista )
(2) Tecnologia de banco de dados (SQLite e CoreData)

162. Qual é a diferença entre heap e pilha Objective-C?
163, vazamento de memória e estouro de memória
164, heap e pilha
(1) diferença de alocação de espaço de pilha
(2) diferença de método de cache de pilha
(3) diferença de estrutura de dados de pilha

165. Gerenciamento de memória
(1) área de memória
(1,1) a diferença entre heap e pilha
(1,2) área de memória iOS
(2) gerenciamento de memória de string
(3) como você otimiza o gerenciamento de memória
(4) referências circulares
(5) autorelease Use
( 5.1) por que o método de fábrica não libera o objeto
(5.2) o cenário de uso de
liberação automática sob ARC (5.3) como funciona o pool de liberação automática
(5.4) evita picos de memória
(5.5) uso misto de ARC e MRC
(5.6) memória NSTimer gestão
(5.7)) O princípio de realização do ARC

Qual é a relação entre 166, Runloop
167, fmmpeg frame
168, fmdb frame
169, 320 frame
170, UIKit e CoreAnimation and CoreGraphics?
Você usou CoreAnimation e CoreGraphics no desenvolvimento? 171, trasform
172, animação ponto a ponto e camada, a diferença entre vista
173, camada e vista
174, relação hierárquica paralela
175, capacidade de camada
176, camada de uso
177, desenho principal
( 1) a diferença entre View e layer
(2) a diferença entre new e aloc init

178. Animação
179. UICollectionView
(1) Como alcançar fluxo em cascata, layout de fluxo
(2) A diferença entre o uso de UITableView

180, UIImage
181, webview
182, descrição do algoritmo de grade de nove quadrados
183, realização do diagrama de carrossel de imagens
184, estrutura de rede iOS
185, rede
(1) base de rede
(2) transmissão de rede
(3) AFN

186. AFNetworking & ASIHttpRequest & MKNetWorking
(1) Implementação de baixo nível
(2) Processamento de dados retornado pelo servidor
(3) Processo de solicitação de monitoramento
(4) A facilidade de uso no download e upload de arquivos
(5) Monitoramento de rede
(6) ASI Outras funções úteis fornecidas
(7) MKNetworkKit

187, otimização de desempenho
188, algoritmo

Ensaios recomendados

Análise de vídeo recomendada


Acho que você gosta

Origin blog.51cto.com/15010671/2660310
Recomendado
Clasificación