JavaRush /Blogue Java /Random-PT /Pausa para café #49. Exemplos de código que todo desenvol...

Pausa para café #49. Exemplos de código que todo desenvolvedor deveria ver. Como se preparar para uma entrevista

Publicado no grupo Random-PT

Exemplos de código que todo desenvolvedor deveria ver

Fonte: Médio Às vezes, no meu tempo livre, ando pelos repositórios do GitHub. Quando começo a aprender novos programas, ferramentas ou utilitários, tento vê-los em ação. Para fazer isso, dou uma olhada no código deles: ajuda a entender como tudo funciona, quais módulos e dependências externas existem. A imersão na tecnologia proporciona sensações incríveis e permite adquirir novos conhecimentos. Pausa para café #49.  Exemplos de código que todo desenvolvedor deveria ver.  Como se preparar para uma entrevista - 1Em meu artigo, gostaria de compartilhar os exemplos de código mais impressionantes que encontrei enquanto navegava pelos repositórios.

Programa de controle da Apollo 11

Apollo 11 é a espaçonave que levou as pessoas à lua. O computador de controle de bordo (AGC) controlava a operação de voo com apenas 4 kilobytes de memória física. O software AGC, escrito em linguagem assembly, foi armazenado em uma memória especial somente leitura (memória de corda). Vários anos atrás, cópias impressas digitalizadas deste código-fonte foram publicadas na Internet . Então alguém escreveu vários módulos em arquivos de texto e os carregou no repositório GitHub . Pausa para café #49.  Exemplos de código que todo desenvolvedor deveria ver.  Como se preparar para uma entrevista - 2A equipe de engenharia da Apollo 11 trabalhou duro para alcançar este resultado surpreendente. Eles escreveram muitas linhas de código em linguagem assembly, embora a programação fosse muito mais difícil na década de 1960 do que é agora. Naquela época, as linguagens de programação tinham um nível de abstração menor. Além disso, devido ao hardware de baixo consumo de energia, os desenvolvedores tiveram que escrever código altamente otimizado.

Arena Quake III

Quake III Arena é um videogame de tiro em primeira pessoa criado pela id Software. O jogo surgiu na década de 1990, quando a indústria de jogos 3D estava apenas começando. Para seu desenvolvimento foi utilizado o motor de jogo id Tech 3. Assim como no caso do programa lunar Apollo 11, devido a limitações de recursos de hardware, o código para renderização de gráficos foi fortemente otimizado. Muitos cálculos de programação de jogos requerem o conceito de normalização vetorial, o que requer o cálculo da raiz quadrada inversa. Como os desenvolvedores precisavam escolher os algoritmos mais eficientes para computação gráfica, o Quake III Arena adotou uma abordagem inteligente para calcular rapidamente a raiz quadrada inversa usando cálculos em nível de bit. Pausa para café #49.  Exemplos de código que todo desenvolvedor deveria ver.  Como se preparar para uma entrevista - 3O nível de otimização em alguns códigos que você vê e, na verdade, em todo o código usado para criar jogos na década de 1990, é simplesmente incrível. Hoje, os desenvolvedores de videogames normalmente não fazem computação nesse nível porque muitas funções são executadas no nível do mecanismo de jogo.

Coleção de compiladores GNU

A linguagem de programação C pode ser chamada de pai da programação moderna porque é muito próxima do hardware, mas ao mesmo tempo oferece um bom nível de abstração compreensível para os humanos. O compilador GNU C é um compilador bootstrap. Ou seja, é escrito em C usando o conceito de desenrolamento do compilador. No código da GNU Compiler Collection no GitHub, encontrei o arquivo fonte C mais longo que já vi (pode haver arquivos mais longos, mas este foi o que encontrei).Pausa para café #49.  Exemplos de código que todo desenvolvedor deveria ver.  Como se preparar para uma entrevista – 4

Cromo

Navegadores populares como Google Chrome, Microsoft Edge e Opera são baseados no projeto de código aberto Chromium. Este projeto tem duas dependências principais: o mecanismo Blink (um fork da biblioteca WebCore da equipe Webkit) e o mecanismo JavaScript V8 desenvolvido pela equipe do projeto Chromium. Obviamente, o código do Chromium é bastante extenso e contém muitos módulos de terceiros, como gRPC e Skia . Mas os desenvolvedores do Chromium conseguiram estruturar todos esses componentes perfeitamente. A base de código separa habilmente a lógica da função interna da lógica da interface do usuário. Isso garante um bom suporte para todo o projeto. Pausa para café #49.  Exemplos de código que todo desenvolvedor deveria ver.  Como se preparar para uma entrevista – 5Além disso, o código do projeto contém o código-fonte dos aplicativos Chromium para Android e iOS. Estruturar aplicativos multiplataforma altamente escaláveis ​​pode ser um desafio. No entanto, o Chromium possui uma separação de código verdadeiramente impressionante entre Linux, Windows e Mac.

Gitk

Hoje em dia, toda equipe usa Git para gerenciar versões de código. Este sistema de controle de versão foi desenvolvido por Linus Torvalds (criador do kernel do sistema operacional GNU/Linux). A base de código Git inclui o código-fonte Gitk. Gitk é um aplicativo GUI que fornece navegação visual por meio de commits. Para ver como dois commits diferem, você pode usar o seguinte comando:
$ git diff <commit hash> <commit hash>
Mas como o Gitk é uma ferramenta visual, podemos ver a diferença muito mais rápido com ele. Pausa para café #49.  Exemplos de código que todo desenvolvedor deveria ver.  Como se preparar para uma entrevista – 6Todo o código-fonte do Gitk cabe em um arquivo . O código é escrito na linguagem de script Tcl usando o kit de ferramentas Tk UI, uma extensão Tcl. Condensar um aplicativo GUI inteiro em um arquivo é uma tarefa difícil.

Como um desenvolvedor pode se preparar para uma entrevista?

Fonte: Hackernoon Lembro-me da minha primeira entrevista. Tinha acabado de terminar a licenciatura e estava a candidatar-me a um estágio numa empresa financeira em Madrid. Fiquei muito nervoso porque não sabia como seria a entrevista e não estava ciente das tendências atuais no desenvolvimento de software. Foi depois da Páscoa, eu tinha apenas 21 anos e teria sido mais agradável para mim estar com os amigos na praia. Mas em vez de me divertir, tive que me preparar para uma entrevista. Pausa para café #49.  Exemplos de código que todo desenvolvedor deveria ver.  Como se preparar para uma entrevista – 7O primeiro passo antes de cada entrevista é nos conhecermos. Eles perguntam seu nome, endereço, especialidade e assim por diante. Depois disso, você passará por uma entrevista pessoal, que pode ser presencial ou por videoconferência. Em qualquer caso, esta entrevista irá testar a sua experiência, conhecimentos e competências para o cargo a que se candidata. Provavelmente, você será solicitado a escrever um código onde demonstrará sua capacidade de resolver problemas ou problemas. Além disso, você pode esperar uma entrevista com um gerente de projeto ou diretor da empresa. Isso depende da posição para a qual você está se candidatando. O processo de entrevista pode demorar muito. Portanto, você precisa ter paciência e manter a calma. Preparei algumas dicas e truques para você sobre esse assunto.

Pesquise a posição para ter certeza de que é adequada para você.

Às vezes, quando procuramos emprego, simplesmente comparecemos para uma entrevista sem consultar todas as informações sobre a vaga. É melhor esclarecer antecipadamente a lista de suas responsabilidades e o horário de trabalho. Verifique também se a empresa e o cargo atendem às suas necessidades

Tente se manter atualizado com as tendências de sua carreira.

Um grande erro é não seguir tendências e novas tecnologias no seu trabalho. Você provavelmente é um desenvolvedor ou gerente de projetos, tem sua própria maneira de trabalhar em sua função atual e a mesma tecnologia para todos os seus projetos. Mas, por favor, tente passar um pouco de tempo todos os dias aprendendo novas tecnologias. Isso é muito importante na nossa carreira. Você precisa se manter atualizado com novas estruturas, novas metodologias e muito mais. Isso fará uma grande diferença na sua entrevista.

Durante uma entrevista pessoal ou videochamada: tente parecer bem e relaxar

Sua aparência é tão importante quanto o design do seu aplicativo. Você pode ter um back-end perfeito, mas se seu aplicativo tiver um front-end ruim, você terá dificuldade em vender seu produto. O mesmo se aplica à sua aparência: em uma entrevista você deve parecer, se não formal, pelo menos decente. Isso demonstrará sua disposição em seguir as regras corporativas. Sei que algumas pessoas aqui vão pensar: “Ei, sou um gênio, por que deveria me preocupar com minha aparência?” Bem, se você é um gênio e tem uma boa aparência , com certeza causará uma boa impressão!

Sem pressa

Antes da entrevista, você precisa se preparar, estudar tópicos, praticar algoritmos e resolução de problemas e preparar um discurso. Alguns desses processos são demorados e demorados. Portanto, certifique-se de ter uma vantagem aqui.

Prática

Depende da sua experiência, mas minha recomendação aqui é que se você tiver que escrever código em uma entrevista, escreva-o corretamente. Para fazer isso, você precisa aprender como limpar e revisar o código. Isso o ajudará a reorganizar ou melhorar algumas de suas funções.

Demonstre sua experiência em uma entrevista presencial ou em código

Tente mostrar experiência. Uma entrevista é o lugar perfeito para explicar ao entrevistador por que a empresa deveria contratá-lo. Antes da entrevista, familiarize-se com os conceitos básicos de programação, metodologias e práticas recomendadas.

Durma o suficiente no dia anterior à entrevista.

Tente dormir o suficiente. Isso ajudará você a manter o foco no dia seguinte. Se você não souber as respostas a alguma pergunta da entrevista, não minta – seja honesto, isso ajudará a evitar muitas complicações no futuro. E isso o ajudará a ver seus pontos fracos que você precisa melhorar.

Confie em suas respostas

Não duvide de si mesmo. Nunca.

Durante a entrevista, você deve projetar segurança e confiança para todos.

Se você não tem essa habilidade, provavelmente precisará trabalhar nela. Confiança é quando você responde: “Não sei a resposta, mas posso pesquisar e responder mais tarde”. Esta opção de resposta mostra segurança e confiança.

Analise a entrevista

Cada entrevista é diferente, mas todas compartilham algumas características semelhantes. Portanto, após a entrevista, você deve refletir sobre o que deu certo ou ruim para você. Uma entrevista é um bom momento para se olhar de fora, para seus pontos fortes e fracos.
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION