MATLAB questions de l'entrevue?
J'ai programmé dans MATLAB depuis de nombreuses années, mais elle est passée à l'aide de R exclusivement dans les dernières années, donc je suis un peu hors de la pratique. Je suis une entrevue avec un candidat, aujourd'hui, qui se décrit lui-même comme un expert MATLAB.
Ce que MATLAB interview questions devrais-je poser?
Certains autres sites avec des ressources pour cela:
- "Matlab questions d'entrevue" sur Wilmott
- "MATLAB Questions et Réponses" sur GlobaleGuildLine
- "Matlab Questions d'Entrevue" sur CoolInterview
- "Quelle question aimeriez-vous poser à une personne interrogée?" est toujours une option
- J'ai modifié la question pour voir si ça va être retiré de Google - le modifier si vous le souhaitez! Je suis juste à expérimenter ici ..
- Ici vous trouverez quelques bonnes questions: stackoverflow.com/questions/1710299/...
- Nope, l'URL est fixe .. lol
- Alors, comment l'entretien ?
- Premier lien (Wilmott) est rompu, les deux derniers sont fondamentalement les mêmes, et ne sont en fait rien de bon. Au moins vous avez obtenu quelques bonnes réponses ci-dessous!
Vous devez vous connecter pour publier un commentaire.
C'est un peu subjectif, mais je vais mordre... 😉
Pour quelqu'un qui est un auto-proclamé expert MATLAB, voici certaines des choses que je n'aurais personnellement s'attendre à être en mesure d'illustrer dans une interview:
Une connaissance intime de les types de fonctions MATLAB, en particulier fonctions imbriquées. Plus précisément, compte tenu de la fonction suivante:
Ils devraient être en mesure de vous dire quel est le contenu de la variable
output
sera dans le code suivant, sans de l'exécuter dans MATLAB:Nous obtenons plusieurs nouvelles personnes dans le département de support technique ici à MathWorks. C'est tous les post-embauche (je ne suis pas impliqué dans le recrutement), mais j'aime apprendre à connaître les gens, alors je leur donne le "Impossible et adaptative MATLAB programmation défi"
Je commence avec eux dans MATLAB et de leur donner certaines .TAPIS de fichier avec les données qu'il contient. Je leur demande de les analyser, sans autre instruction. Je peut très rapidement avoir une idée de leur expérience réelle.
http://blogs.mathworks.com/videos/2008/07/02/puzzler-data-exploration/
Le véritable défi ne signifie pas grand-chose, j'apprends plus de les regarder essayer.
Sont-ils des scripts, fonctions, la ligne de commande ou graphique? Semblent-ils avoir une idée claire de là où ils vont avec elle? Quel est le niveau de confiance qu'ils entretiennent avec ce qu'ils font?
Sont-ils des scientifiques de l'informatique ou d'un ingénieur qui a appris à programmer. CS majors ont tendance à faire des choses comme fermer les parenthèses immédiatement, et d'autres petites optimisations comme ça. Les gens qui ont été à l'aide de MATLAB un certain temps ont tendance à capturer les poignées de préparation de commandes pour les utiliser plus tard.
Combien de temps faut-ils naviguer dans la documentation? Une fois que je vois qu'ils sont en descendant le "droit" chemin, alors je vais juste changer le défi de voir avec quelle rapidité ils peuvent faire parcelles, tirez submatrices etc...
Je vais jeter quelques vieux trucs du Projet Euler. La plupart du temps simplement la rampe jusqu'à la questions jusqu'à ce que l'un de nous est perplexe.
Virgule Flottante Questions
Étant donné que Matlable principal (seul?) type de données est la virgule flottante double précision de la matrice, et que la plupart des gens utilisent l'arithmétique à virgule flottante, qu'ils le sachent ou pas -- je suis étonné que personne n'a proposé de demander de base à virgule flottante questions. Voici quelques virgule flottante questions de difficulté variable:
Quelle est la portée de
|x|
, IEEE dp rpf?Environ combien d'IEEE dp fpns sont là?
Qu'est-ce que machine epsilon?
x = 10^22
est exactement représentable comme une dp rpf. Quelles sont les fpns xpet xs juste en dessous et juste au-dessus de x ?
Combien de dp fpns sont en
[1,2)
? Combien d'atomes sont sur un bord d'une1 pouce cube de sucre?
Expliquer pourquoi
sin(pi) ~= 0
, maiscos(pi) = -1
.Pourquoi est
if abs(x1-x2) < 1e-10 then
un mauvais test de convergence?Pourquoi est
if f(a)*f(b) < 0 then
un mauvais signe de contrôle?Le milieu
c
de l'intervalle[a,b]
peut être calculée comme suit:Laquelle préférez-vous? Expliquer.
Calculer dans Matlab:
a = 4/3; b = a-1; c = b+b+b; e = 1-c;
Mathématiquement,
e
doit être égale à zéro, mais Matlab donnee = 2.220446049250313e-016 = 2^(-52)
, machine à epsilon (eps). Expliquer.Étant donné que
realmin = 2.225073858507201e-308
, et Matlabu = rand
donne une dp rpf distribués de manière uniforme sur l'intervalle ouvert (0,1):Sont des nombres en virgule flottante
[2^(-400), 2^(-100), 2^(-1)]
= 3.872591914849318 e-121, 7.888609052210118 e-031, 5.000000000000000 e-001
tout aussi susceptibles d'être sortie par rand ?
Matlab
rand
utilise le Mersenne Twister rng qui dispose d'un délai de(2^19937-1)/2
, mais il ya seulement environ2^64
dp fpns. Expliquer.Trouver le plus petit double précision IEEE rpf
x
,1 < x < 2
, tels quex*(1/x) ~= 1
.Écrire un court Matlab la fonction de recherche pour un tel numéro.
Réponse: Alan Edelman, MIT
Voulez-vous de voler dans un avion dont le logiciel a été écrit par vous?
Colin K ne serait pas m'embaucher (et probablement de me virer) pour dire que"
Matlab principale (seule?) type de données est le double précision flottante
point de la matrice".
Lorsque Matlab a commencé, c'était tout ce que l'utilisateur a vu, mais au fil des années
ils ont ajouté qu'ils pudiquement appeler "les classes de stockage": une seule,
(u)int8,16,32,64, et d'autres. Mais ce ne sont pas vraiment des types
parce que vous ne pouvez pas UTILE d'arithmétique sur eux. L'arithmétique sur
ces classes de stockage est si lent qu'ils sont inutiles comme des types.
Oui, ils épargnent de stockage, mais ce qui est le point si vous ne pouvez pas faire
rien qui vaille la peine avec eux?
Voir mon post (N ° 13) ici, où je montre que l'arithmétique sur int32s est 12 fois plus lent que
double arithmétique et où MathWorkser Loren Shure dit "En
par défaut, MATLAB variables sont le double de la précision des tableaux. Autrefois
jours, ceux-ci étaient le SEUL type de tableaux dans MATLAB. De retour alors même
des tableaux de caractères ont été stockées en tant que double des valeurs."
Pour moi la plus grande faille dans Matlab est son manque de types,
tels que ceux disponibles dans C et Fortran.
Par la voie Colin, quelle a été votre réponse à la Question 14?
Poser des questions au sujet de son expertise et de son expérience dans l'application de MATLAB dans votre domaine.
Poser des questions sur comment il allait aborder la conception d'une application pour la mise en œuvre dans MATLAB. S'il se réfère aux dernières fonctionnalités de MATLAB, demandez-lui de les expliquer, et comment ils sont différents de l'ancienne fonctionnalités qu'ils remplacer ou à compléter, et pourquoi ils sont préférables (ou pas).
Poser des questions sur son expertise avec MATLAB structures de données. Beaucoup de MATLAB "experts" que j'ai rencontré sont très bon à l'écriture de code, mais très pauvre à déterminer quelles sont les meilleures structures de données pour le travail à la main. C'est souvent une conséquence directe de leur être des experts du domaine qui ont ramassé MATLAB plutôt que d'avoir été formés dans computerism. Le résultat est souvent bon code qui doit compenser le mauvais structures de données.
Poser des questions au sujet de son expérience, le cas échéant, avec d'autres langages/systèmes et de l'inviter à élargir ses observations sur les forces et les faiblesses de MATLAB.
Demander conseils sur l'optimisation de programmes MATLAB. Attendons les réponses: vectorisation, de pré-allocation de compensation des variables inutilisées, etc.
Poser des questions sur sa familiarité avec le MATLAB profiler, débogueur et les peluches outils. J'ai découvert récemment que le MATLAB "expert" dans le coin ici, n'avait jamais, dans 10 ans, à l'aide de l'outil, trouvé le profiler.
Qui devrait vous obtenir a commencé.
I. je pense que cette récente DONC, la question
l'indexation est une très bonne question
pour un "expert".
II. Connaissance de base des opérateurs comme élément-sage de multiplication entre deux matrices (
.*
).III. Logique d'indexation - génération aléatoire symétrique de la matrice avec des valeurs de
0-1
et de définir toutes les valeurs ci-dessusT
à 0.IV. Lire un fichier avec une certaine correctement mis en forme des données dans une matrice (
importdata
)V. Voici une autre douceur DONC, la question
Btw, il ya une excellente chance que votre personne interrogée Google "MATLAB questions d'entrevue" et voir ce post 🙂
Question Possible:
J'ai un tableau A de n et R,G,B triplets. C'est un 3xn de la matrice. J'ai une autre matrice de B dans la forme 1xn qui stocke la valeur de l'indice (association à un cluster) pour chaque triplet.
Comment tracer les triplettes de Une dans l'espace 3D (à l'aide de
plot3
fonction), la coloration de chaque triplet selon son index dans B? (L'objectif est d'évaluer qualitativement mon clustering)Vraiment, vraiment de bons programmeurs qui sont MATLAB novices ne seront pas en mesure de vous donner un efficace (== MATLAB style) solution. Cependant, il est très simple problème si vous savez que votre MATLAB.
Dépend un peu de ce que vous souhaitez tester.
Pour tester MATLAB de la fluidité, il y a plusieurs jolis Débordement de Pile questions que vous pourriez utiliser pour tester par exemple la matrice de manipulations (exemple 1, exemple 2), ou vous pouvez utiliser fix-ce des problèmes comme cette question (j'avoue, je suis plutôt friand de ça), ou regarder dans cette liste pour certains très MATLAB spécifique des choses. Si vous voulez être un peu dire, de les jeter dans une question comme cette une, où la meilleure solution est une boucle, et le typique MATLAB-chemin-de-la pensée solution serait tout simplement de remplir la mémoire.
Cependant, il peut être plus utile de poser plus de la programmation en général les questions qui sont liées à votre domaine de travail et voir si ils obtenir le problème résolu avec MATLAB.
Par exemple, depuis que je l'analyse d'image, je peut leur demander de concevoir une classe pour le chargement des images de différents formats (un MATLAB expert doit savoir comment le faire de la programmation orientée objet, après tout, il a été pendant deux ans maintenant), puis demander de suivi quant à la façon de traiter avec de grandes images (je veux voir un vérifier la quantité de mémoire serait utilisé - ou peut-être qu'ils savent
memory.m
- et à entendre sur la façon MATLAB fonctionne généralement avec des doubles), etc.