Preparazione per un colloquio come sviluppatore Ruby/Rails - corso RUB 4.900. da ThinkNetica, formazione 4 lezioni online, data 27 novembre 2023.
Miscellanea / / November 28, 2023
Il successo delle interviste è un'abilità fondamentale nella situazione attuale. Il tuo presente e il tuo futuro dipendono da questo.
In Thinknetica lavoriamo a stretto contatto con molti datori di lavoro e sappiamo cosa si aspettano dai candidati e quali domande pongono ai candidati.
Abbiamo raccolto la migliore esperienza delle aziende e aggiunto alcuni punti che ti aiuteranno nelle condizioni attuali.
Ti forniremo non solo risposte, ma approfondimenti su vari argomenti in modo che tu possa superare l'intervista.
Per chi?
Per gli sviluppatori che vogliono lavorare meglio in condizioni migliori anche nella situazione attuale
Junior
Se sei un Junior, imparerai molte cose nuove che sono rilevanti per te e sarai meglio preparato per il colloquio.
Mezzo
Se sei di livello Medio, potrai aggiornare le tue conoscenze, trovare lacune, condurre un “check-up professionale” e scoprire quali domande vengono poste specificamente a uno sviluppatore di livello medio.
Capo senior/team
Se sei un Senior/Team Lead, puoi raccogliere un foglio di valutazione delle competenze dello sviluppatore per te e il tuo team
Ci occupiamo di domande su Ruby e Rails
Rubino
Caricamento e interpretazione del codice
Tipi di dati
Tipi di variabili a seconda dell'ambito
Modello a oggetti
Metodi toplevel e kernel
Ambito del metodo
Utilizzando blocchi, proc e lambda
Gerarchia di ereditarietà e ricerca di metodi
Metodi di connessione del modulo
Capacità di metaprogrammazione
Lavorare con memoria e GC
Processi e thread
Incapsulamento e accesso ai dati
Implementazione del polimorfismo
Controllo dell'uguaglianza degli oggetti
Specifiche dello scaffale
Punti di forza e di debolezza di Ruby
Rotaie
Ruoli dei componenti MVC
Livelli aggiuntivi di un'applicazione Rails
Vantaggi e svantaggi delle richiamate
Meccanismo di accesso ai dati Active Record
Scopo del pool di connessioni record attivi
Download e avvio dell'applicazione
Meccanismo di elaborazione della richiesta all'interno dell'applicazione
Utilizzo delle migrazioni in produzione
Esecuzione di un'applicazione su un server compatibile con rack
Considerando RSpec, fondamenti del Web e database
RSpec
Tipologie di test e metodi per scriverli
Fabbriche modello e loro usi
Mock e stub
Differenza tra specifica della richiesta e specifica del controller
Modi per ottimizzare le prestazioni del test
Metodologia di test API
Fondamenti del Web
Elaborazione della richiesta HTTP
Cache HTTP
Protocolli HTTP(S) e WebSocket
D.B.
Modello di dati relazionali
Normalizzazione e denormalizzazione dei dati
Assegnazione di chiavi esterne
Tipi di connessioni
Viste (PostgreSQL)
Scopo e tipi di indici (PostgreSQL)
Fasi di esecuzione di una query SQL
Principi ACIDO
Tipi di blocchi (PostgreSQL)
Transazioni e loro livelli di isolamento
Scopo di VACUUM (PostgreSQL)
Alta disponibilità (PostgreSQL)
Partizionamento (PostgreSQL)
Il terzo giorno è dedicato a Architettura Software, API Design, Git Flow, Nozioni di base su DevOps
Architettura del software
Linguaggi interpretati e compilati
Paradigmi di programmazione
Principi SOLIDI
Il principio DRY, casi in cui può essere trascurato
Principio del BACIO
Modelli di accesso ai dati: Active Record, Repository
Monoliti e microservizi
Principi di coesione e astrazione dei componenti
Schema dei servizi in produzione e loro interazione
Progettazione dell'API
RESTO, gRPC, GraphQL
Controllo delle versioni
Errore nell'elaborazione
GitFlow
Principi generali
Impegni convenzionali
Nozioni di base su DevOps
Tipi di risorse: CPU, memoria, I/O disco, rete
Utilizzando CI
Metodi di distribuzione dell'applicazione
Raccolta dei log
Monitoraggio
Come si svolge un colloquio sulle competenze trasversali e di quali competenze trasversali ha bisogno uno sviluppatore in generale
Competenze trasversali
Empatia e lavoro di squadra
L’importanza di comprendere il prodotto e gli obiettivi aziendali
L’importanza dei dati e la capacità di lavorarci
Approccio allo sviluppo a forma di T