Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 11174|Jawab: 1

Pertanyaan Wawancara Arsitek Programmer Senior php

[Salin tautan]
Diposting pada 23/12/2016 09.10.09 | | |


Baru-baru ini, saya mewawancarai beberapa perusahaan satu demi satu, dan saya mencatat beberapa pertanyaan penting, mendesak diri saya untuk belajar dan meningkatkan, dan pada saat yang sama berharap dapat memberikan bantuan kepada teman-teman saya.
Ada banyak konten, sedikit demi sedikit, pembelajaran langkah demi langkah.
Ada yang ditanya dalam wawancara, ada yang persyaratan rekrutmen, dan ada yang ditambahkan sendiri.

1. Pengetahuan terkait MySQL
    1. Metode optimasi MySQL
            Metode umum pengoptimalan MYSQL
            Skema pengoptimalan kinerja MySQL
  
    2. Cara membagi database dan tabel
           Referensi:
   http://blog.sina.com.cn/s/blog_6e322ce70100zs9a.html
           http://www.jb51.net/article/29771.htm

   3. Cara melakukan hot standby dan penyeimbangan beban mesin ganda di Mysql +
http://www.dewen.org/q/51/Mysql+如何做双机热备和负载均衡
   
   4. Apa saja jenis-jenis tabel data?
       MyISAM, InnoDB, HEAP, BOB, ARSIP, CSV, dll
       MyISAM: Matang, stabil, mudah dikelola, cepat dibaca. Beberapa fitur tidak didukung (transaksi, dll.), kunci tingkat tabel.
       InnoDB: Mendukung transaksi, kunci asing, dan kunci baris. Ini memakan banyak ruang dan tidak mendukung pengindeksan teks lengkap.

       Fitur utama dari mesin myisam dan Innodb:
       Apa perbedaan antara mesin penyimpanan MySQL MyISAM dan InnoDB?

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

   6. Cara memecahkan masalah efisiensi kueri lintas tabel setelah mysql membagi tabel besar menjadi beberapa tabel

[php] Lihat salinan biasa
Melihat irisan kode yang berasal dari irisan kode saya di KODE

    /**
    * Nama Fungsi: post_check()  
    * Fungsi fungsi: Memproses suntingan yang dikirimkan  
    * Parameter: $post: Konten yang akan dikirimkan  
    * Nilai Pengembalian: $post: Mengembalikan konten yang difilter  
    */  
    fungsi post_check($post){  
    if(!get_magic_quotes_gpc()){// Menentukan apakah magic_quotes_gpc terbuka   
    $post = addslashes($post); Lakukan pemfilteran magic_quotes_gpc data yang dikirimkan tanpa membuka   
    }  
    $post = str_replace("_","\_", $post); Filter '_'  
    $post = str_replace("%","\%", $post); Filter '%'  
    $post = NL2BR($post); Masukkan konversi   
    $post = htmlspecialchars($post); Konversi markup HTML   
    kembali $post;  
    }  

   7. Aplikasi indeks
         Kapan harus mempertimbangkan pengindeksan
         Situasi apa yang tidak cocok untuk pengindeksan
         Cara menilai apakah pernyataan menggunakan indeks
        Skenario yang sering terjadi di mana indeks tidak digunakan:
                seperti '%.....'
                Konversi implisit tipe data
                atau kata kunci ditambah kondisi lainnya
       Indeks Teks Lengkap:
                Hanya dapat digunakan untuk tabel MYIsAM, dibuat pada kolom jenis CHAR, VARCHAR, TEXT.
      

   8. Bagaimana cara mengoptimalkan mysql untuk tabel besar (puluhan juta)?
        Referensi http://www.zhihu.com/question/19719997

   9. Masalah kueri lambat mysql
  Faktanya, ini adalah cara yang relatif sederhana untuk menganalisis melalui log kueri yang lambat, jika Anda tidak ingin melihat log, Anda dapat menggunakan alat untuk menyelesaikannya.

Seperti mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter, dll., Rasanya Anda membutuhkan banyak pengalaman untuk menganalisisnya, dan membuang-buang waktu.

10. Mengenai kelebihan dan kekurangan sesi status login pengguna, cookie, database atau memcache http://www.dewen.org/q/11504/

Mengenai status login pengguna, kelebihan dan kekurangan session%2Ccookie, database, atau memcache

  11. Kasus ekstrem ditangani dalam transaksi
  12. SQL bahasa dibagi menjadi 4 kategori, silakan cantumkan
        DDL - BUAT, JATUHKAN, UBAH
        DML - SISIPKAN, PERBARUI, HAPUS
        DQL-PILIH
        DCL - HIBAH, CABUT, KOMITMEN, MUNDUR
        

2. PHP dasar-dasar

      sesi

        Beberapa cara dan perbedaan PHP terhubung ke database MySQL
    MySQL: Berorientasi pada proses
    MySQLLI: Berorientasi Objek
    PDO: Portabilitas tinggi
    Silakan lihat: Seri Dasar PHP: Tiga API yang Digunakan oleh PHP untuk Terhubung ke Database MySQL

3. PHP Lanjutan

    Penggunaan koneksi panjang dan pendek

    soket

    Masalah keamanan pembayaran

    Berorientasi objek
    Tiga karakteristik utama: enkapsulasi, pewarisan, dan polimorfisme (penulisan ulang metode).
    Kelas abstrak: abstrak, setidaknya satu metode adalah metode abstrak yang tidak dapat dibuat, mendefinisikan antarmuka umum untuk subkelas.
    Antarmuka: antarmuka, selesaikan masalah pewarisan tunggal PHP, semua metode adalah metode abstrak akses publik, Anda tidak dapat mendeklarasikan variabel, hanya konstanta.
    Mewarisi kelas saat mengimplementasikan beberapa antarmuka
    kelas A memperluas B mengimplementasikan antarmuka 1, antarmuka 2..., antarmuka n() {
          Menerapkan metode di semua antarmuka
    }
    Analisis penyebab perbedaan kinerja antara arsitektur situs web LAMP dan LNMP
    Analisis kinerja bahasa yang ditafsirkan dan dikompilasi, contoh.

4. Keteraturan

      Pencocokan email, html, js, dll.

5. Fondasi pengembangan

          Definisi proses dan utas, perbedaan, dan koneksi.
           Status proses: jalankan, siap, tunggu

6. Basis data Nosql
       Koneksi yang dibedakan memcached, redis, mongodb
       3 adegan hal yang sama sekali berbeda. 1.memcached: Jika satu nilai kunci di-cache dalam memori, tidak ada pengganti cache terdistribusi penembolokan objek; 2. redis: Ini adalah kumpulan algoritma dan struktur data, operasi struktur data yang cepat adalah fitur terbesarnya, mendukung persistensi data; 3. MongoDB adalah struktur BSON, antara RDB dan NoSQL, yang lebih longgar dan lebih fleksibel, tetapi tidak mendukung transaksi dan hanya digunakan sebagai penyimpanan data yang tidak penting.
     Bisakah saya merujuk ke MongoDB atau redis sebagai alternatif untuk memcached?

7. Perintah Linux yang umum digunakan
      Misalnya, soft link

8. Terkait arsitektur

           Uji stres sebelum proyek ditayangkan, jumlah konkurensi yang didukung oleh satu server, dan jumlah PV.

           Alokasi sumber daya server yang wajar

             CPU: Apache
                   Dalam lingkungan beban tinggi, terlalu banyak pembacaan dan penulisan IO disk pasti akan menghabiskan banyak sumber daya, dan CPU pasti akan memakan terlalu banyak CPU.
             Memori: Bank memori, perangkat lunak basis data
               
             Hard Drive: File

           Pemilihan arsitektur Web2.0

              MongoDB+Redis atau MySQL+Memcached adalah kombinasi yang lebih baik, dan NOSQL digunakan untuk logika sederhana

           Arsitektur situs web utama saat ini populer
    LAMPU、LNMP、LLMP
    Sekarang ada juga arsitektur LNAMP di jaringan, yaitu menggabungkan keunggulan nginx dan Apache, menggunakan Apache untuk memuat PHP, nginx bertanggung jawab untuk mengurai permintaan web lainnya, dan menggunakan modul penulisan ulang nginx, tetapi port Apache tidak terbuka untuk umum, dan banyak modul Apache dapat mengurangi sumber daya tanpa memuat.





Mantan:Windows PowerShell untuk menemukan IP penyerang
Depan:C# mengidentifikasi lokasi kode QR di layar
Diposting pada 23/12/2016 21.53.52 |
Anda menghancurkan segalanya.
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com