J'avais interviewé plusieurs freshers qui ont été enseignés Java dans des écoles de technologie sous le programme d'études de l'informatique. L'entrevue de elles a accentué des problèmes graves avec leur éducation aussi bien qu'avec le système. C'est une brève vue d'ensemble des issues et des manières d'interviewer de tels candidats. À l'extrémité j'ai inclus ma recommandation des cours pour des Software Engineers.

On enseigne les étudiants dans la plupart des instituts de technologie Java directement sans bonne introduction au développement orienté objectivement. Au mieux ils ont la connaissance cursive des concepts d'OO comme le polymorphisme. Il devient nauséabond pour les observer répéter par coeur les définitions sans démontrer un arrangement clair des concepts et de la logique fondamentaux. De tels diplômés ne deviennent rien les codeurs plus que structurés de C employant Java.

L'étude de Java plus est savoir « empaquette », qui est une approche incorrecte. Java n'est pas simplement au sujet des bibliothèques qu'il fournit. N'importe qui avec la capacité logique peut rapidement sélectionner de nouvelles bibliothèques.

Java est une langue avec un facile d'apprendre la syntaxe qui devrait être d'abord maîtrisée. C'est une plate-forme qui des aides vous pour développer facilement la croix-plate-forme et les applications Web. Connaître Java sans savoir le Web (autre que googling et email), par exemple, est stérile.

Les programmeurs de Java n'ont pas besoin simplement de connaître Java, la langue. Ils doivent avoir un arrangement des concepts de logiciel de base comme le développement à trois niveaux, les systèmes de gestion de bases de données relationnelles, les processus etc. de qualité.

Les programmateurs de logiciel avec un arrangement étroit du champ sont susceptibles d'être une responsabilité à eux-mêmes et à leurs compagnies. Je recherche les personnes qui ont un intérêt sain pour le champ et pas celles qui l'ont choisi seulement en raison de son potentiel de salaire.

Mon approche à les interviewer est de découvrir leur clarté des concepts dans quelque peu (ou beaucoup) elles sachent. Je demande beaucoup de « pourquoi ». Obtenant ils de justifier même des questions évidentes comme la valeur des hangars orientés objectivement de développement ou de polymorphisme s'allument dans leurs underpinings logiques.

Mes cours recommandés pour des enginners de logiciel (1 semestre chacun) seraient :

  1. Introduction aux ordinateurs
  2. Langage de programmation (Fortran)
  3. Structures d'algorithme et de données
  4. Développement orienté objectivement (de préférence utilisant la causerie)
  5. Développement de logiciel de Java
  6. Méthodologies de développement de logiciel (inclut la programmation d'extrémité)
  7. Essai de logiciel et processus de qualité
  8. Modèles de conception dans Java
  9. Développement de logiciel d'entreprise
  10. Gestion de réseau - TCP/IP, UDP, smtp, POP3, HTTP etc.

Facultatif :

  1. Degré de sécurité d'ordinateur
  2. Intelligence artificielle