|
Recentemente ho intervistato diverse aziende una dopo l'altra e ho registrato alcune domande importanti, spingendomi a studiare e migliorare, e allo stesso tempo sperando di dare un po' di aiuto ai miei amici. C'è molto contenuto, poco a poco, un apprendimento passo dopo passo. Alcuni vengono interrogati durante i colloqui, altri sono requisiti di reclutamento, e altri vengono aggiunti da soli.
1. Conoscenze relative a MySQL 1. Metodo di ottimizzazione MySQL Metodi comuni di ottimizzazione MYSQL Schema di ottimizzazione delle prestazioni MySQL
2. Come dividere il database e le tabelle Riferimento: http://blog.sina.com.cn/s/blog_6e322ce70100zs9a.html http://www.jb51.net/article/29771.htm 3. Come fare standby a doppio sistema e bilanciamento del carico in Mysql+
http://www.dewen.org/q/51/Mysql+如何做双机热备和负载均衡
4. Quali sono i tipi di tabelle dati? MyISAM, InnoDB, HEAP, BOB, ARCHIVE, CSV, ecc MyISAM: Maturo, stabile, facile da gestire, veloce da leggere. Alcune funzionalità non sono supportate (transazioni, ecc.), blocchi a livello di tabella. InnoDB: Supporta transazioni, chiavi estere e serrature a riga. Occupa molto spazio e non supporta l'indicizzazione del testo completo. Caratteristiche chiave dei motori myisam e Innodb: Qual è la differenza tra il motore di storage MySQL MyISAM e InnoDB? 5. Metodo di iniezione Anti-SQL mysql_escape_string(strip_tags($arr["$val"])); 6. Come risolvere il problema di efficienza delle query cross-table dopo che mysql ha suddiviso una tabella grande in più tabelle [php] visualizza copia semplice Visualizza code slice derivati dai miei code slice su CODE /** * Nome funzione: post_check() * Funzione funzione: Elabora le modifiche inviate * Parametro: $post: Il contenuto da inviare * Valore di ritorno: $post: restituisce contenuti filtrati */ funzione post_check($post){ if(!get_magic_quotes_gpc()){// Determina se il magic_quotes_gpc è aperto $post = barrate aggiuntive ($post); Esegui magic_quotes_gpc filtraggio dei dati inviati senza aprire } $post = str_replace("_","\_", $post); Filtra '_' $post = str_replace("%","\%", $post); Filtra '%' $post = nl2br($post); Entra in scena la conversione $post = htmlspecialchars($post); Conversione di markup HTML ritorno $post; } 7. Applicazione dell'indice Quando considerare l'indicizzazione Quali situazioni non sono adatte all'indicizzazione Come giudicare se una dichiarazione utilizza un indice Scenari frequenti in cui gli indici non vengono utilizzati: come '%.....' Conversione implicita dei tipi di dati o parole chiave più altre condizioni Indice del testo completo: Può essere usato solo per le tabelle MYIsAM, create su colonne di tipo CHAR, VARCHAR, TEXT.
8. Come ottimizzare MySQL per tabelle grandi (decine di milioni)? Riferimento http://www.zhihu.com/question/19719997 9. Problema di query lenta di mysql In effetti, è un modo relativamente semplice per analizzare attraverso log di query lenti; se non vuoi vedere i log, puoi usare strumenti per completarlo. Come mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter, ecc., sembra che serva molta esperienza per analizzarne uno e che sia una perdita di tempo. 10. Riguardo ai vantaggi e svantaggi dello stato di accesso dell'utente, sessione, cookie, database o memcache http://www.dewen.org/q/11504/ Per quanto riguarda lo stato di accesso dell'utente, i vantaggi e gli svantaggi di session%2Ccookie, database o memcache 11. I casi estremi vengono gestiti nelle transazioni 12. SQL lingua è suddivisa in 4 categorie, per favore elenca DDL—CREARE, ELIMINARE, MODIFICARE DML--INSERIRE, AGGIORNARE, CANCELLA DQL-SELECT DCL--CONCEDERE, REVOCARE, COMPROMETTERSI, ANNULLARE
2. PHP nozioni di base Sessione Diversi modi e differenze tra il collegamento PHP ai database MySQL MySQL: orientato ai processi mysqli: orientato agli oggetti PDO: Alta portabilità Si prega di fare riferimento: PHP Basic Series: Tre API utilizzate da PHP per connettersi ai database MySQL 3. PHP Avanzato Uso di connessioni lunghe e brevi Presa Problemi di sicurezza dei pagamenti Orientato agli oggetti Tre caratteristiche principali: incapsulamento, ereditarietà e polimorfismo (riscrittura dei metodi). Classe astratta: astratto, almeno un metodo è un metodo astratto che non può essere istanziato, definendo un'interfaccia comune per la sottoclasse. Interfaccia: interfaccia, risolvi il problema dell'ereditarietà singola di PHP, tutti i metodi sono metodi astratti di accesso pubblico, non puoi dichiarare variabili, solo costanti. Ereditare una classe mentre si implementano più interfacce la classe A estende B implementa interfaccia 1, interfaccia 2..., interfaccia n() { Implementare metodi in tutte le interfacce } Analisi delle cause delle differenze di prestazioni tra le architetture di siti web LAMP e LNMP Analisi delle prestazioni di linguaggi interpretati e compilati, esempi. 4. Regolarità Email, HTML, JS, ecc. corrispondenza 5. Fondamento per lo sviluppo Definizioni, distinzioni e connessioni di processi e thread. Lo stato del processo: corri, pronto, aspetta 6. Database Nosql Connessioni differenziate Memcached, Redis, Mongodb 3 scene completamente diverse. 1.memcached: Se un singolo valore chiave è memorizzato in memoria, non esiste un sostituto per la cache distribuita dell'oggetto in cache; 2. redis: è una raccolta di algoritmi e strutture dati, il funzionamento rapido delle strutture dati è la sua caratteristica principale, supportando la persistenza dei dati; 3. MongoDB è una struttura BSON, tra RDB e NoSQL, più ampia e flessibile, ma non supporta transazioni ed è utilizzata solo come archivio dati non importante. Posso riferirmi a MongoDB o redis come alternativa a memcached? 7. Comandi Linux comunemente usati Ad esempio, collegamenti morbidi 8. Legato all'architettura Test di stress prima che il progetto venga attivo, il numero di concorrenti supportate da un singolo server e il numero di PV. Allocazione ragionevole delle risorse server CPU:Apache In un ambiente ad alto carico, troppe letture e scritture di IO su disco richiederanno sicuramente molte risorse, e la CPU inevitabilmente occuperà troppa CPU. Memoria: Banca di memoria, software di database
Hard Disk: File Selezione dell'architettura Web2.0 MongoDB+Redis o MySQL+Memcached è una combinazione migliore, mentre NOSQL viene usato per la logica semplice L'architettura principale del sito web è attualmente molto popolare LAMPADA、LNMP、LLMP Ora esiste anche un'architettura LNAMP sulla rete, cioè combina i vantaggi di nginx e Apache, usando Apache per caricare PHP, nginx è responsabile dell'analisi di altre richieste web e utilizza il modulo di riscrittura di nginx, ma la porta Apache non è aperta al pubblico e molti moduli di Apache possono ridurre le risorse senza caricarsi. |