Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 11174|Yanıt: 1

php Kıdemli Programcı Mimar Mülakat Soruları

[Bağlantıyı kopyala]
Yayınlandı 23.12.2016 09:10:09 | | |


Son zamanlarda, birkaç şirketle birer ardına röportaj yaptım ve bazı önemli soruları kaydettim, kendimi çalışmaya ve gelişmeye teşvik ettim, aynı zamanda arkadaşlarıma biraz yardım etmeyi umdum.
Birçok içerik var, yavaş yavaş, adım adım öğrenme.
Bazıları mülakatlarda sorulur, bazıları işe alım gereksinimleri, bazıları ise kendi başına eklenir.

1. MySQL ile ilgili bilgi
    1. MySQL optimizasyon yöntemi
            MYSQL optimizasyon yaygın yöntemleri
            MySQL performans optimizasyon şeması
  
    2. Veritabanı ve tablolar nasıl bölünür
           Kaynak:
   http://blog.sina.com.cn/s/blog_6e322ce70100zs9a.html
           http://www.jb51.net/article/29771.htm

   3. Mysql+ ile çift makineli sıcak bekleme ve yük dengeleme nasıl yapılır
http://www.dewen.org/q/51/Mysql+如何做双机热备和负载均衡
   
   4. Veri tablolarının türleri nelerdir?
       MyISAM, InnoDB, HEAP, BOB, ARCHIVE, CSV vb
       MyISAM: Olgun, istikrarlı, yönetilmesi kolay, hızlı okunuyor. Bazı özellikler desteklenmez (işlemler vb.), tablo seviyesinde kilitler.
       InnoDB: İşlemleri, yabancı anahtarları ve sıra kilitlerini destekler. Çok yer kaplıyor ve tam metin indekslemeyi desteklemiyor.

       Myisam ve Innodb motorlarının temel özellikleri:
       MySQL'in depolama motoru MyISAM ile InnoDB arasındaki fark nedir?

   5. Anti-SQL enjeksiyon yöntemi
      mysql_escape_string(strip_tags($arr["$val"]));

   6. Mysql büyük bir tabloyu birden fazla tabloya böldükten sonra çapraz tablo sorgu verimliliği problemi nasıl çözülür

[php] düz kopyayı görüntüleyin
CODE'da kendi kod dilimlerimden türetilen kod dilimlerini görüntüleyin

    /**
    * Fonksiyon Adı: post_check()  
    * Fonksiyon fonksiyonu: Gönderilen düzenlemeleri işler  
    * Parametre: $post: Gönderilecek içerik  
    * Geri Değeri: $post: Filtrelenmiş içerik döndürer  
    */  
    function post_check($post){  
    if(!get_magic_quotes_gpc()){// magic_quotes_gpc açık olup olmadığını belirleyin   
    $post = eğiz çizgisi ($post); Açılmadan gönderilen verilerin magic_quotes_gpc filtrelenmesini gerçekleştirin   
    }  
    $post = str_replace("_","\_", $post); '_' harfini filtreleyin  
    $post = str_replace("%","\%", $post); '%' filtresi  
    $post = nl2br($post); Dönüşüme giriş   
    $post = htmlspecialchars($post); HTML işaretleme dönüşümü   
    $post dön;  
    }  

   7. Indeks uygulaması
         Indeksleme ne zaman düşünülmelidir
         Hangi durumlar indeksleme için uygun değildir
         Bir ifadenin bir indeks kullanıp kullanmadığı nasıl değerlendirilir
        Endekslerin kullanılmadığı sıkça karşılaşılan durumlar:
                Mesela '%.....'
                Veri türlerinin örtük dönüşümü
                veya anahtar kelimeler ve diğer koşullar
       Tam Metin İndeksini:
                Yalnızca CHAR, VARCHAR, TEXT tipindeki sütunlar üzerinde oluşturulan MYIsAM tabloları için kullanılabilir.
      

   8. Büyük tablolar (on milyonlarca) için mysql nasıl optimize edilir?
        Referans http://www.zhihu.com/question/19719997

   9. MySQL'in yavaş sorgulama problemi
  Aslında, yavaş sorgu günlüklerini analiz etmek için nispeten basit bir yol; günlükleri görmek istemiyorsanız, tamamlamak için araçlar kullanabilirsiniz.

Mesela mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter gibi şeyler, birini analiz etmek için çok fazla deneyime ihtiyacınız olduğunu ve bunun zaman kaybı olduğunu düşünüyorsunuz.

10. Kullanıcı giriş durumu oturumu, çerez, veritabanı veya memcache http://www.dewen.org/q/11504/

Kullanıcının giriş durumu, session%2Ccookie, veritabanı veya memcache'in avantaj ve dezavantajları ile ilgili

  11. Aşırı vakalar işlemlerde ele alınır
  12. SQL dil 4 kategoriye ayrılır, lütfen listeleyin
        DDL--YARAT, BIRAK, ALTER
        DML--EKLE,GÜNCELLEME,SIL
        DQL-SELECT
        DCL--VER, IPTAL ET, YAP, GERI AL, GERI AL
        

2. PHP temel bilgiler

      Oturum

        PHP'nin MySQL veritabanlarına bağlanmasının birkaç yolu ve farkı
    mysql: süreç odaklı
    mysqli: nesne yönelimli
    PDO: Yüksek taşınabilirlik
    Lütfen şu adrese bakınız: PHP Basic Serisi: PHP tarafından MySQL Veritabanlarına Bağlanmak İçin Kullanılan Üç API

3. PHP Gelişmiş

    Uzun ve kısa bağlantıların kullanımı

    soket

    Ödeme güvenliği sorunları

    Nesne yönelimli
    Üç ana özellik: kapsülleme, kalıtım ve polimorfizm (metod yeniden yazma).
    Soyut sınıf: özet, en az bir yöntem örneklenemeyen soyut bir yöntemdir ve alt sınıf için ortak bir arayüz tanımlar.
    Arayüz: arayüz, PHP'nin tek kalıtım problemini çöz, tüm yöntemler kamuya açık erişimin soyut yöntemleridir, değişkenleri ilan edemezsiniz, sadece sabitleri ilan edebilirsiniz.
    Birden fazla arayüz uygularken bir sınıfı devralmak
    sınıf A, B arayüzünü genişletir, arayüz 2..., arayüz n() {
          Tüm arayüzlerde yöntemler uygulanır
    }
    LAMP ve LNMP web sitesi mimarileri arasındaki performans farklılıklarının nedenlerinin analizi
    Yorumlanan ve derlenen dillerin performans analizi, örnekler.

4. Düzenlilik

      E-posta, html, js vb. eşleştirme

5. Kalkınma temeli

          Süreç ve iplik tanımları, ayrımlar ve bağlantılar.
           Sürecin durumu: koş, hazır, bekle

6. Nosql veritabanı
       Memcached, redis, mongodb farklılaştırılmış bağlantılar
       3 sahne tamamen farklı şeyler. 1.memcached: Eğer bir anahtar değeri bellekte önbelleklenirse, nesne önbellekleme dağıtılmış önbelleğinin yerine bir alternatif yoktur; 2. redis: Algoritmalar ve veri yapılarının bir koleksiyonudur, hızlı veri yapısı operasyonu en büyük özelliğidir ve veri kalıcılığını destekler; 3. MongoDB, RDB ile NoSQL arasında olan bir BSON yapısıdır; daha gevşek ve esnektir, ancak işlemleri desteklemez ve sadece önemli olmayan bir veri deposu olarak kullanılır.
     Memcached'e alternatif olarak MongoDB veya Redis'i referans alabilir miyim?

7. Yaygın kullanılan Linux komutları
      Örneğin, yumuşak bağlantılar

8. Mimari ile ilgili

           Proje yayına girmeden önce stres testi, tek bir sunucunun desteklediği eşzamanlılık sayısı ve PV sayısı.

           Sunucu kaynaklarının makul tahsisi

             CPU:Apache
                   Yüksek yüklü bir ortamda, çok fazla disk IO okuma ve yazma kesinlikle çok fazla kaynak kaplar ve CPU kaçınılmaz olarak çok fazla CPU kullanır.
             Bellek: Bellek bankası, veritabanı yazılımı
               
             Sabit Disk: Dosyalar

           web2.0 mimari seçimi

              MongoDB+Redis veya MySQL+Memcached daha iyi bir kombinasyondur ve basit mantık için NOSQL kullanılır

           Ana web sitesi mimarisi şu anda popülerdir
    LAMP、LNMP、LLMP
    Şimdi ağda ayrıca bir LNAMP mimarisi var; yani nginx ve Apache'nin avantajlarını birleştiriyor; PHP yüklemek için Apache kullanıyor, nginx diğer web isteklerini ayrıştırmaktan sorumlu ve nginx'in yeniden yazma modülünü kullanıyor, ancak Apache portu halka açık değildir ve birçok Apache modülü yüklemeden kaynakları azaltabilir.





Önceki:Saldırganın IP adresini bulmak için Windows PowerShell
Önümüzdeki:C#, ekrandaki QR kodunun konumunu belirler
Yayınlandı 23.12.2016 21:53:52 |
Her şeyi mahvettin.
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com