Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 11174|Odpowiedź: 1

Pytania do rozmowy kwalifikacyjnej na stanowisko starszego programisty architekta w php

[Skopiuj link]
Opublikowano 23.12.2016 09:10:09 | | |


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.





Poprzedni:Windows PowerShell do znalezienia adresu IP atakującego
Następny:C# wskazuje lokalizację kodu QR na ekranie
Opublikowano 23.12.2016 21:53:52 |
Wszystko rozbijasz.
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com