יום רביעי, 18 ביוני 2008

שאלות לדוגמא מתוך ראיונות עבודה מקצועיים ASP.NET

1. מה ההבדל בין interface ל abstract?




2. מה הם השלבים העקרים בזמן טעית דף ASPX ובאיזה שלה ה CONTROLS נטענו במלואם?
· Page Init
· Page Load
· Control Events
· Page unload events
בשלב ה Page Load מובטח שכל ה controls נטענו , ניתן לגשת אליהם גם בשלב
ה page init אך בשלב זה ה view state עדיין לא נטען במלואו.




3. מה הפקודה של IsPostBack?פקודה זה תחזיר true במקרה שהדף הגיע לשרת מהלקוח וזהו לא הפעם הראשונה בו השרת ניגש לדף זה.



4. כיצד ניתן לוודא שאף אחד לא התעסק עם ה viewState?
על ידי שימוש בהגדרות העמוד (page directives) בשם EnableViewStateMac ל TRUE



5. מה ההבדל בין server.tranfer ל response.redirect?





  • זו שאלה שרוב המראינים אוהבים לשאול השאלה מראה אם יצא לנו לגעת בקוד ולמראין קל לשאול אותה כי היא די טרויאלית למי שנאלץ לעמוד על ההבדלים:


  • רידירקט - השרת בעצם שולח לדפדפן הלקוח הודעה שיש לעבוד לדף אחר ולאחן מכן הלקוח פונה לאותו דף.


  • טרנספר - מעבר בין העמודים נעשה ברמת השרת ועל כן חוסך לנו טיול של שרת-לקוח.


  • טרנספר - איננו משנה את תוכן ה URL דבר שיש לקחת בחשבון כאשר בקוד יש התיחסות לכתובת ה URL ש אותו עמוד.


  • טרנספר - לא ניתן לנוע בין דומינים - לא ניתן לעבור בין http://www.google.com/ ל http://www.walla.co.il/


  • עדיף להשתמש כאשר ניתן ב טרנספר (שיקולי ביצועים ואבטחה).

6. מה זה DATASET?



  • אוביקט השייך למרחב השמות system.data, משמש כתמונה של בסיס נתונים הנשמרת בזכרון האפליקציה, מספק תמיכה במספר נושאי בסיס נתונים כגון עדכון, הוספה, מחיקה, view.
    אוביקט זה מכיל מספר קולקשנים:
    dataTable אחד או יותר.
    בכל dataTable ישנם אחד או יותר dataRow
    בכל DataRow ישנם אחד או יותר DataColum
    בכל DataSet ישנם אחד או יותר DataViews.

    ה DateSet יכול לקבל נתונים מבסיס נתונים או מקובץ XML.


7. CLR?



  • Common Language RunTime - מהווה את הלב של ה NET Framwork. ה CLR אחראי על הפעילויות הבאות:
    1. GC - Garbage Colection , ניהול זכרון תוך כדי טיפול בחריגות זיכרון וניקוי של זכרון מתוך המערכת , כאשר לאוביקטים אין יחוס מאוביקטים אחרים ה GC (דרך לוגיקה של 3 דורות) מנקה את האויבקט מהזכרון וכך יוצר ניהול זכרון יעיל.
    2. CAS - Code Access Security - נותן הרשאות לאפליקציה בהתאם להגדרות של המכונה(שרת).
    3. Code Verification - גורם לביצוע נכון של הקוד ושומר על אחידות בסוג המשתנים בזמן ריצה, מונע מהקוד לבצע פעולות לא חוקיות כגון גישה למקומות בזכרון שאינם קימים.
    4. IL - Intermediate language : ה CLR משתמש ב JIT ומקמפל את ה IL לקוד מכונה (אסמבלי) ואז מבצע.

8. מה זה reflection?



  • שאלה שאוהבים לשאול בראיונות.

  • לכל האסמבלים ב NET. יש מידע בצורה של metadata על כל המתשתנים והפרוצדורות באסמבלי.

  • המידע שקיים בתוך ה metadata יכול להיות נגיש באמצעות מנגנון הנקרא reflection.

  • בעזרת ה reflection ניתן לבצע מתודות באופן דינאמי לא ידיעה מראש על הסוג על ידי שימוש בפונקציה system.type.invokemember

9. ADO.NET


אין תגובות: