|
Ostatnio przeprowadzałem rozmowy kwalifikacyjne z kilkoma firmami jedna po drugiej, nagrywając ważne pytania, zachęcając się do nauki i doskonalenia, a jednocześnie mając nadzieję, że pomogę przyjaciołom. Jest dużo materiału, stopniowo, krok po kroku. Niektóre są zadawane podczas rozmów kwalifikacyjnych, inne to wymagania rekrutacyjne, a niektóre są dodawane samodzielnie.
1. Wiedza związana z MySQL 1. Metoda optymalizacji MySQL Popularne metody optymalizacji MYSQL Schemat optymalizacji wydajności MySQL
2. Jak podzielić bazę danych i tabele Źródło: http://blog.sina.com.cn/s/blog_6e322ce70100zs9a.html http://www.jb51.net/article/29771.htm 3. Jak uruchomić gorący tryb czuwania i równoważenie obciążenia na dwóch maszynach w Mysql+
http://www.dewen.org/q/51/Mysql+如何做双机热备和负载均衡
4. Jakie są rodzaje tabel danych? MyISAM, InnoDB, HEAP, BOB, ARCHIVE, CSV itd MyISAM: Dojrzałe, stabilne, łatwe w zarządzaniu, szybkie w czytaniu. Niektóre funkcje nie są obsługiwane (transakcje itp.), blokady na poziomie tabeli. InnoDB: Obsługuje transakcje, klucze obce i blokady wierszowe. Zajmuje dużo miejsca i nie obsługuje indeksowania pełnego tekstu. Kluczowe cechy silników myisam i Innodb: Jaka jest różnica między silnikiem pamięci MySQL, MyISAM, a InnoDB? 5. Metoda wstrzykiwania antySQL mysql_escape_string(strip_tags($arr["$val"]); 6. Jak rozwiązać problem efektywności zapytań międzytabelowych po tym, jak mysql podzieli dużą tabelę na wiele tabel [php] Zobacz zwykłą kopię Zobacz fragmenty kodu pochodzące z moich fragmentów kodu na CODE /** * Nazwa funkcji: post_check() * Funkcja funkcjonalna: Przetwarza zgłoszone edycje * Parametr: $post: Treść do zgłoszenia * Wartość zwrotu: $post: Zwraca filtrowaną zawartość */ funkcja post_check($post){ if(!get_magic_quotes_gpc()){// Określ, czy magic_quotes_gpc jest otwarte $post = ukośniki($post); Przeprowadz magic_quotes_gpc filtrowanie przesłanych danych bez otwierania } $post = str_replace("_","\_", $post); Filtruj '_' $post = str_replace("%","\%", $post); Filtruj '%' $post = nl2br($post); Wejście w konwersję $post = htmlspecialchars($post); Konwersja znaczników HTML powrót $post; } 7. Zastosowanie indeksu Kiedy rozważyć indeksowanie Jakie sytuacje nie są odpowiednie do indeksowania Jak ocenić, czy dane zdanie korzysta z indeksu Częste scenariusze, w których indeksy nie są używane: Coś jak '%.....' Niejawna konwersja typów danych lub słowa kluczowe plus inne warunki Pełny indeks tekstu: Można go używać tylko dla tabel MYIsAM, tworzonych na kolumnach typu CHAR, VARCHAR, TEXT.
8. Jak zoptymalizować mysql dla dużych tabel (dziesiątki milionów)? Odniesienie http://www.zhihu.com/question/19719997 9. Problem wolnego zapytania mysql W rzeczywistości jest to stosunkowo prosty sposób analizy przez powolne dzienniki zapytań – jeśli nie chcesz ich widzieć, możesz użyć narzędzi do ich wypełnienia. Takie jak mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter itd., wydają się potrzebne dużo doświadczenia, żeby przeanalizować taką platformę, a to strata czasu. 10. W odniesieniu do zalet i wad sesji statusu logowania użytkownika, plików cookie, bazy danych lub pamięci podręcznej http://www.dewen.org/q/11504/ Jeśli chodzi o status logowania użytkownika, zalety i wady session%2Ccookie, bazy danych lub pamięci podręcznej 11. W transakcjach rozpatrywane są ekstremalne przypadki 12. SQL język podzielony jest na 4 kategorie, proszę je wymieniać DDL--CREATE, DROP, ALTER DML--INSERT,UPDATE,DELETE DELETE DQL-SELECT DCL--PRZYZNANIE, ODWOŁANIE, ZOBOWIĄZANIE, COFNIĘCIE
2. PHP podstawy Sesja Kilka sposobów i różnic między PHP a bazami danych MySQL MySQL: Zorientowany na procesy mysqli: obiektowo zorientowane PDO: Wysoka mobilność Proszę odwołać się: PHP Basic Series: Three APIs Used by PHP to connect with MySQL Databases 3. PHP Zaawansowany Zastosowanie długich i krótkich połączeń Gniazdo Problemy z bezpieczeństwem płatności Obiektowe Trzy główne cechy: enkapsulacja, dziedziczenie i polimorfizm (przepisywanie metody). Klasa abstrakcyjna: abstrakcyjna, przynajmniej jedna metoda to metoda abstrakcyjna, której nie da się zinstancjonować, definiująca wspólny interfejs dla podklasy. Interfejs: interfejs, rozwiązuj problem pojedynczego dziedziczenia w PHP, wszystkie metody są abstrakcyjnymi metodami dostępu publicznego, nie możesz deklarować zmiennych, tylko stałych. Dziedziczenie klasy podczas implementacji wielu interfejsów klasa A rozszerza B implementuje interfejs 1, interfejs 2..., interfejs n() { Implementuj metody we wszystkich interfejsach } Analiza przyczyn różnic w wydajności między architekturą stron internetowych LAMP i LNMP Analiza wydajności języków interpretowanych i skompilowanych, przykłady. 4. Regularność E-mail, HTML, JS itd. Dopasowanie 5. Fundacja rozwojowa Definicje, rozróżnienia i połączenia procesów i wątków. Stan procesu: biegnij, gotowy, czekaj 6. Baza danych Nosql Memcached, redis, mongodb połączenia różniczkowane 3 sceny to zupełnie inne rzeczy. 1.memcached: Jeśli pojedyncza wartość klucza jest przechowywana w pamięci, nie ma zamiennika dla pamięć podręcznej rozproszonej; 2. REDIS: To zbiór algorytmów i struktur danych, szybka obsługa struktur danych jest jego największą cechą, wspierającą trwałość danych; 3. MongoDB to struktura BSON, pomiędzy RDB a NoSQL, która jest luźniejsza i bardziej elasyczna, ale nie obsługuje transakcji i jest używana jedynie jako nieistotny magazyn danych. Czy mogę odnosić się do MongoDB lub redis jako alternatywy dla memcached? 7. Powszechnie używane polecenia Linuksa Na przykład miękkie linki 8. Architektura Test obciążeniowy przed uruchomieniem projektu, liczba współbieżności obsługiwana przez jeden serwer oraz liczba punktów fotowoltacyjnych. Rozsądny przydział zasobów serwera CPU: Apache W środowisku o dużym obciążeniu zbyt wiele odczytów i zapisów IO na dysku zdecydowanie pochłonie dużo zasobów, a procesor nieuchronnie zużywa zbyt dużo CPU. Pamięć: bank pamięci, oprogramowanie bazodanowe
Dysk twardy: Pliki Wybór architektury Web2.0 MongoDB+Redis lub MySQL+Memcached to lepsza kombinacja, a NOSQL służy do prostej logiki Główna architektura strony internetowej jest obecnie popularna LAMP、LNMP、LLMP Obecnie w sieci istnieje także architektura LNAMP, która łączy zalety nginx i Apache, używając Apache do ładowania PHP, nginx odpowiada za analizę innych żądań webowych i korzysta z modułu przepisywania nginx, ale port Apache nie jest otwarty dla publiczności, a wiele modułów Apache może ograniczać zasoby bez ładowania. |