it-swarm.dev

Python röportaj soruları

Ben iki hafta içinde Python programlama içeren bir staj için röportaj yapacağım.

Herkes hangi olası cilalamalarını önerebilir? Python açılışlar için röportajlarda sıkça sorulan şeyleri arıyorum. Bir yıldan fazla bir süredir dili zaten yaptığım dışında, bana ne sorabileceklerini algılayamıyorum.

Bir C veya C++ röportajında ​​olduğu gibi, dizelerin tersine çevrilmesinden bağlantılı listelerin oluşturulmasına kadar birçok soru var, ancak Python röportaj için clueless).

Kişisel deneyimler ve/veya öneriler memnuniyetle karşılanmaktadır.

25
Andy

İşte bazı kolay olanlar:

  1. Python dekoratörler nedir ve bunları nasıl kullanırsınız?
  2. Python kodunuzda nasıl hata ayıkladınız?
  3. Her birinin Python ve üçüncü taraf kütüphanelerinin farklı sürümlerini kullandığı birçok projeyi nasıl kurarsınız?
  4. Kodunuzu yazarken PEP8'i takip ediyor musunuz?
8
Thierry Lam

Python listeyi anlama içeren bir şeye ne dersiniz? Bana göre, bunlar Python'a dalın .

Msgstr "1'den 10'a (dahil) çift sayıların bir listesini oluşturan bir liste anlama yazın".
Cevabın böyle bir şey olduğu durumlarda ( aralık değerlerinin bir çit direği hatasını önlediğini unutmayın):

foo = [x for x in range(1, 11) if (x % 2) == 0]
print foo
[2, 4, 6, 8, 10]

Bu nedenle, Dalışa Python'da listelenen tüm kavramları anlarsanız, bu önemli özelliklerin çoğunu kapsamalıdır.

7
Cyclops

Python referans ile geçiş veya değere göre geçiş de çok iyi bir soru.

6
ismail

Bana sorulan sorular:

  • Python'da iki meta programlama yöntemini açıklayın.
  • GIL nedir?
  • GIL neden önemlidir?
  • Neden Python denilen Yüksüz Yutmak alternatif bir uygulaması var?
  • Django, Dikmesi veya Zope? Pozisyonunuzu koruyun.
6
Scant Roger

Böyle bir deneyimim yok, ama işte bazı tahminler:

  1. (Im) değişebilirlik
  2. Birinci sınıf fonksiyonlar/sınıflar
  3. Kapaklar

Bu python programcının bilmesi gereken bazı şeylerdir, aksi takdirde pozisyon için C programcısı kiralayabilirsiniz.

5
Kugel

Ben liste boyunca bu cevap gitmek istiyorum. Bu listeyi takip ederek bildiklerinizi olabildiğince yenilemeye çalışın. Eğer sonuna kadar yapamazsan endişelenme.

3
Benjamin Bannier

Diğer bağlantıların yanı sıra insanlar sağladı. Ben de tavsiye ederim Python Gizli Özellikleri . Sana bazı zor sorular atmaları durumunda.

2
grokus

Senin hissin ne, Python'u tanıyıp tanımadığını, Python'da bir şeyler yapıp yapamayacağını görmeye mi, yoksa (Python'da) programlayıp programlayamayacağına mı bakacaklar?

Bunlar çok farklı şeyler.

Python'u bildiğinizi göstermenizi istiyorlarsa, sizi bir jeneratör oluşturmak gibi şeyler yapmaya zorlayabilirler, daha sonra yield kullanmadan yapabilirler. Sınıfların nasıl çalıştığını açıklar. C3 yöntemi çözünürlük sırasını açıklar. Ve bunun gibi.

Python'da işlerinizi yapabileceğinizi göstermelerini istiyorlarsa, temel veri yapılarıyla yetkin olmanız ve farklı görevler için gideceğiniz kütüphanelerin bir listesine sahip olmanız gerekir. Bu yüzden sözlükler, setler, dizilerle rahat olmanız gerekir. Benzer şekilde, HTML'yi ayrıştırmak için BeautifulSoup gibi şeyleri bilmeniz, web geliştirme için kullanılabilecek bir çerçeve hakkında konuşabilmeniz vb. Bunların iyi nasıl kullanılacağını bilmeniz gerekmez, ancak nereye gideceğinizi, daha fazlasını nasıl bulacağınızı ve görüşmeci size belgelenen şeyleri verdikten sonra bunları gerçekten kullanabileceğinizi bilmelisiniz.

Programlayabileceğinizi göstermenizi istiyorlarsa (Python'da), temel veri yapılarını bilmeniz ve algoritmalarınızı bilmeniz gerekir. Bu, size soracağınız C/C++ sorularına çok daha yakındır, ancak hayatınızı kolaylaştırdığı yerel veri yapılarını kullanmanız beklenir.

Güvende olmak için üçüne de bir dereceye kadar hazırlık yapmalısınız. Örneğin http://docs.python.org/tutorial/ adresini okuyun ve kendinize bazı notlar yazın. Umarım nasıl programlayacağınızı zaten biliyorsunuzdur. Ve sonra bazı rastgele görevleri deneyin ve kaçırmış olabileceğiniz kütüphaneleri kullanmaya zorlayın. Örneğin, bazı CSV'leri okuyun, bir web sayfasından programlı olarak bilgi alın, çerçeveli küçük bir web sitesi oluşturun, vb.

2
btilly