QA / QA Automation
Testa due conti: un conto anonimo fino a 15.000 rubli e un conto identificato fino a 60.000 rubli. Puoi acquistare, ricaricare con carta o SBP, effettuare rimborsi. Suggerisci casi di test.
In quale settore della tecnologia prevedi di approfondire le tue conoscenze e competenze?
Hai esperienza con operazioni di pagamento, movimento di fondi tra conti o blocco di conti?
Parlaci dell'azienda, di cosa si occupa?
Parlami di te, dei tuoi progetti, dei ruoli ricoperti, dei successi
Ho ricevuto un errore 403. Come andrai a compilare un report di bug?
Cosa fare quando arriva un bug sotto forma di ticket di supporto?
Conosci tipi come i test di regressione e i test di fumata? Qual è la differenza?
[nome] ha chiesto: Cosa è importante per te nella scelta di un nuovo lavoro, su cosa ti concentrerai nel prendere una decisione?
Qual è la differenza tra Kafka e RabbitMQ?
Come esegui l'analisi di test e quali metriche utilizzi per valutare la qualità?
Hai lavorato con Allure? Quali annotazioni puoi nominare? È possibile allegare uno screenshot e come? Dove vengono archiviati i risultati dell'esecuzione? Come integrare Allure con CI/CD (Jenkins)?
Perché memorizziamo i log in Elasticsearch e non in un database normale?
Come avviare un servizio nel sistema (systemd)?
Hai già sentito qualcosa sulla società?
Il metodo interagisce con il database: è un test unitario o di integrazione?
La Programmazione Orientata agli Oggetti (OOP) è un approccio allo sviluppo di software in cui il codice è organizzato sotto forma di oggetti Incapsulamento L’incapsulamento è l’unione di dati e metodi che lavorano con questi dati all’interno di una stessa classe, oltre alla restrizione dell’accesso diretto allo stato interno dell’oggetto. In parole semplici: l’oggetto gestisce i propri dati, e il codice esterno interagisce con esso tramite metodi. Astrazione L’astrazione consiste nel evidenziare solo le caratteristiche importanti dell’oggetto e nel nascondere i dettagli della sua implementazione. In parole semplici: all’utente importa cosa fa l’oggetto, non come lo fa esattamente. Polimorfismo Il polimorfismo è la capacità di oggetti con implementazioni diverse di usare un’interfaccia comune. Nei test, questo aiuta a scrivere codice universale che funziona con diversi tipi di dati o classi. Esempio in Python: class Animal: def make_sound(self): pass class Dog(Animal): def make_sound(self): return "Bau!" class Cat(Animal): def make_sound(self): return "Miao!" def animal_sound(animal: Animal): print(animal.make_sound()) dog = Dog() cat = Cat() animal_sound(dog) # Bau! animal_sound(cat) # Miao! Ne test automatizzati, il polimorfismo è utile per: - Creare metodi di verifica universali - Implementare diverse strategie di test tramite un’interfaccia - Supportare diverse versioni di API/UI senza modificare i test Ereditarietà L’eredità è un meccanismo che permette a una nuova classe di usare automaticamente una classe esistente, ereditandone proprietà e metodi. In parole semplici: la nuova classe riutilizza il codice della classe genitore e lo amplia se necessario. Git 1. Sistemi di controllo di versione. Locale, centralizzato, distribuito. 2. Concetti di base. Repository, indice, commit, puntatori, branch, copia di lavoro. 3. Lavorare con il repository. Comandi: init, clone, status 4. Creare un commit. Comandi: add, commit. 5. Creare, visualizzare, cambiare tra branch, eliminare. Comandi: branch, checkout, log, diff. 6. Annullare modifiche. Comandi: restore, rm, checkout, revert. 7. Unire modifiche tra branch. Comandi: merge, cherry-pick, rebase. 8. Lavorare con il repository remoto. Comandi: fetch, pull, push. 9. Lavorare con GitHub, fork e Pull Requests.
Come configurare un consumatore Kafka di test in modo che non entri in conflitto con quello di produzione e non ci siano gare per il messaggio?
Ci sono piani di sviluppo? Dove vorresti crescere?
Come si organizza la convivenza di JUnit e TestNG in un progetto?