Πώς να προετοιμαστείτε για μια τεχνική συνέντευξη - συμβουλές και κόλπα που θα σας βοηθήσουν να αποδώσετε καλύτερα

Αχ, η συνέντευξη κωδικοποίησης.

"Φοβάσαι. Τρέξε από αυτό. Το πεπρωμένο φτάνει το ίδιο." - Θάνος 2018

Εντάξει, ίσως αυτό είναι λίγο δραματικό, αλλά δεν ξέρω κανέναν που είναι ενθουσιασμένος που περνά τη διαδικασία συνέντευξης. Η διαδικασία αναζήτησης εργασίας / συνέντευξης είναι εξαντλητική στην καλύτερη περίπτωση και πολλά άλλα πράγματα στη χειρότερη.

Πολλοί άνθρωποι μελετούν τεχνάσματα και τακτικές για μια συνέντευξη (και θα σας δώσω μερικά από αυτά), αλλά οι περισσότεροι άνθρωποι δεν σκέφτονται για τη νοοτροπία τους που πηγαίνουν στη συνέντευξη.

Η νοοτροπία σας καθορίζει τον τρόπο με τον οποίο θα δείτε και θα διαμορφώσετε την κατάστασή σας. Πηγαίνετε με τη σωστή νοοτροπία και θα είστε σε θέση να καταλάβετε και να πλοηγηθείτε σε ό, τι σας πετάει. Μπείτε με διάσπαρτα ή συνεσταλμένα μυαλά και θα βρεθείτε κλονισμένοι και κουρασμένοι.

Είστε επίσης ο ερευνητής

Ένα πράγμα που οι περισσότεροι άνθρωποι συχνά ξεχνούν είναι ότι είστε επίσης ο ερευνητής

Ναι, είστε συνέντευξη σε αυτή την εταιρία, αλλά μπορείτε επίσης συνέντευξη από την εταιρεία για να δούμε αν θα είναι ένα αγαθό κατάλληλο για σας.

Ποιες είναι οι αξίες αυτής της εταιρείας; Πώς είναι η ηθική εργασίας τους; Τι εκτιμούν οι άνθρωποι;

Το πέρασμα της συνέντευξης είναι σημαντικό, αλλά θέλετε να εργαστείτε σε αυτήν την εταιρεία εάν περάσετε;

Μερικές φορές χρειαζόμαστε απλώς μια δουλειά - οποιαδήποτε δουλειά - και έτσι δεν θέλω να ελαχιστοποιήσω απλώς τη δουλειά. Αλλά αν μπορείτε, κάντε ένα βήμα πίσω και σκεφτείτε πώς αυτή η δουλειά θα επηρεάσει τη σταδιοδρομία σας μακροπρόθεσμα. Το ναι ναι σε μια δουλειά λέει όχι σε δώδεκα άλλους - πληρώνετε ένα μεγάλο κόστος ευκαιρίας λέγοντας ναι.

Αυτό είναι το πρώτο πράγμα που πρέπει να θυμάστε: αυτό δεν είναι δυναμικό μονόδρομης ισχύος. Μπορεί να νιώθεις μερικές φορές, αλλά έχετε κάποιο έλεγχο εδώ και έχετε επιλογές. Αυτό είναι ενδυναμωτικό.

Τύποι συνεντεύξεων

Εντάξει, οπότε αξιολογούμε επίσης την εταιρεία με βάση τα άτομα με τα οποία αλληλεπιδρούμε στη διαδικασία συνέντευξης, οπότε τι κάνουμε με αυτές τις πληροφορίες;

Λοιπόν, υπάρχουν μερικοί διαφορετικοί τύποι τεχνικών συνεντεύξεων. Αυτοί οι τύποι συνέντευξης μάς λένε πολλά για τη νοοτροπία της εταιρείας και πώς είναι να δουλεύεις εκεί. Αναλύω τους διαφορετικούς τύπους όπως αυτό:

  • Whiteboarding
  • Πρόκληση κώδικα (ερωτήσεις επιστήμης υπολογιστών ή αλγόριθμοι)
  • Πρόκληση κώδικα (εύλογο πρόβλημα κωδικοποίησης)
  • Πάρτε σπίτι έργο

Ο φοβισμένος πίνακας

Μερικές από τις πρώτες ασκήσεις συνέντευξης που υιοθέτησε η βιομηχανία τεχνολογίας ήταν ασκήσεις πίνακα. Θα σας δοθεί μια εργασία και θα σας ζητηθεί να γράψετε τον κωδικό στον πίνακα. Σε γενικές γραμμές, αυτή η προσέγγιση είναι υποτιμημένη και καταργείται στον κλάδο της τεχνολογίας σήμερα, αλλά εξακολουθούν να υπάρχουν πολλές εταιρείες που χρησιμοποιούν αυτήν την πρακτική.

Δεν είναι ότι η κωδικοποίηση σε έναν πίνακα είναι κακό από μόνη της - αλλά ότι ένας πίνακας αφαιρείται μέχρι στιγμής από τη δουλειά που κάνουμε στην πραγματικότητα ως προγραμματιστές που εργάζονται σε υπολογιστές κάθε μέρα. Ο πίνακας είναι αδέξιος για εγγραφή, επεξεργασία και δεν σας δίνει σχόλια - δεν υπάρχει αυτόματη συμπλήρωση, χωρίς επισήμανση σύνταξης και δεν μπορείτε να μεταβείτε στο Google για να αναζητήσετε τις αναφορές της τυπικής βιβλιοθήκης.

Επιπλέον, πολλά μέρη που απασχολούν συνέντευξη στον πίνακα ρωτούν επίσης ένα συγκεκριμένο σύνολο ερωτήσεων συνέντευξης που, ειλικρινά, είναι άχρηστο στο 99% των εργασιών προγραμματισμού εκεί έξω. Αυτοί είναι οι φοβισμένοι αλγόριθμοι επιστήμης υπολογιστών: αντιστροφή ενός δυαδικού δέντρου, εύρεση της συντομότερης διαδρομής σε ένα γράφημα κ.λπ.

Το πρόβλημα με αυτές τις ερωτήσεις είναι απλώς ότι δεν εμφανίζονται στην πραγματική ζωή ως προγραμματιστής. Εάν κάνετε συνέντευξη στο Amazon ή στο Facebook, σίγουρα, ίσως να έχουν κάποια αξία εκεί, αλλά η πλειοψηφία των ανθρώπων δεν θα αντιμετωπίσει ποτέ αυτό το πρόβλημα στην καριέρα τους. Και αν το κάνουν, θα χρησιμοποιούν απλώς κάποιο πακέτο ή βιβλιοθήκη που έχει ήδη εφαρμόσει αυτήν τη λειτουργικότητα.

Τι μπορούμε λοιπόν να κάνουμε για τους πίνακες; Λοιπόν, αυτό είναι που θα έκανα: κάντε το καλύτερο δυνατό, χρησιμοποιήστε τις συμβουλές και τα κόλπα που περιγράφονται παρακάτω και αξιολογήστε σοβαρά εάν αυτή η πρακτική συνέντευξης είναι σύμπτωμα ενός μεγαλύτερου ζητήματος νοοτροπίας εντός της εταιρείας.

Προκλήσεις κώδικα

Εάν είστε αρκετά τυχεροί για να αποφύγετε τον πίνακα, τα περισσότερα μέρη (και πιθανώς θα έπρεπε) θα σας ζητήσουν να κάνετε κάποιο είδος πρόκλησης κώδικα. Και πάλι αυτό μπορεί να μοιάζει με μονόδρομη δυναμική ισχύος, αλλά αυτή η πρόκληση κώδικα είναι πραγματικά καλή για εσάς. Αυτό είναι όπου μπορείτε να λάμψετε και να δείξετε την τεχνική σας ικανότητα και, σύμφωνα με την εμπειρία μου, αυτό επηρεάζει δραστικά τη διαπραγματευτική σας δύναμη όσον αφορά την κατάταξη και την αμοιβή εργασίας

Πριν μπείτε στις συγκεκριμένες συμβουλές, θα πρέπει επίσης να γνωρίζουμε ότι επειδή απλώς έχετε αποφύγει τον πίνακα δεν σημαίνει ότι δεν θα εξακολουθείτε να λαμβάνετε την ερώτηση αλγόριθμου επιστήμης υπολογιστών εδώ - μόνο σε έναν υπολογιστή. Εάν συμβαίνει αυτό, απλώς πάρτε μια βαθιά ανάσα και χρησιμοποιήστε τις παρακάτω συμβουλές και κόλπα. Θα το ξεπεράσεις.

Είστε αρκετά τυχεροί για να αποφύγετε τον πίνακα και την ερώτηση CS που πιθανότατα σας παρουσιάστηκε μια λογική πρόκληση κωδικοποίησης. Για μένα αυτά είναι ερωτήματα όπως:

Γράψτε μια συνάρτηση που παίρνει έναν αριθμό σεντ (USD) ως ακέραιο αριθμό μικρότερο ή ίσο με 100 και εκτυπώνει το ελάχιστο ποσό νομισμάτων που απαιτείται για να το αντιπροσωπεύσει.

50 => 2 τέταρτα

11 => 1 δεκάρα και 1 δεκάρα

7 => 1 νικέλιο και 2 πένες

Έλαβα επίσης ερωτήσεις που μοιάζουν με ερωτήσεις CS αλλά δεν είναι τόσο άσχημες. Για παράδειγμα, "εφαρμόστε μια λίστα διπλής σύνδεσης." Με την πρώτη ματιά, αυτό φαίνεται σαν ένα πρόβλημα CS λόγω του τμήματος "λίστα διπλά συνδεδεμένων", αλλά αυτό που πραγματικά ήθελε ο ερευνητής ήταν κώδικας που εφάρμοσε την ίδια συμπεριφορά με μια λίστα διπλά συνδεδεμένων. αντικείμενα στη μνήμη - απλά μιμείται την ίδια συμπεριφορά. Σε αυτήν την περίπτωση κατέληξε να είναι μια αρκετά απλή πρόκληση.

Και αυτό με φέρνει στην πρώτη μου συμβουλή:

Συμβουλή # 1: Κάντε ερωτήσεις αποσαφήνισης

Στην πρόκληση λίστας με διπλή σύνδεση, μου δόθηκε ένα κενό αρχείο Ruby (πήρα συνέντευξη για μια δουλειά Ruby) και μια κενή δοκιμαστική σουίτα. Κάτι σαν αυτό:

class DoublyLinkedList end 

(Εάν δεν είστε εξοικειωμένοι με την Ruby - μην ανησυχείτε. Ο κωδικός εδώ θα είναι απλός κατανοητός. Είναι εδώ μόνο για να δείξετε τα συνολικά σημεία.)

Λοιπόν, μια διπλά συνδεδεμένη λίστα ε; Ίσως ξέρετε τι είναι αυτό, ή ίσως δεν το γνωρίζετε. Εάν δεν το κάνετε: κάντε ερωτήσεις. Αυτή είναι η πρώτη παγίδα που πρέπει να αποφύγετε. Εάν δεν καταλαβαίνετε το πρόβλημα ή τι ζητούν, συνεχίστε να κάνετε ερωτήσεις μέχρι να το κάνετε.

Έχω δει τους ερωτηθέντες να πηγαίνουν σε λάθος ίχνος κουνελιού και ο ερευνητής τους άφησε - όλη την ώρα σιωπηλά να τους αποτύχει. Αν και δεν συμφωνώ με αυτήν την πρακτική, βεβαιωθείτε ότι αντιμετωπίζετε το σωστό πρόβλημα.

Προέρχομαι από ένα υπόβαθρο επιστήμης των υπολογιστών, οπότε ήξερα ότι μια λίστα διπλής σύνδεσης σημαίνει μια λίστα που έχει δείκτη προς έναν headκαι tailκόμβο - όπου κάθε κόμβος δείχνει επίσης nextκαι τον previousκόμβο του.

Τώρα, παρόλο που το ήξερα, τι έκανα; Το είπα δυνατά και ρώτησα αν ήταν σωστό. Παρόλο που νόμιζα ότι ήξερα τι να κάνω, έκανα απόλυτη σιγουριά ότι το έκανα.

Μόλις νομίζετε ότι καταλαβαίνετε το πρόβλημα, επαναλάβετε την κατανόησή σας από τον ερευνητή, ώστε να μπορεί να σας διορθώσει ή να σας καθοδηγήσει.

Το επόμενο πράγμα που έκανα ήταν να κάνω μια άλλη ερώτηση: "Μπορώ να χρησιμοποιήσω έναν πίνακα για τους κόμβους;" Και πληκτρολόγησα κάτι σαν αυτό:

class DoublyLinkedList def initialize @nodes = [] end end 

(Εάν δεν είστε εξοικειωμένοι με το Ruby, αυτό είναι απλώς ένας αρχικοποιητής ή κατασκευαστής όπου κάνω μια νέα μεταβλητή που ονομάζεται @nodesσύνολο σε έναν κενό πίνακα.)

Όμως, ο ερευνητής μου είπε, όχι, δεν μπορούσα να το κάνω αυτό - που έχει νόημα. Αν είχα χρησιμοποιήσει έναν πίνακα, θα είχε νικήσει ολόκληρο τον σκοπό της άσκησης που δημιουργεί τους ψεύτικους "δείκτες" μεταξύ των κόμβων.

Και αγόρι, χαίρομαι που ρώτησα. Δεν ήθελα να εκμεταλλευτώ την ευκαιρία ότι ο ερευνητής θα με άφηνε να χρησιμοποιήσω τον πίνακα και μετά να με αποτύχει.

Δεν υπάρχει λοιπόν πίνακας - τι κάνω τώρα; Εδώ είναι η συμβουλή # 2:

Συμβουλή # 2: Hardcoded -> Dumb -> Better

Όταν αντιμετωπίζετε μια πρόκληση κωδικοποίησης, επεξεργαστείτε το πρόβλημα με την ακόλουθη σειρά: σκληρό κωδικοποιημένο -> χαζή -> καλύτερο -> ακόμη καλύτερο (εάν το επιτρέπει ο χρόνος).

Από την εμπειρία μου από τη συνέντευξη και τη συνέντευξη άλλων προγραμματιστών, βρίσκω ότι οι περισσότεροι άνθρωποι προσπαθούν να κάνουν πάρα πολλά ταυτόχρονα.

Όταν κάνετε πάρα πολλά ταυτόχρονα, είναι εύκολο να κάνετε λάθη (που δεν θα καταλάβετε λόγω του ότι έχετε InterviewBrain ™). Ξεκινήστε λοιπόν απλός - ο απλούστερος που μπορείτε στην πραγματικότητα - κωδικοποιημένος κωδικός - και προχωρήστε.

Έχω λοιπόν μια κενή τάξη Ruby, πώς μπορώ να κωδικοποιήσω κάτι για να προχωρήσω μπροστά; Κοίταξα την άδεια δοκιμαστική σουίτα και είδα ότι υπήρχε μια συνάρτηση που ονομάζεται headπου επέστρεψε τον πρώτο κόμβο στη λίστα, οπότε ας δοκιμάσουμε αυτό:

class DoublyLinkedList def head 'A' end end 

Έκανα μια headσυνάρτηση, και κωδικοποίησα το κεφαλαίο γράμμα "Α" ως συμβολοσειρά και έτρεξα αυτό το τεστ. Πέρασε.

Είναι εξαιρετικά απλό; Είναι πολύ προφανές; Ναί! Αλλά αυτός ο κώδικας κάνει δύο πολύ σημαντικά πράγματα:

  • Μου επιτρέπει να εκτελέσω τις δοκιμές και να ελέγξω ότι λειτουργεί η ρύθμισή μου (εξαλείφοντας τυχόν ανόητα ή συντακτικά σφάλματα)
  • Μου κερδίζει μια γρήγορη νίκη - που ενισχύει την αυτοπεποίθησή μου

Υπάρχουν αμέτρητες συνεντεύξεις που έχω δει όπου κάποιος κάνει ένα μικρό λάθος ακριβώς στην αρχή, παίρνει φασαρία και στη συνέχεια ξοδεύει την πλειονότητα της συνέντευξης προσπαθώντας να ανακτήσει και να διορθώσει ό, τι είναι λάθος.

Μην υποτιμάτε την αξία των γρήγορων κερδών για την εμπιστοσύνη σας. Η συγκέντρωση μικρών κερδών θα σας ωθήσει στη συνέντευξη.

Εντάξει, έχουμε μια κωδικοποιημένη συμβολοσειρά 'A'. Τώρα πώς το κάνουμε σε μια χαζή λύση; Λοιπόν, πώς να κάνετε το γράμμα "A" σε κατακερματισμό (ή χάρτη);

class DoublyLinkedList def head { value: 'A' } end end 

Αυτό είναι λίγο καλύτερο. Τώρα αντί για συμβολοσειρά ενός χαρακτήρα, ο "κόμβος" αντιπροσωπεύεται ως κατακερματισμός με μια valueιδιότητα. Πήγαμε από σκληρό κώδικα σε χαζούς. Τώρα πώς μπορούμε να το κάνουμε καλύτερο; Λοιπόν, πώς θα εισαγάγουμε το headδείκτη μας στη λίστα;

class DoublyLinkedList def initialize @head = { value: 'A' } end def head @head end end 

Τι αλλάξαμε εδώ; Εδώ προσθέτουμε ξανά τον αρχικοποιητή μας και δημιουργούμε μια νέα μεταβλητή που ονομάζεται @headκαι χρησιμοποιούμε αυτήν τη νέα μεταβλητή στη headλειτουργία μας . Αυτό αρχίζει να μοιάζει με κάποιο πραγματικό κώδικα.

Τώρα αυτή η προσέγγιση μπορεί να φαίνεται πολύ ανόητη, αλλά σας υπόσχομαι, λειτουργεί. Κάθε μία από αυτές τις αλλαγές πραγματοποιείται σε δευτερόλεπτα μικρής, επαναληπτικής κωδικοποίησης και στοιβάζονται για να παράγουν μια λειτουργική υλοποίηση σε σύντομο χρονικό διάστημα.

Εάν σκέφτεστε ότι αυτή η προσέγγιση θα φαίνεται περίεργη για έναν πιθανό ερευνητή, εδώ είναι η επόμενη συμβουλή και αυτή είναι πολύ σημαντική:

Συμβουλή # 3: Συζήτηση. Δυνατά.

Όλη την ώρα κάνετε μια πρόκληση κωδικοποίησης θα πρέπει να μιλάτε - δυνατά.

Πείτε ό, τι σκέφτεστε - τα πάντα.

(Λοιπόν, όλα σχετίζονται με τον προγραμματισμό.)

Εδώ είναι το πράγμα: να φτάσετε σε μια σωστή λύση είναι σημαντικό ναι, αλλά εξίσου αν όχι πιο σημαντικό είναι να δείξετε τη διαδικασία σκέψης. Ο ερευνητής θέλει να μάθει πώς σκέφτεστε - πώς λύνετε προβλήματα. Μπορείτε να το κάνετε αυτό κοινοποιώντας όλα όσα σκέφτεστε δυνατά.

Κάθε ερευνητής υπήρξε κάποια στιγμή ερωτώμενος - γνωρίζουν για το InterviewBrain ™ και ότι ακόμη και απλά πράγματα μπορούν να γίνουν δύσκολα σε μια συνέντευξη. Οι καλοί ερευνητές δεν με νοιάζουν ότι έχετε τη λύση 100% σωστά - απλά θέλουν να γνωρίζουν ότι έχετε καλές ικανότητες κριτικής σκέψης. Ο μόνος τρόπος για να κάνετε αυτές τις εσωτερικές σκέψεις ορατές είναι να τις πείτε δυνατά.

Εάν δεν το έχετε κάνει ποτέ πριν, ίσως θελήσετε να το εξασκηθείτε, επειδή είναι ζωτικής σημασίας για τη συνομιλία.

Για να σας δώσω μερικά πρακτικά παραδείγματα, εδώ είναι μερικά πράγματα που λέω κάθε φορά που παίρνω συνέντευξη:

"Εντάξει, ας κάνουμε απλή κωδικοποίηση αυτής της τιμής και βεβαιωθείτε ότι η εγκατάσταση μας λειτουργεί." και να κάνουμε. "" Εντάξει, λοιπόν, χρειαζόμαστε μια συνάρτηση που παίρνει έναν πίνακα, κάνει το Χ και επιστρέφει. "

Σε ορισμένα σενάρια, αυτές οι συνεντεύξεις μπορεί να αρχίσουν να αισθάνονται σαν συνεδρίες προγραμματισμού ζευγαριού.

Εντάξει, οπότε λέμε τα πράγματα δυνατά. Αλλά μερικές φορές κάνουμε λάθος ή κολλάμε. Μιλάμε δυνατά τη διαδικασία σκέψης μας, αλλά τώρα ίσως χρειαστεί να αλλάξουμε και να διερευνήσουμε ένα πιθανό ζήτημα ή σφάλμα.

Ακολουθεί μια σημαντική συμβουλή για αυτό:

Συμβουλή # 4: Παραμείνετε σε λογική ροή

Τώρα θα παραδεχτώ: αυτό μπορεί να είναι δύσκολο κατά καιρούς.

Εάν βρίσκεστε σε μια συνέντευξη και υπάρχει πρόβλημα ή σφάλμα με τον κωδικό σας, ο εγκέφαλός σας θέλει απεγνωσμένα να καταλάβει τι είναι λάθος - αλλά μην είστε πολύ απελπισμένοι που αρχίζετε να χτυπάτε τον κώδικα ή τη διαδικασία σκέψης σας.

Βλέπετε, όπως ακριβώς ο ερευνητής θέλει να δει πώς διαλύετε ένα πρόβλημα, επίσης θέλει να δει πώς διορθώνετε ένα πρόβλημα. Αυτό είναι εξίσου σημαντικό με την εξήγηση της διαδικασίας σκέψης σας. Δοκιμάστε το καλύτερό σας για να παραμείνετε σε λογική ροή και αποφύγετε να χτυπάτε τον κώδικα ή τις ιδέες σας.

Αν πηγαίνει καλά

Έτσι, η πρόκληση πηγαίνει καλά και χτυπάτε το πρόβλημα και όλα τα εύκολα πράγματα.

Τώρα τι? Πώς πηγαίνετε από το πέρασμα για να το συνθλίψετε;

Αυτό είναι ένα εξαιρετικά σημαντικό μέρος της συνέντευξης, γιατί εδώ μπορείτε να πάρετε το μεγαλύτερο μέρος της μόχλευσης για διαπραγμάτευση επιπέδου εργασίας και αποζημίωσης. Και η συμβουλή είναι:

Συμβουλή # 5: Δείξτε ό, τι γνωρίζετε

Δουλεύετε την πρόκληση, μιλάτε δυνατά και τα πηγαίνετε καλά. Το επόμενο πράγμα που πρέπει να αναζητήσετε είναι ευκαιρίες για να δείξετε τις γνώσεις και τις γνώσεις σας.

Αυτό είναι το μέρος στον κώδικα όπου μπορείτε να στείλετε email; Αναφέρετε ότι θα πρέπει να γίνει σε έναν εργαζόμενο στο παρασκήνιο (μάλλον δεν θα χρειαστεί καν να το εφαρμόσετε).

Εργάζεστε στη λογική επικύρωσης σε ένα μοντέλο; Μιλήστε για το πώς θα προσθέσατε επίσης περιορισμούς στη βάση δεδομένων για να διασφαλίσετε την ακεραιότητα των δεδομένων Ποια ευρετήρια θα προσθέσατε; Πώς θα ξεδιπλώσετε τις μετεγκαταστάσεις για να αποτρέψετε το χρόνο διακοπής λειτουργίας;

Μόλις λάβετε την καλύτερη λύση -> χαζή -> καλύτερη λύση, μιλήστε για το πώς θα αναπαράγατε το δεδομένο περισσότερο χρόνο. Θα δημιουργήσετε μια ενότητα για αυτό; Τι γίνεται με ένα αντικείμενο υπηρεσίας; Τι γίνεται με την τοποθέτηση αυτής της λογικής σε μια εργασία στο παρασκήνιο; Συζητήστε τις αντισταθμίσεις.

Τώρα γιατί είναι τόσο σημαντικό;

Οι περισσότερες ερωτήσεις συνέντευξης απευθύνονται στον χαμηλότερο κοινό παρονομαστή - που σημαίνει τις πολύ βασικές απαιτήσεις της εργασίας. Η πρόκληση ή οι ίδιες οι ερωτήσεις συνήθως δεν έχουν σχεδιαστεί για να δοκιμάσουν το ανώτερο άκρο της ικανότητας κάποιου . Η συνέντευξη είναι κατά πάσα πιθανότητα δεν πρόκειται να τραβήξει τις πληροφορίες από εσάς, έτσι θα πρέπει να παρέχουν τις εν λόγω πληροφορίες.

Έτσι, ενώ μιλάτε στη διαδικασία σκέψης σας, αναφέρετε όλα τα πράγματα που θα ενσωματώσατε σε μια πραγματική εφαρμογή ή βάση κώδικα και θα τα συζητήσετε.

Πρόσθετες συμβουλές και τρικ τσαντών

Έτσι πρέπει να προσεγγίσετε τη συνέντευξή σας και να αντιμετωπίσετε οποιαδήποτε πρόκληση που έχετε.

Εδώ είναι μερικά επιπλέον κόλπα που μερικές φορές μπορούν να χρησιμοποιηθούν για ελαφρά πλεονεκτήματα.

Κόλπο # 1: Μάθετε τα κοινά προβλήματα

Υπάρχουν μερικά κοινά προβλήματα που εμφανίζονται συχνά σε συνεντεύξεις (ειδικά στους πίνακες). Θα πρέπει να είστε εξοικειωμένοι με αυτά τα προβλήματα, επειδή είναι παρόμοια ερωτήματα που γνωρίζετε ότι πρόκειται να δοκιμαστούν.

Δύο από τα κύρια είναι το FizzBuzz και η επίλυση της ακολουθίας Fibonacci (βεβαιωθείτε ότι τα γνωρίζετε).

Τώρα μια λέξη προειδοποίησης: δεν θέλετε ποτέ να καταθέσετε μια απομνημονευμένη λύση σε μια συνέντευξη. Αυτό μπορεί να πάει άσχημα (και το έχω δει να συμβαίνει). Ωστόσο, θέλετε να εξοικειωθείτε με τη λύση και να μπορείτε να την αναδημιουργήσετε από το μηδέν.

Χρησιμοποιήστε λοιπόν τα βιβλία προετοιμασίας ερωτήσεων συνέντευξης, ναι, αλλά βεβαιωθείτε ότι έχετε κατανοήσει τη λύση, μπορείτε να την εξηγήσετε και να την δημιουργήσετε εκ νέου από το μηδέν. Μια απομνημονευμένη απάντηση δεν θα σας φέρει πουθενά εδώ.

Trick # 2: Συνήθως είναι εντάξει να δεις τα έγγραφα

Σε όλες τις συνεντεύξεις που έχω ή σε μέρος, κανείς δεν με νοιάζει αν ψάχνετε την τυπική βιβλιοθήκη ή τα πακέτα εγγράφων. Οι ερευνητές δεν είναι εντάξει μαζί σας αναζητώντας την απάντηση (οπότε θα αποφύγω το StackOverflow), αλλά η συμβουλή με τις αναφορές είναι συνήθως δίκαιο παιχνίδι. Σε περίπτωση αμφιβολίας, ανατρέξτε στην Συμβουλή # 1 και ζητήστε διευκρινίσεις.

Trick # 3: Παρακολουθήστε οπτικές ενδείξεις

Αυτή είναι πιθανώς η αγαπημένη μου συμβουλή / κόλπο. Δεν είναι το πιο χρήσιμο, αλλά είναι κάπως διασκεδαστικό. Μία από τις συνεντεύξεις μου έκανα εξ αποστάσεως, και χρησιμοποιούσαμε ένα πρόγραμμα κοινής χρήσης οθόνης και μπορούσα να δω το πρόσωπο του ερωτηθέντος πάνω δεξιά στην οθόνη μου.

Παρατήρησα από τη γωνία του ματιού μου καθώς κωδικοποιούσα ότι ο ερευνητής κούνησε το κεφάλι τους. Αχ χα! Λίγο οπτικό στοιχείο για να ξέρω ότι ήμουν στο σωστό δρόμο.

Και πάλι δεν είναι πολύ, αλλά θα μπορούσε να είναι χρήσιμο. :)

Trick # 4: Εάν είναι απομακρυσμένο, έχετε μια καλή εγκατάσταση

Μιλώντας για απομακρυσμένο, αν είστε απομακρυσμένοι προσπαθήστε να έχετε την καλύτερη ρύθμιση που μπορείτε. Αυτό σημαίνει ότι η κάμερα είναι ενεργοποιημένη (αν είναι δυνατή η εγκατάσταση όπου κοιτάζετε κατευθείαν), καλό ίντερνετ, υπολογιστής συνδεδεμένος με ρεύμα, ένα ήσυχο δωμάτιο, ένα ποτήρι νερό κοντά, κ.λπ.

Αυτά τα πράγματα δεν πρέπει να επηρεάζουν το αποτέλεσμα της συνέντευξής σας, αλλά δεν χρειάζεται να ενοχλείτε τον ερευνητή ή να κάνετε τον εαυτό σας επιπλέον άγχος από προβλήματα διαδικτύου ή θορύβου.

Κόλπο # 5: Να είστε ευπαρουσίαστοι!

Το τελευταίο μου κόλπο για σένα είναι να είσαι ευπαρουσίαστος.

Σε συνέντευξή σας, να είναι κάποιος που θα θέλατε να εργαστείτε. Δείξτε τους τον καλύτερο εαυτό σας.

Οι συνεντεύξεις μπορεί να είναι εκφοβιστικές και οι προγραμματιστές είναι γενικά πιο αθόρυβοι και πιο επιφυλακτικοί, αλλά πρέπει να δείξετε στα άτομα με τα οποία αλληλεπιδράτε, "Γεια, είμαι διασκεδαστικό και ωραίο άτομο για να συνεργαστείτε".

Δεν σας ζητώ να είστε κάποιος που δεν είστε. Αλλά δεν θέλετε να είστε, σύμφωνα με έναν από τους στενούς μου φίλους που παίρνει συνέντευξη από ανθρώπους όλη την ώρα, "θαλάσσιο πλάσμα".

Bonus Trick # 6: Κάνετε όλες τις άλλες προετοιμασίες συνέντευξης (αν θέλετε)

Εάν αισθάνεστε υποετοιμασμένοι ή αυτή είναι η πρώτη σας τεχνική συνέντευξη, κάντε κάποια προετοιμασία μέχρι να νιώσετε άνετα.

Διαβάστε βιβλία όπως Cracking the Coding Interview ή εξάσκηση αλγορίθμων και παζλ στο HackerRank.

Διαβάστε τις άλλες εξαιρετικές αναρτήσεις στις Ειδήσεις προγραμματιστών σχετικά με τη συνέντευξη.

Εάν παίρνετε συνέντευξη για έναν ρόλο στοίβας, ετοιμαστείτε να δημιουργήσετε ένα νέο έργο ή ένα δοκιμαστικό αρχείο με δοκιμαστική σουίτα από το μηδέν.

Ερευνήστε την εταιρεία, ετοιμαστείτε με υπέροχες ερωτήσεις σχετικά με την εταιρεία ή την καθημερινή εργασία κ.λπ. κ.λπ.

Στο τέλος: είναι απλώς μια συνέντευξη.

Στο τέλος, είναι αυτό που είναι.

Θα εκτελέσετε την απόδοσή σας.

Θα ερωτηθείτε από το άτομο στο οποίο θα λάβετε συνέντευξη.

Η διαδικασία συνέντευξής τους θα είναι η διαδικασία συνέντευξής τους.

Ίσως είχατε μια αργή μέρα - ίσως ο συνέντευξη είχε μια μέρα εκτός.

Στη συνέχεια, εάν αισθάνεστε αμηχανία, νικήστε ή οτιδήποτε άλλο - πάρτε μια βαθιά ανάσα και αφήστε την να φύγει! Μην αφήσετε τον εγκέφαλό σας σαύρα να σας ζυγίσει. Μια κακή συνέντευξη δεν είναι το τέλος του κόσμου. Η καριέρα σας δεν καταστρέφεται, η φήμη σας δεν καταστρέφεται και η ζωή σας δεν καταστρέφεται.

Είναι απλώς μια συνέντευξη. Μάθετε από αυτό, προσαρμόστε και γίνετε καλύτεροι την επόμενη φορά.

Είναι εντάξει να είσαι νευρικός

Οι περισσότεροι άνθρωποι (συμπεριλαμβανομένου και εγώ) νιώθουν νευρικότητα πριν από πράγματα όπως συνεντεύξεις, συνομιλίες ή παρουσιάσεις.

Συνήθιζα να σκέφτομαι τη νευρικότητα ως κακό πράγμα - πράγμα που δεν ήθελα. Και ανεξάρτητα από το πόσες φορές είπα στον εαυτό μου "μην είσαι νευρικός" - μαντέψτε τι: αυτό με έκανε πιο νευρικό!

Έχω μάθει να ξανασκεφτώ πώς βλέπω τα νεύρα. Η νευρικότητα είναι το σώμα μου να προετοιμάζεται για έναν αγώνα - αυτή η πρωταρχική μάχη ή η απόκριση της πτήσης.

Αλλά όπως είπαμε προηγουμένως: αυτή είναι απλώς μια συνέντευξη. Δεν υπάρχει τίγρη που μου γλιστρά στο δωμάτιο της συνέντευξης. Αυτή η αρχική απόκριση δεν είναι απαραίτητη.

Άρχισα να εκπαιδεύω τον εαυτό μου για να βλέπω τη νευρικότητα ως καλό πράγμα. Αυτό σημαίνει ότι το σώμα και η αίσθηση μου αυξάνονται, ώστε να μπορώ να προσφέρω την καλύτερη απόδοση που μπορώ να συγκεντρώσω.

Έτσι, αγκαλιάστε τα νεύρα. Απλώς σας προετοιμάζουν για να αποδώσετε τα καλύτερα.

Η συνέντευξη είναι δεξιότητα

Στο τέλος, η συνέντευξη είναι μια δεξιότητα. Χρειάζονται μερικές σπουδές και πολλή πρακτική για να μάθεις.

Γι 'αυτό μην χτυπήσετε τον εαυτό σας αν δεν εκτελέσετε τον τρόπο που θα ελπίζατε. Συνεχίστε να μαθαίνετε και συνεχίστε να ασκείστε - θα φτάσετε εκεί!

Εάν έχετε οποιεσδήποτε ερωτήσεις ή σχόλια, μη διστάσετε να επικοινωνήσετε μαζί μου στο Twitter και αν θέλετε περισσότερες πληροφορίες σχετικά με τον τρόπο προετοιμασίας για μια καριέρα ανάπτυξης, γράφω τέτοια πράγματα στο blog μου.

Ευχαριστώ για την ανάγνωση!

Γιάννης