Java programlama mülakat için test
Burada programlama bir sınav bir iş görüşmesi için kullanılır. Çok garip olmayan bir OO bir bakış açısı var ve herkes bu bakış açısıyla yapıcı bir yaklaşım olurdu merak buluyorum. Çok deneyimli bir Java programcısı olarak, ben hemen bu kodu yazan kişi ve soru tuhaf perspektif yeteneği soru.
Röportaj kapsamında soru şu garip rahatsız edici buluyorum. Diğer deneyimli OO Java programcıları geri bildirim isterim.
Çözücü solveAll çağrısı 2 ile bir listesini döndürmek için kurucu değerleri tamamlamak Karekök ve tam tersi parametre olarak geçildi dahil.
public interface MathFunction {
double calculate(double x);
}
public class Solver {
private List<MathFunction> functionList;
public Solver() {
//Complete here
}
public List<Double> solveAll(double x) {
List<Double> result = new ArrayList<Double>();
for (MathFunction function : this.functionList) {
result.add(new Double(function.calculate(x)));
}
return result;
}
}
CEVAP
Bu tasarım desenleri, olabildiğince basit yöntemi kullanarak test ediyor. Bu Strateji (veya başka bir davranış kalıbı) olabileceğini düşünüyorum. Bu bkz
http://en.wikipedia.org/wiki/Strategy_pattern
http://en.wikipedia.org/wiki/Behavioral_pattern
Eğer Java bir röportaj için gidiyoruz eğer, ima ve çok huzursuz olmaya engel olan tasarım deseni tanımlamak gerekir!
Bu soruyu cevaplamak için, gerektiği gibi MathFunction
uygulamak, sonra iki örneğini oluşturmak ve functionList
bunları saklamak iki sınıf oluşturun.
Noktası buradadeğilem bu garip bir şekilde hesaplamalar yapabilir'', tasarım desenleri tanımlamak olabilir.
Nasıl bir java sınıfı çalışma zamanınd...
Java ve açıklayıcı GUI programlama içi...
Geçersiz Java Sistemi.currentTimeMilli...
Nasıl Java birim test içine metin dosy...
Neden char[] şifreler için Dize Java t...