Domanda intervista: qual è il periodo di tempo stimato da te per imparare Java [chiuso]

6

Durante la mia ultima intervista (è stata un'intervista telefonica) mi è stato chiesto: "Qual è il periodo di tempo in cui puoi imparare Java?". Ho risposto che credo che in 2-3 mesi sarò in grado di scrivere un buon codice per applicazioni non-elaborate / regolari. Successivamente ho notato che il datore di lavoro ha fatto una lunga pausa e ha passato ad altre domande. Ora, ti sto chiedendo, a cosa hai risposto se fossi al mio posto.

PS: Non ho lavorato molto con Java (2 settimane), quindi non penso che una persona che sta dicendo qualcosa come "Posso imparare Java in 2 giorni" è equa con lui / lei.

    
posta RBA 26.03.2011 - 13:07
fonte

7 risposte

7

Trovo che queste domande di autoassegnazione siano un campo minato perché persone diverse hanno standard diversi che applicano a se stessi. Quindi, quando una persona dice che può imparare Java in 2 mesi e un'altra dice che posso farlo in una settimana, sono più incline a chiedermi quali siano i diversi standard di apprendimento che applicano. In generale, supponevo che la persona che dava la stima alla settimana fosse ottimista o che avesse una cattiva definizione di cosa significasse imparare una lingua e probabilmente non conosceva la lingua in modo approfondito, al contrario di qualcuno che dava una stima di 2 mesi.

Se la domanda fosse più simile a "quanto tempo prima si può scrivere un'applicazione in Java?" puoi dare un calendario più definitivo poiché è abbastanza facile arrivare a una fase in cui puoi scrivere un'applicazione Java di base perché non hai bisogno di conoscere tutti i dettagli della lingua per usarla. Penso che molte persone che conoscono un altro linguaggio di programmazione potrebbero essere produttivi con Java entro una settimana scrivendo applicazioni o codice di debug. Imparare i framework, come jboss, richiede più tempo.

    
risposta data 26.03.2011 - 13:49
fonte
11

La risposta ovvia è che "dipende". Data questa quantificazione, un buon ingegnere informatico può probabilmente imparare una lingua in una settimana se ha già imparato una lingua simile. Con google, SO e tutorial online, l'apprendimento di nuove lingue è diventato molto più facile di quello che penso ci vorrebbe un decennio o due fa.

EDIT1: come prova per questa affermazione, ho imparato C # e elementare ASP.NET in un periodo di 2 settimane e ho costruito un piccolo sito che poteva memorizzare e cercare i dati nel server MS-SQL. Non avevo esperienza in C #, nessuno con linguaggi server basati su OOP, e ho passato molto tempo a fare altre (cose non di programmazione).

    
risposta data 26.03.2011 - 13:57
fonte
3

Direi che hai detto la cosa giusta. L'intervallo di tempo sembra ragionevole. Ma non sai perché l'intervistatore abbia posto questa domanda:

  • Forse hanno bisogno di avere qualcosa da mostrare in una fiera in 3 mesi - quindi hanno bisogno di qualcuno che può scrivere codice in poche settimane. Anche se è uno sviluppatore peggiore, a lungo termine.
  • Forse hanno bisogno di qualcuno per formare altri membri del team - non vorrai farlo quando stai ancora imparando la lingua da solo
  • Forse sono il tipo di azienda che si aspetta progetti altamente complessi fatti in tempi del tutto irrealistici - quindi probabilmente stai meglio non lavorare per quella società
risposta data 26.03.2011 - 14:23
fonte
3

Dipende dalla tua esperienza precedente e dalla natura del compito.

Se conosci già una lingua come C o C ++, puoi raccogliere la maggior parte della sintassi Java in meno di un giorno. Si tratta principalmente di imparare la libreria di classi (che è elephantine ) e alcune buone pratiche. Se non hai esperienza di programmazione precedente, o la tua esperienza è in una lingua come Scheme o Haskell, potrebbe essere necessaria una settimana circa per riprendere la sintassi.

La natura del compito determina il resto. È un'app lato server single-threaded, non grafica, che sostanzialmente sposta i dati in giro? Probabilmente sei bello andare in un paio di giorni. È un client multi-threaded e graficamente guidato che utilizza cinquanta diversi protocolli di comunicazione per parlare con un gruppo di server diversi? Ci vorrà più tempo.

    
risposta data 26.03.2011 - 14:58
fonte
2

All'inizio devi definire meglio "impara Java", significa "essere produttivo" o "conoscere ogni cosa su java (essere un esperto)".

Suppongo che l'intervistatore debba solo sapere a lungo che potrebbe essere necessario essere produttivi.

E questo dipende da quali lingue del computer già conosci.

Se conosci solo una lingua imperativa come Fortran, potresti aver bisogno di diversi mesi. Ma se già conosci, per esempio, C ++ e Ocaml, potresti essere in grado di diventare produttivi con Java in una settimana.

    
risposta data 26.03.2011 - 13:52
fonte
2

"Impara Java" è piuttosto vago. Il linguaggio Java e le librerie principali possono essere gestiti in un paio di mesi; Mi aspetterei che un programmatore esperto che si trasferisce in Java sia ragionevolmente produttivo in Java tra una settimana circa. Tuttavia, esiste un'enorme quantità di tecnologia associata a Java: Ant, Hibernate, Spring, JBoss, Tomcat, EJB, JAXB, Jersey, ecc. Potrebbero volerci un po 'di tempo per padroneggiare tutti questi elementi.

    
risposta data 26.03.2011 - 17:26
fonte
0

Per domande come queste è generalmente sempre una buona idea chiedere a loro di chiarire e definire cosa intendono per quanto riguarda l'apprendimento di Java e quindi regolare la tua valutazione onesta sulla base di ciò che stanno cercando come risposta. Allo stesso modo, il modo in cui rispondono potrebbe anche darti un'idea di che tipo di datore di lavoro potrebbero essere; ricorda, stai intervistando tanto quanto ti stanno intervistando.

Per quanto riguarda la risposta che hai dato, penso che sia in realtà una risposta piuttosto giusta, anche se potresti avere coperto le tue scommesse dicendo qualcosa sulla falsariga di:

I feel that it would take me two to three months to be reasonably well versed in the language and to be able to independently develop programs without much help; however, I could likely learn the basic syntax and be able to follow what existing code is doing within n number of days.

Ciò risponderebbe alle loro domande in due modi, nel senso che darai loro un'idea di quando potresti essere utile a loro (cioè il tempo di apprendimento iniziale) seguito da quando pensi di poter raggiungere un ragionevole livello di competenza con il linguaggio. Tuttavia, come sashang notato, queste domande sono un po 'minacciose in quanto non si sa davvero cosa stanno chiedendo a meno che non chiediate loro dei chiarimenti. Se non vogliono darti dei chiarimenti, potrebbe essere un segno che potrebbero non essere il datore di lavoro ideale in quanto è ragionevole che un dipendente possa aspettarsi di chiedere al proprio supervisore oa qualcun altro con cui sta lavorando per chiarimenti su un incarico.

    
risposta data 26.03.2011 - 16:44
fonte

Leggi altre domande sui tag