Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 11174|Odgovoriti: 1

PHP Vprašanja za intervju za starejšega programerja arhitekta

[Kopiraj povezavo]
Objavljeno na 23. 12. 2016 09:10:09 | | |


Nedavno sem intervjuval več podjetij eno za drugim in posnel nekaj pomembnih vprašanj, se spodbujal k učenju in izboljšanju ter hkrati upal, da bom pomagal prijateljem.
Vsebine je veliko, počasi, korak za korakom.
Nekateri so povabljeni na razgovorih, nekateri so zahtevni za zaposlovanje, nekateri pa so dodani sami.

1. Znanje, povezano z MySQL
    1. Metoda optimizacije MySQL
            Pogoste metode optimizacije MYSQL
            Shema optimizacije zmogljivosti MySQL
  
    2. Kako razdeliti bazo podatkov in tabele
           Referenca:
   http://blog.sina.com.cn/s/blog_6e322ce70100zs9a.html
           http://www.jb51.net/article/29771.htm

   3. Kako vzpostaviti vročo pripravljenost z dvema napravama in uravnoteženje obremenitve v Mysql+
http://www.dewen.org/q/51/Mysql+如何做双机热备和负载均衡
   
   4. Kakšne so vrste podatkovnih tabel?
       MyISAM, InnoDB, HEAP, BOB, ARCHIVE, CSV itd
       MyISAM: Zrel, stabilen, enostaven za upravljanje, hitro berljiv. Nekatere funkcije niso podprte (transakcije itd.), zaklepanje na ravni tabel.
       InnoDB: Podpira transakcije, tuje ključe in zaklepanje vrstic. Zavzame veliko prostora in ne podpira indeksiranja celotnega besedila.

       Ključne značilnosti motorjev myisam in Innodb:
       Kakšna je razlika med MySQL-ovim pogonom za shranjevanje MyISAM in InnoDB?

   5. Metoda anti-SQL injekcij
      mysql_escape_string(strip_tags($arr["$val"]);

   6. Kako rešiti problem učinkovitosti poizvedb med tabelami po tem, ko mysql razdeli veliko tabelo na več tabel

[php] ogled navadne kopije
Oglejte si rezine kode, izpeljane iz mojih rezov kode na CODE

    /**
    * Ime funkcije: post_check()  
    * Funkcijska funkcija: Obdela oddane spremembe  
    * Parameter: $post: Vsebina, ki jo je treba predložiti  
    * Vrednost vračila: $post: Vrne filtrirano vsebino  
    */  
    funkcija post_check($post){  
    if(!get_magic_quotes_gpc()){// Določi, ali je magic_quotes_gpc odprt   
    $post = dodatne poševnice($post); Izvedite magic_quotes_gpc filtriranje oddanih podatkov brez odpiranja   
    }  
    $post = str_replace ("_","\_", $post); Filtrirajte '_'  
    $post = str_replace ("%","\%", $post); Filtrirajte '%'  
    $post = nl2br($post); Vstop v preobrazbo   
    $post = htmlspecialchars($post); HTML pretvorba označevanja   
    vrnitev $post;  
    }  

   7. Uporaba indeksa
         Kdaj razmisliti o indeksiranju
         Katere situacije niso primerne za indeksiranje
         Kako presoditi, ali izjava uporablja indeks
        Pogosti scenariji, kjer indeksi niso uporabljeni:
                Kot '%.....'
                Implicitna pretvorba podatkovnih tipov
                ali ključne besede in druge pogoje
       Celotno besedilo kazala:
                Lahko se uporablja le za MYIsAM tabele, ustvarjene v stolpcih tipa CHAR, VARCHAR, TEXT.
      

   8. Kako optimizirati mysql za velike tabele (desetine milijonov)?
        Referenčni http://www.zhihu.com/question/19719997

   9. Problem počasnih poizvedb v mysql
  Pravzaprav je to razmeroma preprost način analize skozi počasne dnevnike poizvedb; če nočete videti dnevnikov, lahko uporabite orodja za dokončanje.

Na primer mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter itd., se zdi, da za analizo potrebuješ veliko izkušenj in izguba časa.

10. Glede prednosti in slabosti seje statusa prijave uporabnika, piškotkov, podatkovnih baz ali memcache http://www.dewen.org/q/11504/

Glede prijavnega statusa uporabnika, prednosti in slabosti session%2Ccookie, baze podatkov ali memcache

  11. Ekstremni primeri se obravnavajo v transakcijah
  12. SQL jezik je razdeljen v 4 kategorije, prosim, navedite
        DDL--USTVARI, SPUSTI, SPREMENI
        DML--INSERT,UPDATE,DELETE
        DQL-SELECT
        DCL--ODOBRITEV, PREKLIC, ZAVEZA, RAZVELJAVITEV
        

2. PHP osnove

      Seja

        Več načinov in razlik med povezovanjem PHP in MySQL bazami podatkov
    mysql: procesno usmerjen
    mysqli: objektno usmerjena
    PDO: Visoka prenosljivost
    Prosimo, glejte na: PHP Basic Series: Trije API-ji, ki jih PHP uporablja za povezavo z MySQL bazami podatkov

3. PHP Advanced

    Uporaba dolgih in kratkih povezav

    Podnožje

    Vprašanja varnosti plačil

    Objektno usmerjena
    Tri glavne značilnosti: kapsulacija, dedovanje in polimorfizem (prepisovanje metod).
    Abstraktni razred: abstrakten, vsaj ena metoda je abstraktna metoda, ki je ni mogoče instancirati, in določa skupni vmesnik za podrazred.
    Vmesnik: vmesnik, reši problem enojnega dedovanja v PHP-ju, vse metode so abstraktne metode javnega dostopa, ne moreš deklarirati spremenljivk, samo konstant.
    Dedovanje razreda ob implementaciji več vmesnikov
    razred A razširja B implementira vmesnik 1, vmesnik 2..., vmesnik n() {
          Implementirajte metode v vseh vmesnikih
    }
    Analiza vzrokov razlik v zmogljivosti med arhitekturama spletnih strani LAMP in LNMP
    Analiza zmogljivosti interpretiranih in prevedenih jezikov, primeri.

4. Rednost

      E-pošta, HTML, JS itd.

5. Razvojna fundacija

          Definicije, razlike in povezave procesov in niti.
           Stanje procesa: teči, pripravljen, počakaj

6. Nosql podatkovna baza
       Memcached, redis, mongodb diferencirane povezave
       3 prizori, popolnoma različne stvari. 1.memcached: Če je ena sama vrednost ključa shranjena v pomnilniku, ni nadomestila za predpomnjenje objektov v distribuiranem predpomnilniku; 2. redis: Gre za zbirko algoritmov in podatkovnih struktur, njegova največja značilnost je hitro delovanje podatkovnih struktur, ki podpira obstojnost podatkov; 3. MongoDB je BSON struktura, med RDB in NoSQL, ki je bolj ohlapna in prilagodljiva, vendar ne podpira transakcij in se uporablja le kot manj pomemben podatkovni prostor.
     Ali lahko kot alternativo memcachedu uporabim MongoDB ali redis?

7. Pogosto uporabljeni ukazi za Linux
      Na primer, mehke povezave

8. Povezano z arhitekturo

           Preizkus stresa pred začetkom projekta, število sočasnosti, ki jih podpira en strežnik, in število PV-jev.

           Razumna razporeditev strežniških virov

             CPU:Apache
                   V okolju z veliko obremenitvijo bo preveč branj in zapisovanja diskovnega vhodno-izhodnega sistema zagotovo porabilo veliko virov, procesor pa bo neizogibno porabil preveč procesorja.
             Pomnilnik: Pomnilniška banka, programska oprema za podatkovne baze
               
             Trdi disk: Datoteke

           Izbira arhitekture Web2.0

              MongoDB+Redis ali MySQL+Memcached je boljša kombinacija, NOSQL pa se uporablja za preprosto logiko

           Glavna arhitektura spletne strani je trenutno priljubljena
    LAMP、LNMP、LLMP
    Zdaj obstaja tudi LNAMP arhitektura v omrežju, ki združuje prednosti nginx in Apache, uporablja Apache za nalaganje PHP, nginx je odgovoren za analizo drugih spletnih zahtevkov in uporablja nginxov modul za prepisovanje, vendar Apache port ni odprt za javnost, mnogi moduli Apache pa lahko zmanjšajo vire brez nalaganja.





Prejšnji:Windows PowerShell za iskanje IP naslova napadalca
Naslednji:C# identificira lokacijo QR kode na zaslonu
Objavljeno na 23. 12. 2016 21:53:52 |
Vse razbiješ.
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com