Análise do questionário Android no estande hh.ru no Mobius 2019 Moscow

Nos dias 7 e 8 de dezembro, uma conferência para desenvolvedores móveis Mobius 2019 Moscow morreu. Os relatórios são lidos, os convidados são alimentados, os prêmios são sorteados e aqui está a análise das perguntas mais interessantes dos três questionários do estande hh.ru.





Pergunta 1
Qual a quantidade física que o sensor de luz em um smartphone mede?


A resposta

Suíte


Explicação

Estatísticas de resposta





Questão 2
A principal questão que o JMM resolve


A resposta

O que uma leitura específica será lida em um programa multithread?


Explicação

Infelizmente, o JMM não responde à pergunta "Como escrever programas multithread corretamente", mas fornece informações sobre como o modelo de memória em Java é projetado para que possamos tomar as decisões corretas.
"O que uma gravação específica gravará em um programa multithread?" não é a resposta correta, porque, como programadores, geralmente estamos interessados ​​no resultado dessa entrada.
"Ser ou não ser" é um trecho do famoso monólogo shakespeariano Hamlet e, quem pensaria, não tem nada a ver com programas multithread.
A última opção permanece - “O que uma leitura específica lerá em um programa multithread”, que é a resposta correta.
Sobre o tema do JMM, recomendamos que você veja o relatório de Alexei Shipilev "Pragmatic JMM"


Estatísticas de resposta





Pergunta 3
O resultado do próximo bloco de código será ...


Observable.create<Int> { emitter -> try { throw Exception("whoa") } finally { emitter.onNext(1) } }.subscribe { print("onNext $it + ") } 


A resposta

onNext 1 + OnErrorNotImplementedException


Explicação

Dentro da função create, chamamos um bloco try-finally no qual lançamos uma exceção Exception ("whoa"). Como não há bloco de captura, uma exceção deve interromper a execução da cadeia e o controle é passado para o manipulador onError da interface Observer, onde a exceção ("whoa") deveria ter recebido. Mas há dois pontos importantes.
Primeiro: temos um bloco finalmente que deve ser executado. Nele, enviamos a string "onNext 1" para o manipulador onNext, que exibe essa string no console com a adição do caractere "+".
E a segunda: o manipulador onError não está definido na função de assinatura, portanto, o RxJava lança uma exceção "io.reactivex.exceptions.OnErrorNotImplementedException" e também é gerado no console. Portanto, obtemos a sequência "onNext 1 + OnErrorNotImplementedException".


Estatísticas de resposta





Pergunta 4
Qual versão do android listada abaixo é a menos usada pelo developer.android.com?


A resposta

Lollipop 5.0


Explicação

Estatísticas de resposta





Questão 5
Qual biblioteca NÃO tem realmente 2 no nome?


A resposta

Room2


Explicação

A versão mais recente do Room é 2.2.2. Mas não há 2 no nome da biblioteca.
Camera2
ViewPager2
Retrofit2


Estatísticas de resposta





Pergunta 6
Que tipo será o resultado da expressão no Kotlin?


 mutableListOf<Any>() + mutableListOf() 


A resposta

Lista <Any>


Explicação

A resposta não é óbvia; à primeira vista, é lógico que o resultado seja uma MutableList. Nós mesmos recentemente notamos esse recurso da biblioteca padrão do Kotlin. Entendemos por que é assim.
No Kotlin, você pode executar operações binárias em coleções usando a sintaxe a + b, que se traduz em a.plus (b) . O método plus para MutableList de fontes Kotlin:


 public operator fun <T> Collection<T>.plus(elements: Array<out T>): List<T> { .. } 

Ou seja, o tipo de retorno é Lista <T>, no nosso caso Lista <Any>. Nesse caso, o tipo do segundo mutableListOf é opcional; o próprio Kotlin inferirá o tipo de acordo com o primeiro argumento de adição.


Estatísticas de resposta





Pergunta 7
Qual estrutura para teste de UI de aplicativos Android NÃO existe?


A resposta

Mokko


Explicação

Espresso é uma biblioteca do Google. Foi lançado em 2013. Tem uma sintaxe detalhada, Kakao se ofereceu para resolver esse problema
O Kakao fornece uma sintaxe conveniente para escrever a interface do usuário usando o Kotlin DSL e o Espresso, permitindo que você use o padrão Objeto de Página .
A Kaspresso foi ainda mais longe e resolve os problemas de testes intermitentes, registro, uso de adb, trabalho com o sistema operacional Android, criação de capturas de tela. Artigo de revisão completa para Kaspresso
Mokko - não existe


Estatísticas de resposta





Pergunta 8
Que tipo de modo de mesclagem é o PorterDuff.Mode mostrado na figura?


A resposta

Fonte sobre


Explicação

PorterDuff.Mode em homenagem a Thomas Porter e Tom Duff, que escreveram o artigo “Compositing Digital Images” em 1984, que apresentou 12 operações de sobreposição de uma imagem na outra. PorterDuff.Mode apenas permite que você obtenha os resultados dessas 12 operações.


Estatísticas de resposta





Pergunta 9
Como é o DatePickerDialog padrão no Android 10?


A resposta

2


Explicação

1 do Android 4.4
2 do Android 6.0 e superior
3 do Android 5.0
4 - uma peça de mobiliário favorita em escritórios russos e um presente de sonho de Ano Novo - calendário de parede


Estatísticas de resposta





Pergunta 10
O primeiro smartphone Google Android lançado em colaboração com fabricantes de telefones


A resposta

Nexus one


Explicação

O Google Nexus é uma série de smartphones do Google e de parceiros de fabricação.
O Nexus G1 não existe, mas pode ser confundido com o primeiro smartphone Android T-Mobile G1 ou HTC Dream .
O Nexus One também produziu HTC. O smartphone estava executando o Android 2.1.
O Galaxy Nexus é o terceiro smartphone da série Nexus desenvolvido em conjunto pelo Google e Samsung.
O Nexus 11 pro não existe.


Estatísticas de resposta





Pergunta 11
Como, de acordo com a documentação, a abreviação wtf é decodificada no sistema de log do Android (Log.wtf ())?


A resposta

Que fracasso terrível!


Explicação

Documentação log.wtf
Wrestling Takedown Federation - O 10º episódio da 13ª temporada da série "South Park".
Wtf também é uma abreviação de gírias da Internet, cuja decodificação é contrária às regras do habr, mas você já sabe tudo perfeitamente.


Estatísticas de resposta





Pergunta 12
Qual é a versão mais recente do Appcompat?


A resposta

1.1.0


Explicação

Com o lançamento do AndroidX, o Google compartilhou as bibliotecas de suporte e adicionou um novo pacote androidx, iniciando uma nova contagem a partir de 1. Isso significa que a versão mais recente do Appcompat agora está em androidx.appcompat: appcompat e tem a versão mais recente 1.1.0.
No pacote com.android.support:appcompat-v7 , a biblioteca foi atualizada apenas para a versão 28.0.0. Mas as versões 29.0.0 RC e 29.0.0 nunca foram lançadas.


Estatísticas de resposta





Pergunta 13
É assim que o logotipo do Android é chamado pela equipe do Google Android.


A resposta

Bugdroid



Estatísticas de resposta





Pergunta 14
Qual seção não está no aplicativo hh para candidatos a emprego?


A resposta

Pesquisa automática


Explicação

No final de 2018, uma grande reformulação do aplicativo foi feita. E a "pesquisa automática" foi renomeada para "pesquisar assinatura". Ou seja, no momento não há uma seção com o nome "pesquisa automática".


Estatísticas de resposta





Pergunta 15
O símbolo do Android é um robô verde. O autor do logotipo é considerado Irina Block. O que a inspirou?


A resposta

Imagem do homem na porta do banheiro


Explicação

“No final, ela se inspirou em uma fonte distintamente humana: os pictogramas do homem e da mulher universais que frequentemente aparecem nas portas dos banheiros.” The New York Times


Estatísticas de resposta



A análise do questionário foi feita pelo nosso desenvolvedor Georgy Ryabykh georgyR

Source: https://habr.com/ru/post/pt480950/


All Articles