EPI Judge est destiné à accompagner notre livre Elements of Programming Interviews. Plus précisément, ce projet comprend les éléments suivants :
Voici comment télécharger le juge :
$ git clone https://github.com/adnanaziz/EPIJudge.git
Si vous n'avez pas git
, voici un bon tutoriel sur l'installation de git lui-même.
Regardez ces vidéos d'une minute pour voir à quel point il est facile de démarrer avec le juge.
PyCharm, Eclipse, NetBeans
IDÉE IntelliJ, Eclipse
CLion, Visual Studio 2017
$ python3 <program_name>.py
Utilisez le Makefile
.
Compilez et exécutez un programme spécifique :
$ make <program_name>
Exemple:
$ make Anagrams
Compilez et exécutez le dernier programme que vous avez édité :
$ make
Vous pouvez compiler et exécuter manuellement tous les programmes en appelant directement GCC et Clang.
$ g++ -pthread -std=c++14 -O3 -o anagrams anagrams.cc
Vous pouvez également utiliser le Makefile fourni : make <program_name>
. Vous pouvez également utiliser CMake avec le fichier CMakeLists.txt fourni.
$ make
La cible Makefile par défaut est le dernier fichier modifié.
$ make anagrams
N'hésitez pas à nous envoyer des questions et des commentaires - [email protected]
et [email protected]
Si vous rencontrez des problèmes, par exemple avec l'installation ou avec des tests de buggy, n'hésitez pas à nous contacter par e-mail. Veuillez être aussi détaillé que possible : l'idéal est de pouvoir télécharger une vidéo screencast du problème sur YouTube ; à défaut, veuillez télécharger des captures d'écran. Plus la description du problème et de votre environnement (OS, version linguistique, IDE et version) est détaillée, plus il nous sera facile de vous aider.
Les environnements de développement intégrés IntelliJ décrits ci-dessus sont les meilleurs de leur catégorie et disposent de versions gratuites qui fonctionneront parfaitement pour le juge EPI. Ils n'incluent pas les compilateurs. Vous pouvez obtenir l'environnement de développement Java auprès d'Oracle et l'environnement de développement Python auprès de Python.org. Pour C++, vous disposez de plusieurs options. Le plus simple consiste à installer VisualStudio, qui inclut à la fois l'EDI et le compilateur. Google est une bonne ressource pour l'aide à l'installation.
Quels compilateurs sont pris en charge pour Judge ?
Quels compilateurs sont pris en charge pour les solutions ?
Faites-nous savoir si vous avez réussi à compiler avec une ancienne version.
Jetez un oeil à cette capture d'écran.
Le harnais du juge est assez complexe (mais n'utilise pas de fonctionnalités de langage ou de bibliothèques non standard). Vous êtes invités à l'étudier, mais nous vous déconseillons d'y apporter des modifications (car cela entraînerait de vilains conflits de fusion lors de la mise à jour).
Si vous souhaitez importer le projet dans votre IDE préféré, vous devrez probablement créer un projet IDE avec CMake (pas besoin de le faire pour CLion, il prend en charge CMake prêt à l'emploi).
Voici un exemple de recette pour générer un projet Visual Studio (liste de tous les IDE pris en charge par CMake). Après avoir installé CMake, ouvrez votre terminal, accédez au dossier epi_judge_cpp
et exécutez les commandes suivantes :
mkdir vs
cd vs
cmake -G "Visual Studio 15 2017" ..
Ensuite, ouvrez simplement la solution epi_judge_cpp/vs/epi_judge_cpp.sln
avec Visual Studio et elle chargera tous les programmes EPI.
Le fichier index.html à la racine de ce projet suit votre progression à travers les problèmes. Plus précisément, il existe un onglet extensible pour chaque chapitre. Cliquez dessus et vous verrez votre progression, par exemple comme ci-dessous. Ce fichier est mis à jour chaque fois que vous exécutez un programme. Vous pouvez utiliser ce fichier pour mapper les problèmes liés aux livres aux programmes stub .
Un grand merci aux centaines d'utilisateurs qui ont essayé la version au cours des deux derniers mois. Comme toujours, nous ne manquons jamais d'être impressionnés par l'enthousiasme et l'engagement de nos lecteurs ; cela a servi à faire ressortir le meilleur de nous-mêmes. Nous remercions tous Viacheslav Kroilov d'avoir appliqué ses compétences exceptionnelles en ingénierie logicielle pour faire d'EPI Judge une réalité.