P
prepair.app
Começar entrevista →
EnglishУкраїнськаРусскийDeutsch
🍏

Junior iOS (Swift)Perguntas de entrevista iOS Swift

Junior · sem experiência / menos de 1 ano

Entrevistas de iOS testam o sistema de tipos do Swift, como o ARC gerencia memória, e se você consegue raciocinar sobre o estado da UI — além de pelo menos uma pergunta em que um retain cycle está escondido bem à vista. Abaixo estão as perguntas mais feitas, cada uma com uma resposta modelo. Junior: teoria básica, definições e casos práticos simples.

Experimente — sem necessidade de conta
Preparando sua pergunta…

Temas para se preparar

Linguagem Swift e optionals
ARC e gerenciamento de memória
SwiftUI e UIKit
Concorrência: async/await, Combine, GCD
Arquitetura e estado
Persistência e networking

7 perguntas de nível Junior com respostas

1

Qual é a diferença entre struct e class em Swift?

Resposta

Uma struct é um tipo de valor — atribuir copia. Uma class é um tipo de referência — atribuir compartilha. A biblioteca padrão do Swift é construída sobre structs, e a orientação é começar com uma struct e recorrer a class quando você precisa de identidade, herança ou deinit.

2

O que é um optional, e quanto custa o force unwrapping?

Resposta

Um optional é um tipo que pode conter um valor ou nil, e o compilador te obriga a lidar com os dois casos. O force unwrapping com ! diz que você tem certeza — e derruba o app se você estiver errado. if let, guard let e ?? expressam a mesma intenção sem apostar o processo nisso.

3

Qual é a diferença entre weak e unowned?

Resposta

Os dois evitam uma referência forte, então nenhum mantém o objeto vivo. weak vira nil quando o objeto desaparece e por isso precisa ser opcional; unowned não vira, e acessá-lo depois que o objeto sumiu derruba o app. Use weak quando o outro objeto pode legitimamente desaparecer primeiro, unowned só quando isso é impossível.

4

O que é um retain cycle e onde ele costuma aparecer?

Resposta

Dois objetos mantendo referências fortes um para o outro, então nenhuma contagem chega a zero e nenhum é liberado. Na prática eles aparecem em closures que capturam self — um completion handler guardado no próprio objeto ao qual pertence. [weak self] na lista de captura é o conserto padrão.

5

Qual é a diferença entre frame e bounds?

Resposta

frame é o retângulo da view no sistema de coordenadas do seu superview; bounds é o dela mesma, com a origem geralmente em zero. Rotacione ou aplique uma transform em uma view e frame vira o retângulo que a envolve, enquanto bounds continua igual. Desenho usa bounds, posicionamento usa frame.

6

Qual é o ciclo de vida do view controller?

Resposta

viewDidLoad uma vez quando a view é criada, depois viewWillAppear e viewDidAppear a cada apresentação, com o par Disappear na saída. Configuração única vai em viewDidLoad; qualquer coisa que precise atualizar toda vez que a tela aparece vai em viewWillAppear. Colocar uma chamada de rede em viewDidLoad é o motivo de uma tela mostrar dados desatualizados na segunda visita.

7

O que é o ARC e o que ele não resolve?

Resposta

Automatic Reference Counting insere retain e release em tempo de compilação, liberando um objeto quando sua contagem chega a zero — determinístico, diferente de um garbage collector. O que ele não resolve é um ciclo: dois objetos que se referenciam mutuamente nunca chegam a zero, e é exatamente por isso que existem weak e unowned.

🦎

Só ler as respostas não basta

Numa entrevista de verdade você fala sob pressão. O Cam faz essas mesmas perguntas, avalia cada resposta e mostra exatamente o que melhorar.

Praticar entrevista de Junior iOS (Swift) →
Grátis · 3 entrevistas por mês

Outros níveis — iOS (Swift)

Middle iOS (Swift)Senior iOS (Swift)Todas as perguntas de iOS (Swift)

Outras especializações

🔍Junior QA Manual🤖Junior QA AutomationJunior Java Backend🐍Junior Python Backend🐘Junior PHP Backend🦫Junior Go Backend🟢Junior Node.js Backend💎Junior Ruby on Rails🔷Junior C++🟨Junior JavaScript