Python röportaj soruları [kapalı]


25

Python programlamayı içerecek bir stajyerlik için iki hafta içinde görüşeceğim.

Herhangi biri hangi alanları parlatmam gerektiğini önerebilir mi? Python açılışları için röportajlarda sıkça sorulan şeyler arıyorum. Zaten bir yıldan fazla bir süredir dili yapıyorum dışında, bana ne sorabileceklerini algılayamadım.

Bir C veya C ++ görüşmesi için olduğu gibi, dizelerin tersine çevrilmesinden bağlantılı listeler oluşturmaya kadar pek çok soru var, ancak bir Python görüşmesi için clueless değilim.

Kişisel deneyimler ve / veya önerilerinizi bekliyoruz.


Staj yapıyorsanız ve Python'da bir senedir programlama yapıyorsanız, bence iyi olacaksınız. Tha, Python'a yönelik soruların genel yapısının c ++ için bahsettiğinizle aynı olacağını söyledi.
Robert Harvey,

Robert, herhangi bir denetim ve rehberlik olmadan programlama beni rahatsız ediyor. Belki bazı alanlarda eksikimdir.

1
Eğer bu bir staj ise neden rehberlik etmiyorsun? Stajın tanımı budur. Bu, çalıştığım stajyerler için programlama dersleri almıyor, ancak net çalışma talimatları ve beklentileri alıyorlar. Bir stajyer olarak, işi öğreneceğinizi ve tecrübesi olan birinin yapması halinde işin olabileceğinden biraz daha uzun süreceğini beklemelidirler.
Robert Harvey,

Pek çok insanın okuldan çıkmasıyla ilgili yaygın bir hata yapıyorsunuz - röportaj bir test değil, daha çok ilk buluşmaya gitmek gibi. İyi bir görüşmeci, bir dilin karanlık köşelerini tanıyıp tanımadığınızı öğrenmek için toplarınızı patlatmayacaktır, ancak genel olarak, gerçekten biliyorsanız onu oluşturmaya çalışın. İyi bir görüşmeci genel programlama bilgisine, problem çözme becerisine, kişilerarası becerilere ve deneyime odaklanacaktır. Birisi Python'un telleri nasıl kullandığıyla ilgili ayrıntıları sormaya başlarsa, bu onların kayboldukları ve nasıl röportaj yapacaklarını bilmedikleri anlamına gelir.
Sean McSomething

Yanıtlar:


8

İşte bazı kolay olanlar:

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

7

Python listesi anlamalarını içeren bir konuya ne dersiniz ? Bana göre, bunlar Dive'da Python'a okuduktan sonra C ++ 'daki en büyük satış noktalarından biriydi. .

Msgstr "1-10 (dahil) arasında çift sayıların bir listesini oluşturan bir liste anlama yazın".
Cevabın bunun gibi bir şey olduğu yerde ( aralık değerlerinin en üst hatadan kaçındığını unutmayın ):

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

Bu konuda, eğer Dalışta Python'a listelenen tüm kavramları anlıyorsanız, bu önemli özelliklerin çoğunu kapsamalıdır.


13
Bu unpythonic. Python 2.x'te, sadece range(2,11,2)ve Python 3.x'te list(range(2,11,2)).
Chinmay Kanchi 28:10

@Cyclops, INNOTECH'te kendi işiniz için görüşmeniz gereken sesler.
İş

5
@Chinmay Kanchi Bunun iyi bir röportaj sorusu olacağını düşünmemekle birlikte, gelişmiş özelliklere girişlerin çoğu (okuyucuyu karıştırmamak için) yapabilecekleri en basit şeyleri yapar. Bu özel sorun için daha basit bir çözüm olsa da, mesele bu özel soruyu cevaplamamaktı. Önemli olan bir liste kavrama kullanmaktı (Python'daki şeyleri optimize etmek için çok etkili ve kayda değer bir yol).
jsternberg

6

Python'un referansa göre mi geçtiği veya değere göre mi geçtiği de çok iyi bir sorudur.


1
Harika bir takip sorusu, onu nasıl gösterebileceklerini ve neden önemli olduğunu sormak olacaktır
mcotton

@Ismail - Üzgünüz, ama bu neden iyi bir soru?
Theodor

7
@ Servo: Doğru anlarsam, Python tıpkı C #, Java, Scheme vb. Değerlerin nasıl geçtiği gibi ... aynı değere sahip. Gördüğüm tek referans dili VB6, Aksi belirtilmedikçe her şey referans tarafından geçilir. Nesneleri mutasyona gerçeği Geçmesi referans-ile-hiçbir şekilde yapmaz ve değişmez nesneler olabilir aslında onlar değeri tarafından geçirilen olduğunuzu ya ... bunu söyleyerek anlamına gelmez " cevap ne" dir olduğunu tamamen yanlış . Mülakatını yapan kişinin cevabın "hiçbiri" olduğuna inanmadığı aday için çok üzülüyorum ...
Mehrdad

1
@ Servo: FYI, hatta bağlantınızdaki 100+ oyla verilen cevap, sizin argümanınıza karşı çıkıyor: açıkça "Parametreler değere göre
Mehrdad

11
Doğru cevabın şu olduğuna inanıyorum: "Parametreler değere göre iletilen referanslardır."
user16764

6

Bana sorulan sorular:

  • Python'da iki meta-programlama yöntemi tanımlayın.
  • GIL Nedir?
  • GIL neden önemlidir?
  • Neden Unladen Swallow denilen alternatif bir Python uygulaması var? ?
  • Django, Pylons veya Zope? Pozisyonunu savun.

5

Böyle bir deneyimim yok, ancak bazı tahminlerim var:

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

Bu python programcısının bilmesi gereken bazı şeylerdir, aksi halde pozisyon için C programcısını işe alabilirsiniz.




2

Anlamınız nedir, Python'u tanıyıp tanımadığınızı, Python'da bir şeyler yapıp yapamayacağınızı ya da (Python'da) program yapıp yapamayacağınızı test etmeye çalışacaklar mı?

Bunlar çok farklı şeyler.

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

Python'da işleri yapabileceğinizi göstermek istiyorlarsa, temel veri yapılarına yetkin olmanız ve farklı türden görevler için gideceğiniz kütüphanelerin bir listesine sahip olmanız gerekir. Bu yüzden sözlükler, kümeler ve dizilerde rahat olman gerekiyor. Aynı şekilde BeautifulSoup, HTML ayrıştırma gibi şeyleri bilmeniz , web geliştirme için kullanılabilecek bir çerçeve hakkında konuşabilmeniz, vb. Gibi şeyleri bilmeniz gerekir. Bunları nasıl iyi kullanacağınızı bilmeniz gerekmez; Git, nasıl daha fazla bilgi edinebilir ve görüşmeci size belgelenen şeyleri verdikten sonra bunları gerçekten kullanabileceksiniz.

Programlayabileceğinizi (Python'da) göstermenizi istiyorlarsa, temel veri yapılarını ve algoritmalarınızı bilmeniz gerekir. Bu, sorulacak olan C / C ++ sorularına daha yakındır, ancak yaşamınızı kolaylaştıracak yerel veri yapılarını kullanmanız beklenir.

Güvende olmak için üçüne de bir dereceye kadar hazırlanmalısınız. Örneğin, http://docs.python.org/tutorial/ sayfasını okuyun ve kendinize bazı notlar alın. Umarım program yapmayı zaten biliyorsunuzdur. Sonra rastgele bazı görevleri deneyin ve kaçırmış olabileceğiniz kütüphaneleri kullanmaya zorlayın. Örneğin, bazı CSV’leri okuyun, bilgileri web sayfasından programlı olarak çıkarın, çerçeveli küçük bir web sitesi oluşturun, vb.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.