Source: Almost Human
Cet article sur 2380 mots Il a recommandé la lecture de 7 minutes.
Dans ce projet, les auteurs ont préparé un guide d'entretien ingénieur algorithme ML, qui fournit une connaissance complète de l'entrevue, le problème de la programmation et de la solution à un problème, diverses entreprises technologiques font face à des questions Jin et ainsi de suite.
L'arrivée du printemps, le printemps commence à se déplacer rapidement. Dans ce projet, les auteurs ont préparé un guide d'entretien ingénieur algorithme ML, qui fournit une connaissance complète de l'entrevue, le problème de la programmation et de la solution à un problème, diverses entreprises technologiques font face à des questions Jin et ainsi de suite. Le projet GitHub dispose actuellement d'une collection de 10000 +, les étudiants veulent hop hop viennent l'essayer.
Adresse projet: https: //github.com/imhuay/Algorithm_Interview_Notes-ChineseComme le montre la structure suivante de l'ensemble du projet, dont le calcul de l'apprentissage de la machine est le fournisseur principal de notes d'entrevue et point de connaissances, le lecteur peut examiner le cadre général des connaissances. De retour de la surface par l'algorithme principal pour fournir des questions et des réponses écrites est un programme, selon ce qui peut améliorer le niveau global de résolution de problèmes et de compétences en programmation.
connaissance Interviewles questions de visage varié, mais la machine à apprendre beaucoup, puis pour déplacer le saut de printemps ou au printemps, mais encore une fois les connaissances de base ML? Dans ce projet GitHub, l'auteur première partie présente la connaissance de l'apprentissage de la machine et chaque sous-zone. Chacune d'entre elles ne donnent qu'une connaissance du concept de base, si le lecteur rencontre une des lacunes de l'algorithme d'expérience ou de connaissances ne connaissent pas, et vous pouvez lire la documentation pertinente.
Le projet principal de l'apprentissage machine, de fournir des aspects des connaissances détaillées de l'apprentissage en profondeur, le traitement du langage naturel et en mathématiques, parce que l'auteur plus préoccupé par la PNL, et il n'y a pas de notes détaillées sur la vision par ordinateur.
Machine Learning
Pour la première phase d'apprentissage de la machine, le projet principalement à partir des concepts de base, les pratiques de base, les algorithmes de base et des sujets d'apprentissage intégrés résument la situation générale de ces quatre aspects de la ML. Lorsque les concepts sous-jacents peuvent être la plupart des questions d'entrevue de base telles que « comment peser la variance de l'écart? », « Quelle est la différence modèle généré et le modèle discriminante est? », « Les probabilités a priori et a posteriori sont ce qu'ils sont capables de le convertir? » .
Ce sont des connaissances générales débutants besoin de savoir, et pour la pratique de base ML, la question principale sera du point de vue de la façon dont le processus de développement traditionnel ML. Par exemple, « Comment choisissez-vous les hyper-paramètres, d'introduire quelques-uns des paramètres de base de la méthode de recherche sur vous? », « Matrice de confusion, précision, précision, rappel ou F1 valeurs sont ce qu'ils mesurent la façon dont bon ou mauvais modèle? » « pouvez-vous présenter les principales données des processus de nettoyage et les données de pré-traitement pour vous, par exemple ?. »
Ces problèmes peuvent trouver la réponse à la connaissance des deux parties de l'ancienne. La partie de base de l'algorithme est très bien, du plus simple au complexe gradient de régression logistique stimulant arbre, cette section résume le principal algorithme d'apprentissage de la machine:
- Théorie de l'information
- La régression logistique
- SVM
- Arbre de décision
- apprentissage intégré
- Gradient améliorer arbre décision GBDT
- Les forêts au hasard
Chacun de ces algorithmes ont le concept de base, par exemple, dans l'algorithme d'arbre de décision CART, prend note des principales références décrivant Li Accrocher « méthodes d'apprentissage statistique » dans:
Enfin, il y a un sujet de l'approche intégrée de l'apprentissage de la machine. En plus d'appuyer les questions vecteur approche liées à l'intégration machine sont plus importants en ML parce que, comme XGboost et forêts aléatoires et d'autres méthodes dans le ML traditionnel en vigueur devrait être de premier ordre, a demandé la probabilité est beaucoup plus grande.
étude approfondie
le contenu d'apprentissage profondeur est relativement plus, et maintenant il y a beaucoup de notes ou de l'information, mais nous pouvons sentir la profondeur du problème et n'a pas appris l'apprentissage difficile machine. Au plus, il nous permettra de pousser un algorithme de rétro-propagation, à la différence poussée que nous poussons SVM expression de convolution du réseau. Si vous voulez apprendre la profondeur de jeter les bases, en fait, la meilleure façon est d'apprendre « Deep Learning » de Ian Goodfellow, nous venons de lire les deux premières parties de ce livre: base d'apprentissage en mathématiques appliquées et machine, réseau de profondeur: la pratique moderne. La troisième partie parce que les choses impliquent beaucoup de recherche de pointe, nous ne sont pas pressés peuvent apprendre.
Le projet se concentre sur un entretien approfondi d'apprendre des connaissances à partir des aspects suivants:
- Fondation de l'apprentissage en profondeur
- étude approfondie et pratique
- sujets CNN
- sujets RNN
- algorithme d'optimisation thématique
- sujets de la série Modélisation
- Finition « apprentissage profond »
Les six précédentes notes thématiques sont introduites, chaque thème a beaucoup de contenu spécifique, la modélisation de la séquence thématique a également cité une étude des mystères du cur de la machine de la circulation à la convolution, explorer la modélisation de la séquence. Ci-dessous montre le contenu des sujets de l'algorithme d'optimisation inclus:
A la fin de la finition « apprentissage en profondeur », le projet donne à l'auteur de plus de cinquante problèmes d'apprentissage de la profondeur des canaux, et d'introduire la connaissance « Deep Learning » conformément à ces problèmes. Voici un exemple du problème, astérisque différent indique la difficulté du problème:
Natural Language Processing et mathématiques
Traitement du langage naturel est également à l'origine l'accent mis récemment sur les aspects les plus récents sont présentés ici sont:
- base de traitement du langage naturel
- tendances PNL
- Intégrer le mot sujet
- Intégrer la phrase sujet
- multimodal spécial
- Questions et réponses Un examen visuel
- compréhension approfondie de l'enquête
La PNL est pas vraiment beaucoup de contenu de base de connaissances qui doivent être collectées en fonction du champ d'examiner le contenu de notre propre apprentissage. Mais comme la PNL ou des mots intégrés dans la fondation et d'autres connaissances, la description très détaillée du projet, ils sont aussi entretien PNL connaissances essentielles.
Enfin, il y a quelques connaissances mathématiques, ils sont à la base des ingénieurs de l'algorithme doivent avoir l'entrevue. Par exemple interview stagiaire ingénieur algorithme Headlines Today demandera: « trois points choisis au hasard sur le cercle, la probabilité de triangle aigu de trois points? », Ou d'autres points considérés comme. Le projet principal de l'entrevue préparé pour la connaissance des aspects suivants:
- probabilité
- nature calcul
- noyau de l'apprentissage en profondeur
Dans lequel le noyau principal comporte une fonction d'activation non linéaire de l'apprentissage en profondeur, et descente de gradient rétro-propagation.
Algorithmes problèmes et questions de styloPour la programmation entrevue algorithme est indispensable, ils sont généralement reflétées dans les questions T, telles que les structures de données, programmation dynamique, ou similaire permutations. De nombreux développeurs peuvent se sentir l'épreuve écrite de résolution des problèmes sera difficile, parce que le sujet n'a pas besoin de vous dire quel genre d'algorithmes de base pour résoudre, grâce à une étape par étape pour résoudre nos propres problèmes. Cela nous oblige à différents algorithmes de base sont plus familiers avec les auteurs du projet offrent les sujets arithmétiques de base suivants:
- chaîne
- Structure de données
- Structures de données avancées
- programmation dynamique
- Double pointeur
- problèmes d'intervalle
- permutation
- problèmes mathématiques
- Lecture aléatoire, l'échantillonnage d'un nombre aléatoire
- Opération d'un grand nombre
- traitement de données Massive
Ces questions présenteront des algorithmes questions spécifiques, des idées de résolution de problèmes et la résolution des problèmes du code correspondant. Par exemple, dans la structure de données, nous avons déterminé comment arbre B Un sous-arbre est pas un arbre.
Le code ci-dessous à la résolution de problèmes, l'attention est essentiellement la base de chaque algorithmes de solution problème sont écrits en C ++, l'auteur références Solutions Offre solution à un problème et la solution à un problème Leetcode prouver la sécurité et autres.
Solution classe { public: bool HasSubtree (TreeNode * p1, TreeNode * p2) { if (p1 p2 == == || nullptr nullptr) // arbre nul n'a pas accepté l'une quelconque des sous- structures arborescentes return false; retour isSubTree (p1, p2) // détermine si le même sous-structures ou non || HasSubtree (P1- > gauche, p2) // arbre récursif pour trouver le nud racine A avec les mêmes nuds sous-arbre B || HasSubtree (P1- > droite, p2); } bool isSubTree (TreeNode * p1, TreeNode * p2) { si (p2 == nullptr) return true; // Notez que l'ordre de ces deux dosages si le retour (p1 == nullptr) faux; si (P1- > val == P2- > val) retour isSubTree (P1- > gauche, P2- > gauche) // récursive détermine gauche et à droite les sous-arbres && isSubTree (P1- > droit, P2- > à droite); d'autre return false; } };En outre, le projet prévoit également les modèles nécessaires et algorithmes modèle IO. Contrairement à de nombreux auteurs écrits LeetCode qui automatisent E / S, nous avons besoin de compléter manuellement les données d'E / S, et si nous ne vivons pas ACM est susceptible de perdre beaucoup de temps en elle. Voici donc un résumé de plusieurs modèle IO commun est très utile pour la programmation entrevue, un autre algorithme est également un modèle.
Par exemple, si le modèle que nous entrons dans un nombre variable d'entrée, et à la fin d'un symbole d'entrée particulier, utilisez le langage C comme suit:
// Exemple 1 int a, b; while (scanf ( "% d% d", et a, b &)! = EOF && (a! = 0 && b! = 0)) { // ... } // ou while (scanf ( "% d% d", et a, b &)! = EOF && (a || b)) { // ... } // Exemple 2 int n; while (scanf ( "% d", et n)! = EOF && n! = 0) { // ... }Modèle implémenté en C ++ comme suit:
// Exemple 1 int a, b; while (cin > > un > > b) { si (a == 0 && b == 0) break; // ... } // Exemple 2 int n; while (cin > > n && n! = 0) { // ... }Interview Zhenti
Enfin, les auteurs du projet ont également recueilli plus d'une douzaine entretien des entreprises technologiques Zhenti et introduites d'un côté au contenu et l'expérience de trois côtés.
Par exemple, un titre / battement octets - apprentissage / PNL trois sens aperçu profond côtés:
questions d'entrevue spécifiques seront fournis, comme indiqué en octets battant 18 questions stylo Août, les points jeu de cartes:
Bien sûr, étant donné le sujet, les solutions correspondantes fourniront:
# Traitement d'entrée n = int (input ()) x, y = , pour i dans la fourchette (n): (Split ()) carte (int, entrée (.)) _X, _y = list x.append (_x) y.append (_y) xy = list (zip (x, y)) xy = trié (xy, key = lambda t: t ) ret = 0 si la somme (x)% 2 == 0: # x, et si tout est encore print (somme (y)) # y, et une sortie directe de tous autre: for i in range (len (xy)): si xy % 2 == 1: # x pour enlever un nombre impair que ret = somme ( ) imprimer (ret) pause Editeur: Wen Jing Relecture: la force Gong - FIN -attention Tsinghua - données Académie des sciences de Qingdao plate-forme publique micro-canal officiel " données d'envoi THU « Sisters et n ° » Les données envoyées THU « Pour plus de conférences et de bien-être contenu de qualité.