|
Récemment, j’ai interviewé plusieurs entreprises une après l’autre, et j’ai enregistré quelques questions importantes, me poussant à étudier et à m’améliorer, tout en espérant apporter un peu d’aide à mes amis. Il y a beaucoup de contenu, petit à petit, un apprentissage étape par étape. Certains sont interrogés en entretien, d’autres sont des exigences de recrutement, et certains sont ajoutés séparément.
1. Connaissances liées à MySQL 1. Méthode d’optimisation MySQL Méthodes courantes d’optimisation MYSQL Schéma d’optimisation des performances MySQL
2. Comment diviser la base de données et les tables Référence : http://blog.sina.com.cn/s/blog_6e322ce70100zs9a.html http://www.jb51.net/article/29771.htm 3. Comment faire un standby à chaud double machine et un équilibrage de charge dans Mysql+
http://www.dewen.org/q/51/Mysql+如何做双机热备和负载均衡
4. Quels sont les types de tables de données ? MyISAM, InnoDB, HEAP, BOB, ARCHIVE, CSV, etc Mon ISAM : Mature, stable, facile à gérer, rapide à lire. Certaines fonctionnalités ne sont pas prises en charge (transactions, etc.), les verrous au niveau de la table. InnoDB : Prend en charge les transactions, les clés étrangères et les serrures de lignes. Il prend beaucoup de place et ne supporte pas l’indexation en texte intégral. Caractéristiques clés des moteurs myisam et Innodb : Quelle est la différence entre le moteur de stockage MySQL MyISAM et InnoDB ? 5. Méthode d’injection anti-SQL mysql_escape_string(strip_tags($arr[« $val»]) ; 6. Comment résoudre le problème d’efficacité des requêtes en tableaux croisés après que mysql ait divisé une grande table en plusieurs tables [php] voir la copie simple Voir les tranches de code dérivées de mes tranches de code sur CODE /** * Nom de la fonction : post_check() * Fonction fonction : Traite les modifications soumises * Paramètre : $post : Le contenu à soumettre * Valeur de retour : $post : Retourne le contenu filtré */ fonction post_check($post){ if( !get_magic_quotes_gpc()){// Déterminer si le magic_quotes_gpc est ouvert $post = barrières obliquées ($post) ; Effectuez magic_quotes_gpc filtrage des données soumises sans ouvrir } $post = str_replace(« _ »,"\_ », $post) ; Filtrez '_' $post = str_replace(« % »,"\ % », $post) ; Filtrez le ' %' $post = nl2br($post) ; Entrée en scène de conversion $post = htmlspecialchars($post) ; Conversion de balisage HTML retour $post ; } 7. Application de l’index Quand envisager l’indexation Quelles situations ne conviennent pas à l’indexation Comment juger si une affirmation utilise un indice Scénarios fréquents où les indices ne sont pas utilisés : Comme « % ..... » Conversion implicite des types de données ou des mots-clés plus d’autres conditions Index intégral du texte : Ne peut être utilisé que pour les tables MYIsAM, créées sur des colonnes de type CHAR, VARCHAR, TEXT.
8. Comment optimiser MySQL pour de grandes tables (des dizaines de millions) ? Référence http://www.zhihu.com/question/19719997 9. Problème de requête lente de mysql En fait, c’est une méthode relativement simple d’analyser à travers des journaux de requêtes lents ; si vous ne voulez pas voir les journaux, vous pouvez utiliser des outils pour les compléter. Comme mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter, etc., on a l’impression qu’il faut beaucoup d’expérience pour en analyser un, et c’est une perte de temps. 10. Concernant les avantages et inconvénients de l’état de connexion utilisateur session de connexion, cookie, base de données ou http://www.dewen.org/q/11504/ Concernant le statut de connexion de l’utilisateur, les avantages et inconvénients du cookie, de la base de données ou de la memcache de session %2C. 11. Les cas extrêmes sont traités lors des transactions 12. SQL langue est divisée en 4 catégories, veuillez la lister DDL — CRÉER, LÂCHER, MODIFIER DML—INSÉRER, METTRE À JOUR, SUPPRIMER DQL-SELECT DCL-- ACCORDER, RÉVOQUER, ENGAGER, ANNULER
2. PHP bases Session Plusieurs façons et différences entre la connexion PHP aux bases de données MySQL mySQL : orienté processus mysqli : orienté objet EDO : Haute portabilité Veuillez consulter : PHP Basic Series : Trois API utilisées par PHP pour se connecter aux bases de données MySQL 3. PHP Avancé Utilisation des connexions longues et courtes Douille Problèmes de sécurité des paiements Orienté objet Trois caractéristiques majeures : encapsulation, hérédité et polymorphisme (réécriture de méthode). Classe abstraite : abstraite, au moins une méthode est une méthode abstraite qui ne peut pas être instanciée, définissant une interface commune pour la sous-classe. Interface : interface, résoudre le problème d’héritage unique de PHP, toutes les méthodes sont des méthodes abstraites d’accès public, vous ne pouvez pas déclarer de variables, seulement des constantes. Hériter d’une classe tout en implémentant plusieurs interfaces la classe A étend B implémente l’interface 1, l’interface 2..., l’interface n() { Implémenter les méthodes dans toutes les interfaces } Analyse des causes des différences de performance entre les architectures de sites web LAMP et LNMP Analyse de performance des langages interprétés et compilés, par exemple. 4. Régularité Correspondance par email, HTML, JS, etc. 5. Fondation de développement Définitions de processus et de threads, distinctions et connexions. L’état du processus : courir, prêt, attendre 6. Base de données NoSQL Connexions différenciées Memcached, Redis, Mongodb 3 scènes, des choses complètement différentes. 1.memcache : Si une seule valeur de clé est mise en cache en mémoire, il n’y a pas de substitut à la mise en cache distribuée des objets ; 2. redis : Il s’agit d’un ensemble d’algorithmes et de structures de données, le fonctionnement rapide des structures de données étant sa plus grande caractéristique, supportant la persistance des données ; 3. MongoDB est une structure BSON, entre RDB et NoSQL, qui est plus souple et plus flexible, mais ne prend pas en charge les transactions et n’est utilisée que comme un stockage de données non important. Puis-je me référer à MongoDB ou Redis comme alternative à memcached ? 7. Commandes Linux couramment utilisées Par exemple, les liens souples 8. Liés à l’architecture Un test de résistance avant que le projet ne soit lancé, le nombre de concurrents supportés par un seul serveur, et le nombre de PV. Allocation raisonnable des ressources serveur CPU :Apache Dans un environnement à forte charge, trop de lectures et d’écritures d’entrées disque prendront certainement beaucoup de ressources, et le processeur prendra inévitablement trop de CPU. Mémoire : Banque de mémoire, logiciel de base de données
Disque dur : fichiers Sélection de l’architecture Web2.0 MongoDB+Redis ou MySQL+Memcached est une meilleure combinaison, et NOSQL est utilisé pour la logique simple L’architecture principale du site web est actuellement populaire LAMPE、LNMP、LLMP Il existe désormais aussi une architecture LNAMP sur le réseau, c’est-à-dire qu’elle combine les avantages de nginx et Apache, utilisant Apache pour charger PHP, nginx est responsable de l’analyse des autres requêtes web, et utilise le module de réécriture de nginx, mais le port Apache n’est pas ouvert au public, et de nombreux modules Apache peuvent réduire les ressources sans chargement. |