Il existe de nombreux livres d'apprentissage Java sur le marché. La plupart des livres expliquent les parties les plus élémentaires de Java. Certains livres légèrement informels peuvent avoir un contenu erroné, et il y en a aussi toutes sortes d'étranges sur Internet. les questions d'entretien se concentrent également sur les bases de Java. En fait, si vous postulez pour un ingénieur de développement Java senior, l'inventaire de ces connaissances de base est loin d'être suffisant. De plus, vous devez comprendre les algorithmes, les structures de données, les systèmes d'exploitation, etc. Étant donné que le contenu implique beaucoup de choses, je n'expliquerai pas les technologies spécifiques. Au lieu de cela, j'ai compilé des questions d'entretien pour le recrutement d'ingénieurs de développement Java seniors dans les entreprises. J'espère que cela sera utile à tout le monde.
1. Bases de Java
1. Orienté objet
Maîtriser les idées fondamentales de l'orientation objet et avoir une compréhension approfondie de il
Maîtriser et comprendre les technologies liées à l'encapsulation, à l'héritage et au polymorphisme
2 I/O
Maîtriser le flux d'octets FileInputStream, FileOutputStream et le flux de caractères FileWriter, OutputStreamWriter et. utilisez-le habilement
Maîtrisez la construction, l'acquisition, la création et la suppression du type de fichier
3. Multi-threading
Maîtrisez le type de fil
Maîtrisez les principes de fonctionnement. des programmes multithread et de la concurrence
4, Exceptions
Maîtriser le principe de fonctionnement des exceptions et maîtriser la gestion des exceptions
2. Machine virtuelle Java
1. Division de la zone de mémoire JVM
Maîtriser le paramétrage et le réglage de la mémoire JVM
Maîtriser les fonctions et les principes de base du compteur de programme, du tas, de la pile de machines virtuelles, de la pile de méthodes locale, de la zone de méthode ( supprimé dans Java8), et métaespace (nouveau dans Java8)
2. Chargement des classes
Maîtriser les étapes de chargement des classes : chargement, liaison (vérification, préparation, analyse), initialisation, utilisation et déchargement.
Maîtrisez la classification des chargeurs de classes et de leurs chargeurs de classes d'application et chargeurs personnalisés.
3. J2EE
Maîtriser les objets intégrés, les actions et les fonctionnalités et principes de fonctionnement associés de Servlet
Maîtriser les principes d'implémentation IOC et AOP du framework Spring (réflexion et proxy dynamique)
Maîtriser les principes de fonctionnement d'au moins un framework MVC (Spring MVC) et l'utiliser habilement.
4. Structures de données et algorithmes
Maîtriser les caractéristiques des tableaux et arbres linéaires et les utiliser habilement
Maîtriser les algorithmes de tri et de recherche couramment utilisés : le tri par insertion (Hill sort) , Tri par sélection (tri par tas), tri par échange (tri à bulles), recherche séquentielle, recherche binaire, recherche par hachage
Utiliser efficacement les idées de tri et de recherche pour résoudre les problèmes de programmation
Base de données
5.Maîtriser l'écriture d'instructions SQL
Maîtriser l'optimisation de base de données (niveau SQL et niveau conception de tables)
Maîtriser au moins un produit de base de données
Être familiarisé avec les concurrence et développement de bases de données Big Data dans les circonstances.
6. Technologie Web
Maîtriser le principe de fonctionnement d'AJAX.
Familier avec au moins un framework JS (tel que JQuery)
7. Linux
Maîtrise de l'utilisation des commandes Linux courantes
Familialisé avec les concepts de base et fonctionnalités du système d'exploitation Linux
8. Expressions régulières
Maîtriser les expressions régulières courantes