Qual è il processo di intervista tecnica per un ingegnere di sviluppo software a Yahoo?

[ Risposta generale per le interviste tecniche in MS/Google/Amazon/Facebook/Apple ecc]

Ricorda: L'intervista tecnica dipende da vari parametri, dal lato del datore di lavoro per esempio titolo di lavoro, responsabilità, dipartimento, tipo di progetto, tipo di tecnologia, tipo di abilità, anni di esperienza, mentalità dell'intervistatore/intervistatori, requisiti immediati, decisione ferma per assumere-non assumere e molti altri. Dal lato del candidato, ad esempio il modo in cui il CV (curriculum) è stato presentato, il modo in cui il candidato ha portato la discussione tecnica/non tecnica e molti altri).

Non posso suggerire alcun sito web particolare o le domande più difficili da preparare per tale preparazione del colloquio, tuttavia la maggior parte delle domande include il trucco, la presenza di spirito, e quanto bene si comprendono i concetti più necessari dell'informatica, e quello più importante è: Algoritmi e strutture di dati. Le domande possono essere diverse ma tutte usano i concetti di base di DS/Algo per risolverle)

Ancora domande d'esempio (dipende dalla posizione SDET o SDE[ Se SDET allora anche i test case))

[+] Dato un insieme S di n numeri reali e un altro numero reale x, determinare se esistono o meno due elementi in S la cui somma è esattamente x.

[+] Data una lista di numeri (una lista fissa) e un'altra lista, scrivere una funzione che determini se un qualsiasi elemento della seconda lista appare nella lista fissa.

[+] usare una struttura dati trie per memorizzare parole. ogni nodo contiene una lista di tutte le lettere (puntatori alla stessa struttura di nodi) e flag per ogni lettera per indicare la lunghezza della parola. Scrivi un metodo per inserire in questo tipo di struttura dati. Cosa useresti per memorizzare ogni nodo?
....

Molti altri....

Puoi progettare un approccio che meglio si adatta alle tue capacità/(e molti altri) parametri relativi

Esempio: qualcuno potrebbe usare il seguente approccio, per un piano di due mesi - circa 250 ore per preparare ingegnere del software/software engineer in interviste di tipo test per MS/Google/...

In realtà tutte queste aziende come MS, Google, Amazon, Facebook, Apple seguono un approccio su cui misurano il processo di pensiero di un candidato.

E usano mezzi diversi per valutarlo, ma sì, la maggior parte di loro usa algoritmi/strutture di dati/domande aperte (se hai fatto domanda per un lavoro di ingegneria del software) come uno degli approcci per valutare il talento (perché quelli sono la base per sviluppare le tecnologie).

Per essere abituato con algoritmi/strutture di dati/codifica, devi aver capito/praticato il minimo ad esempio :

(Step-1): Dovresti avere una comprensione pratica degli algoritmi (ad es. quando usare il BackTracking, quando usare Divide and Conquer, perché è necessario il doppio hashing, dove può essere applicato il concetto di forza bruta). (50 ore).

(Step-2): Dovresti avere una comprensione pratica delle strutture di dati, ad esempio (casi d'uso pratici relativi a: quando usare un buffer circolare, o quando usare un elenco adiacente o la combinazione di entrambi o qualcos'altro per risolvere il problema).
(50 ore)

(Step-3) : Dovete praticare diversi problemi di codifica per implementare le cose che imparate da Step-1 , e Step-2 (potete fare quanto segue scegliendo qualsiasi linguaggio di codifica a vostra scelta (C, C++ o Java o Python o PHP o qualsiasi altro).
(50 ore)

(Step-4): Risolvere il problema non significa solo risolverlo, ma capire il modo migliore per risolverlo, ad esempio il problema tecnico dato può usare vari modi per arrivare alla soluzione, e si potrebbe voler usare quello ottimale. (How you connect the given solution with the computing/memory resources e.g. Memory/Processing Power)
(50 Hours)

However the Most Important One.

However other than programming you might need to understand the main concept for the interview is to keep the interview active and this requires some action from your side, such as the following:

You need to talk.

You need to explain.

You need to discuss.

You need to express your views.

You need to understand clearly the questions given to you.

You need to understand the interviewer’s expression and mindset to un- derstand those questions.

You might need to ask appropriate questions to understand the question or any other discussion item. (50 Hours)

And also :

Prepare : "Per favore, parlami di te stesso", "Le tue abilità relative all'ulteriore interesse positivo/negativo", Fondamenti per i concetti di informatica più necessari o qualsiasi cosa come hai presentato sul tuo "CV/Resume".
(10 Ore)

Qui sopra è solo un piano di esempio, è possibile personalizzare il modo in cui si desidera (ad es. 50 ore a 10 ore o qualcos'altro) - Clicca su Amazon, per trovare i migliori libri di cui potresti aver bisogno (per esempio algoritmi di cormen)

(Qui Google non significa Google, ma qualsiasi azienda che è molto creativa per introdurre i prodotti relativi all'informatica).

(Supponendo che tu stia spendendo 4 ore ogni giorno)