|
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. |