5 Stimmen

Sind diese Interviewfragen zu schwierig für Anfänger?

Ich habe heute mit zwei Leuten ein Vorstellungsgespräch geführt und sie "getestet", um zu sehen, wie es um ihre Fähigkeiten bestellt ist. Beide sind Berufsanfänger, einer von ihnen ist sogar noch auf dem College. Keiner der beiden Bewerber sah etwas Falsches an dem folgenden Code.

Ich schon, sonst hätte ich diese Beispiele nicht ausgewählt. Glauben Sie, dass diese Fragen für Programmieranfänger zu hart sind?

Ich denke, ich sollte auch bemerken, dass keiner von ihnen viel Erfahrung mit C# hatte... aber ich glaube nicht, dass die Probleme mit diesen sprachabhängig sind.

//For the following functions, evaluate the code for quality and discuss.  E.g.
//E.g. could it be done more efficiently? could it cause bugs?        
public void Question1()
{
    int active = 0;

    CheckBox chkactive = (CheckBox)item.FindControl("chkactive");
    if (chkactive.Checked == true)
    {
        active = 1;
    }

    dmxdevice.Active = Convert.ToBoolean(active);
}

public void Question2(bool IsPostBack)
{
    if (!IsPostBack)
    {
        BindlistviewNotification();
    }

    if (lsvnotificationList.Items.Count == 0)
    {
        BindlistviewNotification();
    }
}

//Question 3
protected void lsvnotificationList_ItemUpdating(object sender, ListViewUpdateEventArgs e)
{
   ListViewDataItem item = lsvnotificationList.Items[e.ItemIndex];
   string Email = ((TextBox)item.FindControl("txtEmailAddress")).Text;
   int id = Convert.ToInt32(((HiddenField)item.FindControl("hfID")).Value);

   ESLinq.ESLinqDataContext db = new ESLinq.ESLinqDataContext();
   var compare = from N in db.NotificationLists
                 where N.ID == id 
                 select N;
   if (compare.Count() > 0)
   {
       lblmessage.Text = "Record Already Exists";
   }
   else
   {
       ESLinq.NotificationList Notice = db.NotificationLists.Where(N => N.ID == id).Single();
       Notice.EmailAddress = Email;
       db.SubmitChanges();
   }
   lsvnotificationList.EditIndex = -1;
   BindlistviewNotification();
}

-1voto

Marcel Punkte 5939

In Frage 2 würde ich zur besseren Modularität vorschlagen, die Anzahl der lsvnotificationList.Items als Parameter zu übergeben:

public void Question2(bool IsPostBack, int listItemsCount)
{
    if (!IsPostBack || listItemsCount == 0)
       BindlistviewNotification();
}

-1voto

Matthew Scharley Punkte 121038

Q1 hat auch eine potenzielle InvalidCastException auf der item.FindControl() Linie.

Ich glaube nicht, dass Q1 oder Q2 zu schwierig sind, selbst für Nicht-C#-Nutzer. Jede Ebene Code sollte in der Lage sein, zu sehen, dass Sie einen booleschen für aktiv sein sollte, und nur mit einer if-Anweisung.

Q3 braucht aber zumindest Kommentare, wie jemand anderes bemerkte. Das ist nicht grundlegend Code, vor allem, wenn Sie nicht-C#-Benutzer mit ihm auch zielen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X