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

Άποψη: 11174|Απάντηση: 1

php Ανώτερος Προγραμματιστής Αρχιτέκτονας Ερωτήσεις Συνέντευξης

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 23/12/2016 9:10:09 π.μ. | | |


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

1. Γνώσεις σχετικά με τη MySQL
    1. Μέθοδος βελτιστοποίησης MySQL
            Κοινές μέθοδοι βελτιστοποίησης MYSQL
            Σχήμα βελτιστοποίησης απόδοσης MySQL
  
    2. Πώς να διαιρέσετε τη βάση δεδομένων και τους πίνακες
           Αναφορά:
   http://blog.sina.com.cn/s/blog_6e322ce70100zs9a.html
           http://www.jb51.net/article/29771.htm

   3. Πώς να κάνετε θερμή αναμονή διπλής μηχανής και εξισορρόπηση φορτίου στη Mysql+
http://www.dewen.org/q/51/Mysql+如何做双机热备和负载均衡
   
   4. Ποιοι είναι οι τύποι πινάκων δεδομένων;
       MyISAM, InnoDB, HEAP, BOB, ΑΡΧΕΙΟ, CSV κ.λπ.
       MyISAM: Ώριμο, σταθερό, εύκολο στη διαχείριση, γρήγορο στην ανάγνωση. Ορισμένες λειτουργίες δεν υποστηρίζονται (συναλλαγές κ.λπ.), κλειδώματα σε επίπεδο πίνακα.
       InnoDB: Υποστηρίζει συναλλαγές, ξένα κλειδιά και κλειδώματα σειρών. Καταλαμβάνει πολύ χώρο και δεν υποστηρίζει ευρετηρίαση πλήρους κειμένου.

       Βασικά χαρακτηριστικά των κινητήρων myisam και InnoDB:
       Ποια είναι η διαφορά μεταξύ της μηχανής αποθήκευσης MyISAM της MySQL και του InnoDB;

   5. Μέθοδος έγχυσης Anti-SQL
      mysql_escape_string(strip_tags($arr["$val"]));

   6. Πώς να λύσετε το πρόβλημα αποτελεσματικότητας ερωτημάτων μεταξύ πινάκων αφού η mysql χωρίσει έναν μεγάλο πίνακα σε πολλούς πίνακες

[php] προβολή απλού αντιγράφου
Προβολή τμημάτων κώδικα που προέρχονται από τα τμήματα κώδικα στο CODE

    /**
    * Όνομα λειτουργίας: post_check()  
    * Λειτουργία συνάρτησης: Επεξεργάζεται τις υποβληθείσες επεξεργασίες  
    * Παράμετρος: $post: Το περιεχόμενο που θα υποβληθεί  
    * Τιμή επιστροφής: $post: Επιστρέφει φιλτραρισμένο περιεχόμενο  
    */  
    συνάρτηση post_check($post){  
    if(!get_magic_quotes_gpc()){// Προσδιορίστε εάν η magic_quotes_gpc είναι ανοιχτή   
    $post = addslashes($post); Εκτελέστε magic_quotes_gpc φιλτράρισμα των υποβληθέντων δεδομένων χωρίς άνοιγμα   
    }  
    $post = str_replace("_","\_", $post); Φιλτράρετε το '_'  
    $post = str_replace("%","\%", $post); Φιλτράρετε το '%'  
    $post = nl2br($post); Εισαγωγή μετατροπής   
    $post = htmlspecialchars($post); Μετατροπή σήμανσης HTML   
    επιστροφή $post?  
    }  

   7. Εφαρμογή ευρετηρίου
         Πότε να εξετάσετε το ενδεχόμενο ευρετηρίασης
         Ποιες καταστάσεις δεν είναι κατάλληλες για ευρετηρίαση
         Πώς να κρίνετε εάν μια δήλωση χρησιμοποιεί ευρετήριο
        Συχνά σενάρια όπου δεν χρησιμοποιούνται ευρετήρια:
                όπως «%.....»
                Έμμεση μετατροπή τύπων δεδομένων
                ή λέξεις-κλειδιά συν άλλες προϋποθέσεις
       Ευρετήριο πλήρους κειμένου:
                Μπορεί να χρησιμοποιηθεί μόνο για πίνακες MYIsAM, που δημιουργούνται σε στήλες τύπου CHAR, VARCHAR, TEXT.
      

   8. Πώς να βελτιστοποιήσετε τη mysql για μεγάλους πίνακες (δεκάδες εκατομμύρια);
        Αναφορά http://www.zhihu.com/question/19719997

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

Όπως mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter κ.λπ., αισθάνεστε ότι χρειάζεστε μεγάλη εμπειρία για να αναλύσετε ένα και χάσιμο χρόνου.

10. Σχετικά με τα πλεονεκτήματα και τα μειονεκτήματα της κατάστασης σύνδεσης χρήστη, του cookie, της βάσης δεδομένων ή του memcache http://www.dewen.org/q/11504/

Όσον αφορά την κατάσταση σύνδεσης του χρήστη, τα πλεονεκτήματα και τα μειονεκτήματα του session%2Ccookie, της βάσης δεδομένων ή του memcache

  11. Οι ακραίες περιπτώσεις αντιμετωπίζονται στις συναλλαγές
  12. SQL γλώσσα χωρίζεται σε 4 κατηγορίες, παρακαλείσθε να αναφέρετε
        DDL--ΔΗΜΙΟΥΡΓΊΑ,ΑΠΌΘΕΣΗ,ΑΛΛΑΓΉ
        DML--ΕΙΣΑΓΩΓΉ,ΕΝΗΜΈΡΩΣΗ,ΔΙΑΓΡΑΦΉ
        DQL-ΕΠΙΛΟΓΉ
        DCL--ΧΟΡΗΓΗΣΗ,ΑΝΑΚΛΗΣΗ,ΔΕΣΜΕΥΣΗ,ΑΝΑΤΡΟΠΗ
        

2. PHP βασικά στοιχεία

      συνεδρία

        Διάφοροι τρόποι και διαφορές μεταξύ της σύνδεσης PHP σε βάσεις δεδομένων MySQL
    MySQL: προσανατολισμένη στη διαδικασία
    MySQLI: αντικειμενοστραφής
    PDO: Υψηλή φορητότητα
    Ανατρέξτε στο: Βασική σειρά PHP: Τρία API που χρησιμοποιούνται από την PHP για σύνδεση σε βάσεις δεδομένων MySQL

3. PHP Για προχωρημένους

    Χρήση μακρών και σύντομων συνδέσεων

    πρίζα

    Ζητήματα ασφάλειας πληρωμών

    Αντικειμενοστραφής
    Τρία κύρια χαρακτηριστικά: ενθυλάκωση, κληρονομικότητα και πολυμορφισμός (επανεγγραφή μεθόδου).
    Αφηρημένη κλάση: αφηρημένη, τουλάχιστον μία μέθοδος είναι μια αφηρημένη μέθοδος που δεν μπορεί να δημιουργηθεί, ορίζοντας μια κοινή διεπαφή για την υποκλάση.
    Διεπαφή: διεπαφή, λύστε το πρόβλημα μεμονωμένης κληρονομικότητας της PHP, όλες οι μέθοδοι είναι αφηρημένες μέθοδοι δημόσιας πρόσβασης, δεν μπορείτε να δηλώσετε μεταβλητές, μόνο σταθερές.
    Κληρονομήστε μια κλάση κατά την υλοποίηση πολλαπλών διεπαφών
    Η κλάση Α επεκτείνει το Β υλοποιεί τη διεπαφή 1, τη διεπαφή 2..., τη διεπαφή n() {
          Εφαρμογή μεθόδων σε όλες τις διεπαφές
    }
    Ανάλυση των αιτιών των διαφορών στην απόδοση μεταξύ των αρχιτεκτονικών ιστοσελίδων LAMP και LNMP
    Ανάλυση απόδοσης ερμηνευμένων και μεταγλωττισμένων γλωσσών, παραδείγματα.

4. Κανονικότητα

      Αντιστοίχιση email, HTML, JS κ.λπ.

5. Αναπτυξιακό ίδρυμα

          Ορισμοί, διακρίσεις και συνδέσεις διεργασιών και νημάτων.
           Η κατάσταση της διαδικασίας: τρέξτε, έτοιμοι, περιμένετε

6. Βάση δεδομένων Nosql
       Memcached, redis, mongodb διαφοροποιημένες συνδέσεις
       3 σκηνές εντελώς διαφορετικά πράγματα. 1.memcached: Εάν μια μεμονωμένη τιμή κλειδιού είναι αποθηκευμένη προσωρινά στη μνήμη, δεν υπάρχει υποκατάστατο για την προσωρινή αποθήκευση αντικειμένων στην κατανεμημένη κρυφή μνήμη. 2. redis: Είναι μια συλλογή αλγορίθμων και δομών δεδομένων, η γρήγορη λειτουργία της δομής δεδομένων είναι το μεγαλύτερο χαρακτηριστικό της, υποστηρίζοντας την επιμονή των δεδομένων. 3. Το MongoDB είναι μια δομή BSON, μεταξύ RDB και NoSQL, η οποία είναι πιο χαλαρή και πιο ευέλικτη, αλλά δεν υποστηρίζει συναλλαγές και χρησιμοποιείται μόνο ως μη σημαντικός χώρος αποθήκευσης δεδομένων.
     Μπορώ να αναφερθώ στο MongoDB ή στο redis ως εναλλακτική λύση στο memcached;

7. Εντολές Linux που χρησιμοποιούνται συνήθως
      Για παράδειγμα, soft links

8. Σχετικά με την αρχιτεκτονική

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

           Λογική κατανομή πόρων διακομιστή

             ΕΠΕΞΕΡΓΑΣΤΗΣ:Apache
                   Σε περιβάλλον υψηλού φορτίου, πάρα πολλές αναγνώσεις και εγγραφές IO δίσκου θα καταλαμβάνουν σίγουρα πολλούς πόρους και η CPU αναπόφευκτα θα καταλαμβάνει πάρα πολύ CPU.
             Μνήμη: Τράπεζα μνήμης, λογισμικό βάσης δεδομένων
               
             Σκληρός Δίσκος: Αρχεία

           Επιλογή αρχιτεκτονικής Web2.0

              Το MongoDB+Redis ή το MySQL+Memcached είναι καλύτερος συνδυασμός και το NOSQL χρησιμοποιείται για απλή λογική

           Η κύρια αρχιτεκτονική του ιστότοπου είναι αυτή τη στιγμή δημοφιλής
    ΛΆΜΠΑ、LNMP、LLMP
    Τώρα υπάρχει επίσης μια αρχιτεκτονική LNAMP στο δίκτυο, δηλαδή συνδυάζει τα πλεονεκτήματα του nginx και του Apache, χρησιμοποιώντας το Apache για τη φόρτωση της PHP, το nginx είναι υπεύθυνο για την ανάλυση άλλων αιτημάτων ιστού και χρησιμοποιεί τη μονάδα επανεγγραφής του nginx, αλλά η θύρα Apache δεν είναι ανοιχτή στο κοινό και πολλές ενότητες του Apache μπορούν να μειώσουν τους πόρους χωρίς φόρτωση.





Προηγούμενος:Windows PowerShell για να βρείτε την IP του εισβολέα
Επόμενος:Η C# προσδιορίζει τη θέση του κωδικού QR στην οθόνη
Δημοσιεύτηκε στις 23/12/2016 9:53:52 μ.μ. |
Τα σπάς όλα.
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com