Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 11174|Atsakyti: 1

php vyresnysis programuotojas architektas interviu klausimai

[Kopijuoti nuorodą]
Paskelbta 2016-12-23 09:10:09 | | |


Neseniai vieną po kitos apklausiau kelias įmones ir įrašiau keletą svarbių klausimų, ragindamas save mokytis ir tobulėti, o tuo pačiu tikėdamasis padėti savo draugams.
Yra daug turinio, po truputį, žingsnis po žingsnio mokymosi.
Kai kurie klausiami interviu, kai kurie yra įdarbinimo reikalavimai, o kai kurie pridedami patys.

1. Su MySQL susijusios žinios
    1. MySQL optimizavimo metodas
            MYSQL optimizavimas: įprasti metodai
            MySQL našumo optimizavimo schema
  
    2. Kaip padalinti duomenų bazę ir lenteles
           Nuoroda:
   http://blog.sina.com.cn/s/blog_6e322ce70100zs9a.html
           http://www.jb51.net/article/29771.htm

   3. Kaip atlikti dviejų mašinų karšto budėjimo režimą ir apkrovos balansavimą MySQL +
http://www.dewen.org/q/51/Mysql+如何做双机热备和负载均衡
   
   4. Kokie yra duomenų lentelių tipai?
       MyISAM, InnoDB, HEAP, BOB, ARCHYVAS, CSV ir kt
       MyISAM: brandus, stabilus, lengvai valdomas, greitai skaitomas. Kai kurios funkcijos nepalaikomos (operacijos ir kt.), lentelės lygio užraktai.
       InnoDB: palaiko operacijas, išorinius raktus ir eilučių užraktus. Jis užima daug vietos ir nepalaiko viso teksto indeksavimo.

       Pagrindinės myisam ir Innodb variklių savybės:
       Kuo skiriasi MySQL saugojimo variklis MyISAM ir InnoDB?

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

   6. Kaip išspręsti kryžminių lentelių užklausų efektyvumo problemą po to, kai mysql padalija didelę lentelę į kelias lenteles

[PHP] Peržiūrėti paprastą kopiją
Peržiūrėti kodo dalis, gautas iš mano kodo pjūvių CODE

    /**
    * Funkcijos pavadinimas: post_check()  
    * Funkcija funkcija: apdoroja pateiktus pakeitimus  
    * Parametras: $post: turinys, kurį reikia pateikti  
    * Grąžinama reikšmė: $post: Grąžina filtruotą turinį  
    */  
    funkcija post_check($post){  
    if(!get_magic_quotes_gpc()){// Nustatykite, ar magic_quotes_gpc atidaryta   
    $post = addslashes($post); Atlikite magic_quotes_gpc pateiktų duomenų filtravimą neatidarę   
    }  
    $post = str_replace("_","\_", $post); Filtruoti '_'  
    $post = str_replace("%","\%", $post); Filtruoti '%'  
    $post = nl2br($post); Įvesti konversiją   
    $post = htmlspecialchars($post); HTML žymėjimo konvertavimas   
    grąžinti $post;  
    }  

   7. Indekso taikymas
         Kada apsvarstyti indeksavimą
         Kokios situacijos netinka indeksavimui
         Kaip įvertinti, ar pareiškime naudojamas indeksas
        Dažni scenarijai, kai indeksai nenaudojami:
                pvz., "%....."
                Numanomas duomenų tipų konvertavimas
                arba raktinius žodžius ir kitas sąlygas
       Viso teksto rodyklė:
                Galima naudoti tik MYIsAM lentelėse, sukurtose CHAR, VARCHAR, TEXT tipo stulpeliuose.
      

   8. Kaip optimizuoti mysql didelėms lentelėms (dešimtims milijonų)?
        Nuoroda http://www.zhihu.com/question/19719997

   9. Lėta užklausos problema mysql
  Tiesą sakant, tai gana paprastas būdas analizuoti lėtus užklausų žurnalus, jei nenorite matyti žurnalų, galite naudoti įrankius, kad juos užbaigtumėte.

Tokie kaip mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter ir kt., atrodo, kad norint jį išanalizuoti reikia daug patirties ir laiko švaistymo.

10. Dėl vartotojo prisijungimo būsenos sesijos, slapukų, duomenų bazės ar memcache http://www.dewen.org/q/11504/ privalumų ir trūkumų

Kalbant apie vartotojo prisijungimo būseną, sesijos%2Ccookie, duomenų bazės ar memcache privalumai ir trūkumai

  11. Kraštutiniai atvejai tvarkomi sandoriuose
  12. SQL kalba yra suskirstyta į 4 kategorijas, prašome išvardyti
        DDL - KURTI, NUMESTI, KEISTI
        DML - ĮTERPTI, ATNAUJINTI, IŠTRINTI
        DQL-SELECT
        DCL - SUTEIKTI, ATŠAUKTI, ĮSIPAREIGOTI, ATŠAUKTI
        

2. PHP pagrindai

      sesija

        Keli būdai ir skirtumai tarp PHP prisijungimo prie MySQL duomenų bazių
    mysql: orientuotas į procesą
    mysqli: orientuotas į objektus
    SKVN: didelis nešiojamumas
    Prašome kreiptis: PHP Basic Series: Trys API, kurias PHP naudoja prisijungti prie MySQL duomenų bazių

3. PHP Išplėstinė

    Ilgų ir trumpų jungčių naudojimas

    lizdas

    Mokėjimų saugumo klausimai

    Orientuotas į objektus
    Trys pagrindinės savybės: inkapsuliavimas, paveldėjimas ir polimorfizmas (metodo perrašymas).
    Abstrakti klasė: abstraktus, bent vienas metodas yra abstraktus metodas, kurio negalima sukurti, apibrėžiantis bendrą poklasio sąsają.
    Sąsaja: sąsaja, išspręsti vieną paveldėjimo problemą PHP, visi metodai yra abstraktūs metodai viešosios prieigos, jūs negalite deklaruoti kintamųjų, tik konstantos.
    Klasės paveldėjimas diegiant kelias sąsajas
    A klasė išplečia B įgyvendina sąsają 1, sąsaja 2..., sąsaja n() {
          Įdiegti metodus visose sąsajose
    }
    LAMP ir LNMP svetainių architektūrų našumo skirtumų priežasčių analizė
    Interpretuojamų ir sudarytų kalbų veiklos analizė, pavyzdžiai.

4. Reguliarumas

      El. paštas, HTML, JS ir kt. atitikimas

5. Plėtros pagrindas

          Procesų ir gijų apibrėžimai, skirtumai ir ryšiai.
           Proceso būsena: paleisti, pasiruošti, palaukti

6. Nosql duomenų bazė
       Memcached, redis, mongodb diferencijuotos jungtys
       3 scenos visiškai skirtingi dalykai. 1.memcached: Jei atmintyje saugoma viena rakto reikšmė, objekto talpyklos paskirstytosios talpyklos nepakeičia; 2. redis: Tai algoritmų ir duomenų struktūrų rinkinys, greitas duomenų struktūros veikimas yra didžiausia jo savybė, palaikanti duomenų patvarumą; 3. MongoDB yra BSON struktūra tarp RDB ir NoSQL, kuri yra laisvesnė ir lankstesnė, tačiau nepalaiko operacijų ir naudojama tik kaip nesvarbi duomenų saugykla.
     Ar galiu remtis MongoDB arba redis kaip alternatyva memcached?

7. Dažniausiai naudojamos Linux komandos
      Pavyzdžiui, minkštosios nuorodos

8. Su architektūra susijusi

           Testavimas nepalankiausiomis sąlygomis prieš pradedant vykdyti projektą, vieno serverio palaikomų lygiagrečių skaičių ir fotovoltinių įrenginių skaičių.

           Pagrįstas serverio išteklių paskirstymas

             Procesorius: Apache
                   Didelės apkrovos aplinkoje per daug disko IO skaitymo ir rašymo tikrai užims daug išteklių, o procesorius neišvengiamai užims per daug procesoriaus.
             Atmintis: atminties bankas, duomenų bazės programinė įranga
               
             Kietasis diskas: failai

           Web2.0 architektūros pasirinkimas

              MongoDB+Redis arba MySQL+Memcached yra geresnis derinys, o NOSQL naudojamas paprastai logikai

           Pagrindinė svetainės architektūra šiuo metu yra populiari
    LEMPA、LNMP、LLMP
    Dabar tinkle taip pat yra LNAMP architektūra, tai yra, ji sujungia nginx ir Apache pranašumus, naudodama "Apache" PHP įkelti, nginx yra atsakinga už kitų žiniatinklio užklausų analizę ir naudoja nginx perrašymo modulį, tačiau "Apache" prievadas nėra atviras visuomenei, o daugelis "Apache" modulių gali sumažinti išteklius neįkeldami.





Ankstesnis:"Windows PowerShell", kad surastumėte užpuoliko IP adresą
Kitą:C# nustato QR kodo vietą ekrane
Paskelbta 2016-12-23 21:53:52 |
Tu viską sudaužai.
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com