De la var b à l'interview

Avez-vous presque terminé vos études universitaires ou collégiales? Vous avez été invité pour des interviews, mais vous y allez sans préparation? Vous n'avez pas de formation (supérieure), mais souhaitez travailler en tant que programmeur ou dans le domaine de l'informatique? Ce sera surtout pour trouver un emploi, je ne parlerai que pour ma ville (Tcheliabinsk) car Je cherchais du travail ici.



Quand j'ai commencé à chercher du travail, étant dans ma deuxième année à l'université, je ne me doutais pas du nombre d'entreprises différentes dans notre ville. Des codeurs au Deep Learning, de ceux-là. support bitrix à un développeur de jeux (mobile, réseaux sociaux, bureau).

J'étais à environ 8 interviews (sans compter en ligne). Ils étaient tous dans des directions différentes. Mise en page, développement de jeux de bureau, développeur web (c # +. Net), développeur web (bitrix + php), front-end (js + react). Il a refusé quelque chose lui-même, ils ne l'ont pas emmené quelque part. Je ne sais pas grand chose.

Plus près du point, plus près du code


Je voudrais dire ce qu'ils demandent lors de ces entretiens et pourquoi ils le font (pour expliquer les technologies utilisées).

Commençons par un simple. Disposition


Dans la plupart des cas, tout le monde avait besoin d'une vitesse de mise en page. Ils m'ont confié deux tâches (deux sociétés différentes). Le premier est la mise en page des fiches produits sur le site. En une heure, j'ai dû faire la mise en page comme sur la photo, ce qui m'avait été jeté auparavant. Il n'y a rien de compliqué dans la tâche, mais l'une des conditions est Pixel Perfect (pixel à pixel). J'ai eu quelques erreurs: un décalage avec la mise en page (affichage incorrect de la fenêtre de notification et la logique de l'effet de survol).

image

La deuxième tâche était encore plus facile (le pixel parfait n'était pas requis). Il y a un TdR (Termes de Référence) avec des corrections et elles doivent être faites sur le site. Modifications dans l'affichage des éléments, quelque chose que les téléphones mobiles peuvent configurer, changer l'indentation, la couleur des éléments.

Pourquoi De nos jours, très peu d'entreprises recherchent des codeurs, la vitesse est donc importante. Moins de temps pour le travail, plus de commandes, ce qui signifie plus de profits pour l'entreprise. Une telle position nécessite souvent des préprocesseurs (sass, pug) et des constructeurs de projets (gulp, webpack). Quant aux savoirs traditionnels, vous les recevrez à n'importe quel emploi et vous devez les suivre! Les savoirs traditionnels sont différents pour tout le monde, dans la plupart des cas, il s'agit d'un document texte avec une liste de modifications.

Programmeur Web (bitrix)


Il y a eu 3 tentatives dans différentes entreprises. Dans l'un d'eux, ils m'ont simplement expliqué ce qu'ils devraient faire. Support des sites d'entreprise (développement pour les besoins de ces sites) + travail avec le serveur (mise en place et déploiement de sites). Pas une seule question n'est ce que je peux et ce que je sais.

Mais lors du deuxième entretien, ils n'ont demandé que ce que j'avais fait au dernier lieu de travail, ce que je pouvais faire dans Bitrix et ce que j'avais étudié en général.

Eh bien et le plus intéressant, c'est la dernière interview. Voici des questions sur les compétences et une description des tâches de l'entreprise et des tâches qui devaient être effectuées sur place. J'espère que vous pourrez parler de vous, mais je suis prêt à partager des questions. Je vous préviens tout de suite, il n'y avait aucune condition dans la langue dont vous avez besoin pour écrire du code, j'ai choisi JS. Calculer la factorielle de ce qu'est un arbre binaire et de ses façons de le parcourir, trier les algorithmes, accéder à la base de données (requêtes simples), quel class.php est en bitrix.

Le calcul factoriel est très simple, quel que soit le langage de programmation. Implémentez cela par récursivité. À propos d'un arbre binaire est déjà plus compliqué ... arbre binaire (binaire) = structure de données. L'arbre est utilisé pour travailler avec de grandes quantités de données, il n'est pas surprenant que lorsque vous postulez pour travailler avec des magasins en ligne, ils demandent exactement cela. Le tri s'applique également à l'utilisation des données. Eh bien, et l'accès à la base de données, la plupart des sites sur le réseau utilisent la base de données. Ceci est une conclusion des nouvelles du site, des produits, une liste d'articles populaires et d'autres éléments.

Le plus intéressant, une tentative d'obtenir un développeur de bureau


image

Je mentionnerai immédiatement des sujets généraux: POO et modèles.

Pourquoi? Eh bien, le développement moderne sans OOP ... c'est très étrange, tout comme le développement sans modèles. Oui, vous pouvez suivre des cours tout en étudiant et ne pas utiliser de modèles + POO, mais sans une compréhension minimale de la classe, de l'héritage et du polymorphisme, je ne vous embaucherai pas. La POO vous permet de diviser le programme en blocs, et les modèles, tels que SOLID, vous permettent de diviser le code en blocs indépendants, de sorte qu'à l'avenir vous pourrez facilement les compléter.

Tous les autres problèmes étaient spécifiques, selon ce avec quoi l'entreprise travaillait. Par exemple, si ce sont des développeurs de jeux, il était nécessaire d'écrire un jeu de test en utilisant leur moteur + la documentation qu'ils y fournissaient. On m'a donné un jeu 2D pour enfants (c # + XAML). L'essence du jeu: il y a deux verres, l'un est vide, et dans le second il y a des crayons, lorsqu'un joueur clique sur RMB, un crayon se déplace vers un verre vide et met à jour le compteur de score sur l'écran. C'était banal de compter les crayons.

J'ai aussi eu l'expérience d'interviewer un développeur Unity, c'était déjà plus difficile ici car et le jeu a été donné en 3D, et le code a été surveillé afin qu'il n'y ait pas de déchets dedans + la présence de motifs, j'ai toujours ce projet sur github.

Revenons aux entreprises, s'il s'agit du développement de la partie back-end (c # +. Net), alors les questions concernaient la plate-forme .net et ses pièges. S'il s'agit de développement d'applications, vous devez connaître TDD (développement par le biais de tests), SOLID, OOP.

J'ai déjà expliqué la POO et les modèles. Pourquoi poser des questions sur TDD? Honnêtement, je ne sais pas ... Je ne comprends pas pleinement l'avantage de cette approche, mais certaines entreprises l'utilisent, mais je n'ai dû écrire le code de cette façon qu'une seule fois. SOLIDE - ce sont 5 modèles combinés ensemble, après avoir été interrogé lors d'une interview sur ce modèle, j'ai immédiatement commencé à l'étudier. Je vais vous dire honnêtement, il était difficile pour moi de le comprendre, mais le résultat est un code très persistant qui peut être complété sans nuire à une application déjà écrite. Si SOLID vous intéresse, essayez d'écrire une calculatrice en utilisant ce modèle. Implémentez d'abord + et -, puis ajoutez d'autres fonctionnalités à la calculatrice. Je me souviens d'avoir écrit en c # (programme console).

C'est peut-être tout ce que je peux vous dire sur l'entretien dans ma ville. Oui, il y a à la fois des développeurs SPA (reactJS est principalement requis), et des développeurs de jeux web (tout de même réagissent, dans la plupart des cas, et parfois seulement JS natifs), et python, 1C, développeurs JAVA et autres. J'ai été très surpris par la variété des technologies et des langages utilisés. C'est tout pour moi, peut-être. A bientôt.

Source: https://habr.com/ru/post/fr430226/


All Articles