Baskı altındayken bir çözüme atlamak nasıl önlenir? [kapalı]


18

Özellikle katı bir programlama süresi (bir saat gibi) altındayken, paniğe kapılırsam, eğilimim gerçek bir plan olmadan kodlamaya atlamak ve ilerledikçe çözmeyi ummaktır. Yeterli zaman verildiğinde bu işe yarayabilir, ancak bir röportajda düpedüz karşı üretken olmasa da oldukça başarısız olmuştur. Saat kenara çekilirken orada oturup her zaman rahat değilim.

Bir kontrol listesi var mı veya sorunu kodlamaya başlayacak kadar iyi anladığınızda tanınacak teknikler var mı? Bazı deneyleri kodlamak ve daha sonra genel tasarımı daha sonra anlamak yerine daha fazla düşünmek ve tasarlamak ne zaman en verimli?

İşte bir listesi bir matematik Sınav teknikleri için ve başka bir oral sınava . Baskı altında bir programlama problemini ele almak için benzer bir teknikler listesi var mı?

CEVAPLAR: Bence bu geçerli bir cevap: Nasıl Çözülür . Bu bağlantıyı bir çözüme ya da çözüme ulaşma adımlarına bir cevap olarak buldum . Bazı gerçekten iyi ipuçları da vardı gerçekten bir röportajda en iyi strateji sırasında sesli düşünerek İş'in? . TDD için büyük ve özlü bir argüman TDD Yazma kodunun ilk cevabı vs Bir sorunun cevabını bulmak mı? .


2
Herkes için farklı. Klavyeye uzun süre dokunmayacak birini tanıyordum, o zaman kısa sürede iyi bir çözüm üretebilirdi. Benim için TDD dönüşüm hunilerini doğru çözümün en hızlı şekilde görüyorum. Kimse sana ne işe yarayacağını söyleyemez.
pdr

1
Bu iki teknik. Eğer insanlar yeterince teknik listelemiş olsaydı, farklı teknikler farklı insanlar için işe yarardı.
GlenPeterson

2
Korkarım size yardımcı olabilecek sınırlı sayıda programcı yoktur. Normalde programcılar sorunu anlarlar ve bunu sadece ... anlayarak yaparlar. Doğru yaptığınızdan emin olmak için bir dizi önemsiz yöntem var, ancak açık bir şekilde açık olmaları gerektiği göz önüne alındığında, sizin için bir tane bulmak imkansız. Tanımladığınız acele ... biraz delirmiş gibi mi görünüyor? Gerçek zamanlı testlerle daha fazla pratik yapmayı denediniz mi? Anksiyete için psikolojik yardım almayı ya da en azından stresli koşullar altında çalışma hakkında kendi kendine yardım kitaplarını okumayı düşündünüz mü?
ZJR

2
@ZJR - Zamanlanmış testlerle pratik yapmak ve stres altında daha iyi performans gösteren psikolojik kaynaklara bakmak için iyi öneriler. Belki burada negatif oluyorum, ama yorumunuzun bir kısmı sizin yeteneğimin olmadığını ya da klinik psikolojik sorunum olduğunu düşünüyor. Ah!
GlenPeterson

1
Önce tam olarak ne gerekli veya beklenen olduğunu bulun. Ne çözüleceği genellikle nasıl çözüleceğinden daha zordur, daha fazla analiz gerektirir ve genellikle farklı bir soruyu tamamen ortaya çıkarır.
eksi

Yanıtlar:


17

Yangın marshall'larının yangın yerine vardıklarında nasıl bir eylem planı oluşturduğuna dair bir çalışma okuduğumu hatırlıyorum; çalışma, onları bir fikir buldukları için gözlemledi (ve kınadı), sonra ilk fikri hemen takip etti. Zaman baskısı nedeniyle, hemen hemen "bu işe yarayabilir" ve ardından "tamam, hadi yapalım" oldu. Çalışma, daha iyi, daha hızlı, daha güvenli seçeneklerin mevcut olduğunu, ancak sadece marshall'ların önce düşünmediği için takip edilmediklerini kaydetti.

"Yangınlarla" başa çıkmak için yapılandırılmış bir yaklaşım istiyorsanız, belki de (yeni) kitaplarından birkaç aşama öngören bir yaprak çıkarın:

RRAPID

  1. Reaksiyon - Kaynakları olaya harekete geçirin
  2. Keşif - Durum hakkında veri toplayın
  3. Takdir - En iyi ve en kötü durum senaryolarına göre bir eylem şekli seçin
  4. Plan - eylemin seyrine dayalı bir plan geliştirin
  5. Sipariş Sorunu - Standart brifing formatını kullanın
  6. Dağıtım - Yürütme ve izleme

veya daha genel terimlerle:

  1. Herkesi uyandır ve hareket ettir
  2. Neler olduğunu hesaplayın
  3. Beyin fırtınası çözümleri
  4. Birini seç ve planla
  5. Herkese işinin ne olduğunu söyle
  6. Yürütün ve izleyin

1

Her zaman gereksinimleri anlamak ve içinde cevaplara ihtiyaç duyan boşluklar aramakla başlarım.

Sonra iki veya üç olası çözümü çiziyorum (çok kabaca ve kağıt veya beyaz tahta üzerinde). Sonra kendime, "Bunlardan herhangi birini uygulamak için bilmem gereken başka bir şey var mı?" Diye soruyorum.

İlk sorularımı aldığımda (zamanın% 100'ünde sorular var, eğer sende yoksa, gerçekten derinlemesine bakmadın.), Cevaplarımı almak için paydaşlara geri dönüyorum.

Onların cevaplarını beklerken, çözümlerimi düşünürüm ve diğerlerinden daha iyi olup olmadığını veya soruların cevaplarını aldığımda daha iyi olacağını görürüm. Örneğin, sorulara ne kadar sürede ihtiyacınız olursa hemen, en hızlı gelişime sahip olanı seçebilirim, ancak daha sonra tasarımı iyileştirmek için bir yol bırakabilirim. Bana performansın kritik olduğunu söylerlerse, çözümlere bakarım ve hangisinin daha iyi performans gösterme olasılığının daha yüksek olduğunu belirlerim (bunlar bu noktada tahminlerdir, ancak genellikle bilgili olanlardır). Bir GUI söz konusuysa, birkaç farklı tasarımın kağıt prototipini oluşturabilir ve herhangi bir şeyi kodlamadan önce paydaşların onlara bakmasını sağlayabilirim (Genellikle, size, tasarım!)

Yanıtlarımı aldıktan sonra kaba bir tasarım seçiyorum ve sonra bunu uygulamak için yapmam gereken tüm şeylerin bir listesini yapıyorum. Sonra kodlamaya başlarım.


1

... eğilimim gerçek bir plan olmadan kodlamaya atlamak ve ilerledikçe anlayabileceğimi ummaktır.

Bunu üniversitedeyken yaptım. Bu gerçek bir sorun haline geldi ve genellikle kodun yeniden yazılmasıyla sonuçlanacaktır. Kod yazmadan bunu ele almaya başladım. Sorun hakkındaki düşünceye önem verdim. Yeterli pratikle, klavyeden ziyade düşüncelerime içgüdüsel olarak ulaşıyorum.

... bir röportajda, düpedüz karşı üretken olmasa bile, oldukça başarısız oldu. Saat kenara çekilirken orada oturup her zaman rahat değilim.

Bir röportajda, bir çözümün mantıklı ve iyi düşünülmüş bir uygulaması olmalıdır ve bu her zaman kolay olmaz. Yapmak istemediğiniz cevapları düşünmeden köreltmek. Cevabı biliyorsanız, hemen verin. Eğer yapmazsan, bir çözüm bulmak için düşüncelerine güven. Her zaman bilmediğinizi belirtin ve bir çözüm bulma konusunda nasıl ilerleyeceğinizi gösterin.

Bir kontrol listesi var mı veya sorunu kodlamaya başlayacak kadar iyi anladığınızda tanınacak teknikler var mı?

Bunu caydırırdım çünkü ona katı bir şekilde güvenebilirsiniz. Aksine, sorunu kodlamaya başlamak için yeterince iyi anlayıp anlamadığınızı kendinize sorun. Nasıl bilebilirsin? Çünkü yaklaşımınıza neden karar verdikten sonra incelediğinizde, dil hakkındaki mevcut bilginiz göz önüne alındığında, mantıklı olacaktır. Her zaman bir plan ve yaklaşıma sahip olun. Ayrıca, kodun asla bitmediğini ve gelişmeyen kodun öleceğini unutmayın, bu nedenle kodunuza sık sık geri dönmeyi bekleyin.

Bazı deneyleri kodlamak ve daha sonra genel tasarımı daha sonra anlamak yerine daha fazla düşünmek ve tasarlamak ne zaman en verimli?

Genel tasarımı bilmek ve düşünmek isteyeceksiniz. Sonra sınıf yapısını ve taslaklarını yapmaya başlarsınız. Sonra tekrar gözden geçirin. Mantıklı geliyor? Denemeleri kodlamak, bir şeyin iyi çalıştığını göstermek için harika bir yoldur ve kullanılmalıdır, ancak yazdığınız kodu biçimlendirmek veya şekillendirmek için güvenilmemelidir.

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.