Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 11174|Vastaus: 1

php Vanhempi ohjelmoija Arkkitehdin haastattelukysymykset

[Kopioi linkki]
Julkaistu 23.12.2016 9.10.09 | | |


Äskettäin haastattelin useita yrityksiä peräkkäin ja kirjasin ylös tärkeitä kysymyksiä, kannustaen itseäni opiskelemaan ja parantamaan itseäni, samalla toivoen voivani auttaa ystäviäni.
Sisältöä on paljon, pikkuhiljaa, askel askeleelta oppimista.
Jotkut kysytään haastatteluissa, osa on rekrytointivaatimuksia ja osa lisätään itsenäisesti.

1. MySQL-aiheinen tieto
    1. MySQL-optimointimenetelmä
            MYSQL:n optimointimenetelmät yleisimmät menetelmät
            MySQL:n suorituskyvyn optimointimenetelmä
  
    2. Kuinka jakaa tietokanta ja taulukot
           Lähde:
   http://blog.sina.com.cn/s/blog_6e322ce70100zs9a.html
           http://www.jb51.net/article/29771.htm

   3. Kuinka tehdä kaksikoneinen kuumavaratila ja kuormantasaus Mysql+:ssa
http://www.dewen.org/q/51/Mysql+如何做双机热备和负载均衡
   
   4. Mitkä ovat tietotaulukoiden tyypit?
       MyISAM, InnoDB, HEAP, BOB, ARCHIVE, CSV jne
       MyISAM: Kypsä, vakaa, helppo hallita, nopea lukea. Jotkin ominaisuudet eivät ole tuettuja (transaktioita jne.), taulukkotason lukituksia.
       InnoDB: Tukee tapahtumia, ulkomaisia avaimia ja rivilukkoja. Se vie paljon tilaa eikä tue kokotekstiindeksointia.

       Myisam- ja Innodb-moottoreiden keskeiset ominaisuudet:
       Mikä on ero MySQL:n tallennusmoottorin MyISAMin ja InnoDB:n välillä?

   5. Anti-SQL-injektiomenetelmä
      mysql_escape_string(strip_tags($arr["$val"]));

   6. Kuinka ratkaista ristiintaulukon kyselyjen tehokkuusongelma sen jälkeen, kun mysql jakaa suuren taulukon useisiin tauluihin

[php] katso pelkkä kopio
Näytä koodiviipaleet, jotka johdetaan koodiviipaleistani, CODE:ssa

    /**
    * Toiminnon nimi: post_check()  
    * Funktiofunktio: Käsittelee lähetetyt muokkaukset  
    * Parametri: $post: Lähetettävä sisältö  
    * Palautusarvo: $post: Palauttaa suodatetun sisällön  
    */  
    funktio post_check($post){  
    if(!get_magic_quotes_gpc()){// Määritä, onko magic_quotes_gpc avoin   
    $post = lisäkulmat ($post); Suorita magic_quotes_gpc suodatus lähetetyille datalle avaamatta   
    }  
    $post = str_replace("_","\_", $post); Suodata '_' pois  
    $post = str_replace("%","\%", $post); Suodata '%' pois  
    $post = nl2br($post); Siirtyminen muunnokseen   
    $post = htmlspecialchars($post); HTML-merkintämuunnos   
    palaa $post;  
    }  

   7. Indeksisovellus
         Milloin indeksointia kannattaa harkita
         Mitkä tilanteet eivät sovellu indeksointiin
         Kuinka arvioida, käyttääkö lause indeksiä
        Yleisiä tilanteita, joissa indeksejä ei käytetä:
                Kuten '%.....'
                Tietotyyppien implisiittinen muunnos
                tai avainsanoja sekä muita ehtoja
       Koko tekstihakemisto:
                Voidaan käyttää vain MYIsAM-taulukoissa, jotka on luotu sarakkeille tyypissä CHAR, VARCHAR, TEXT.
      

   8. Kuinka optimoida mysql suurille taulukoille (kymmeniä miljoonia)?
        Viite http://www.zhihu.com/question/19719997

   9. MySQL:n hidas kyselyongelma
  Itse asiassa se on suhteellisen yksinkertainen tapa analysoida hitaiden kyselylokien avulla; jos et halua nähdä lokeja, voit käyttää työkaluja niiden täyttämiseen.

Kuten mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter jne., tuntuu siltä, että yhden analysointiin tarvitaan paljon kokemusta, ja se on ajan hukkaa.

10. Käyttäjän kirjautumistilaistunnon eduista ja haitoista, evästeistä, tietokannoista tai memcache-http://www.dewen.org/q/11504/

Käyttäjän kirjautumistilan osalta session%2Ccookien, tietokannan tai memcachen edut ja haitat.

  11. Äärimmäiset tapaukset käsitellään transaktioissa
  12. SQL kieli on jaettu neljään kategoriaan, listaa ne
        DDL--LUO, PUDOTA, MUUTA
        DML--LISÄÄ, PÄIVITÄ, POISTA
        DQL-SELECT
        DCL--MYÖNNÄ, PERUUTA, SITOU, PERUUTA, PERUUTA
        

2. PHP perusteet

      Istunto

        Useita tapoja ja eroja PHP:n yhdistämisessä MySQL-tietokantoihin
    mysql: prosessikeskeinen
    mysqli: olio-suuntautunut
    PDO: Korkea kannettavuus
    Lisätietoja: PHP Basic Series: Three APIs Used by PHP to connect to MySQL Databases

3. PHP Edistynyt

    Pitkien ja lyhyiden yhteyksien käyttö

    Socket

    Maksuturvallisuusongelmat

    Olio-orientoitu
    Kolme pääominaisuutta: kapselointi, periytyminen ja polymorfismi (menetelmän uudelleenkirjoitus).
    Abstrakti luokka: abstrakti vähintään yksi metodi on abstrakti menetelmä, jota ei voi instanssoida, mikä määrittelee yhteisen rajapinnan alaluokalle.
    Rajapinta: rajapinta, ratkaise PHP:n yksiperiytymisongelma, kaikki metodit ovat abstrakteja julkisen pääsyn menetelmiä, et voi ilmoittaa muuttujia, vain vakioita.
    Peri luokka toteuttamalla useita rajapintoja
    luokka A laajentaa B:n toteuttaa rajapinnan 1, rajapinnan 2..., rajapinnan n() {
          Toteuta metodit kaikissa rajapinnoissa
    }
    Analyysi suorituskykyerojen syistä LAMP- ja LNMP-verkkosivustoarkkitehtuurien välillä
    Tulkattujen ja käännettyjen kielten suorituskyvyn analyysi, esimerkkejä.

4. Säännöllisyys

      sähköpostin, html:n, js:n jne. yhdistäminen

5. Kehitysperusta

          Prosessien ja säikeiden määritelmät, erottelut ja yhteydet.
           Prosessin tila: juokse, valmiina, odota

6. NoSQL-tietokanta
       Memcached, redis, mongodb eriytyneet yhteydet
       3 kohtausta ovat täysin erilaisia asioita. 1.memcached: Jos yksi avainarvo on muistissa, objektivälimuistille hajautetun välimuistin korvaajaa ei ole; 2. redis: Se on kokoelma algoritmeja ja tietorakenteita, ja nopea tietorakenteen operaatio on sen suurin ominaisuus, joka tukee datan pysyvyyttä; 3. MongoDB on BSON-rakenne, joka sijaitsee RDB:n ja NoSQL:n välillä, ja se on löysempi ja joustavampi, mutta se ei tue transaktioita ja toimii vain ei-tärkeänä tietovarastona.
     Voinko viitata MongoDB:hen tai Redisiin vaihtoehtona memcachedille?

7. Yleisesti käytetyt Linux-komennot
      Esimerkiksi pehmeät linkit

8. Arkkitehtuuriin liittyvä

           Stressitestaus ennen projektin käynnistymistä, yhden palvelimen tukemien samanaikaisten lukumäärä ja PV:iden määrä.

           Palvelinresurssien kohtuullinen allokointi

             CPU:Apache
                   Korkean kuormituksen ympäristössä liian moni levyn IO-luku ja kirjoitus vie varmasti paljon resursseja, ja prosessori vie väistämättä liikaa prosessoria.
             Muisti: Muistipankki, tietokantaohjelmisto
               
             Kovalevy: Tiedostot

           Web2.0-arkkitehtuurin valinta

              MongoDB+Redis tai MySQL+Memcached on parempi yhdistelmä, ja NOSQL:ää käytetään yksinkertaiseen logiikkaan

           Pääsivuston arkkitehtuuri on tällä hetkellä suosittu
    LAMP、LNMP、LLMP
    Nyt verkossa on myös LNAMP-arkkitehtuuri, eli se yhdistää nginxin ja Apachen edut: käyttää Apachea PHP:n lataamiseen, nginx vastaa muiden verkkopyyntöjen jäsentämisestä ja käyttää nginxin uudelleenkirjoitusmoduulia, mutta Apache-portti ei ole avoin yleisölle, ja monet Apache-moduulit voivat vähentää resursseja ilman latausta.





Edellinen:Windows PowerShell hyökkääjän IP-osoitteen löytämiseen
Seuraava:C# tunnistaa QR-koodin sijainnin näytöllä
Julkaistu 23.12.2016 21.53.52 |
Rikot kaiken.
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com