היי, הייתי שבוע שעבר בראיון בחברץ רדווין היו מספר שאלות ב-c++: אודה למי שיפתור את השאלה הזו:
1. בנה מנהל זיכרון מבוסס רשימה משורשרת של אלמנטים:כל אלמנט מכיל זיכרון של 100 בתים
ו-header בו סימון כמה מאוכלסים מב-100
ומצביע לאמנט הבא. מנהל יתמוך ב-allocate ו-free
ע"י: 1_אורח_כללי
למישהו יש עדכון מהזמן האחרון של ראיון מקצועי ב RADWARE ?
תודה מראש!
ע"י: 1_אורח_כללי
לאיזה NAT מתכוונים?
יש למישהו דוגמה לשימוש בזה?
ע"י: 1_אורח_כללי
לאיזה NAT מתכוונים?
יש למישהו דוגמה לשימוש בזה?
ע"י: 1_אורח_כללי
אותו מבחן בדיוק,
5 שאלות
שעתיים
ע"י: 1_אורח_כללי
היי, מישהו פה היה לאחרונה במבחן סי++ בראדווין ויכול לשתף בשאלות שהיו לו?
השאלות ששמו בתחילת הפוסט מלפני 3 שנים, מאמין שהם שינו אותן קצת מאז.
זה מאד יעזור, תודה
ע"י: admin
שאלות בנושאי תוכנה ראדווין , שייכים לקבוצת RAD 2/03/2010
שאלה
יש רשימה משורשרת ואנחנו רוצים לבדוק האם הרשימה הזו מעגלית, כלומר הזנב שלה בעצם מחובר לאחת הרשומות האחרות (לאו דווקא זו שלפניה(.
פתרון
הדרך הראשונה:
יוצרים רשימה משורשרת חדשה סדר גודל N! –
מתחילים מהראש של הרשימה הנתונה ומכניסים את הכתובת של אותה רשומה לרשימה החדשה, מתקדמים לרשימה הבאה ועושים את אותו דבר.
לפני שעוברים לרשומה הבאה רצים על כל הרשומה החדשה לראות אם ה-NEXT
של הרשומה הנוכחית כבר מופיע ברשימה החדשה. אם לא, עוברים הלאה ואם כן אז עוצרים ויודעים שהיא מעגלית. אם מגיעים ל-NULL מתישהו אז יודעים שהיא לא מעגלית.
דרך נוספת:
מגדירים 2 מצביעים, ומריצים אותם קדימה על הרשימה. אחד מתקדם בצעדים של רשימה אחת כל פעם והמצביע השני מתקדם בצעדים של שתי רשימות. בסופו של דבר, או שהמצביע המהיר יגיע ל NULL ואז הרשימה לא מעגלית או ששני המצביעים יפגשו ואז הרשימה מעגלית .
שאלה
נתון מערך בעל גודל N תאים על N כביכול נתון לנו שבכל תא יש מספר מ- 0 ועד N אבל לאו דווקא לפי הסדר. מוציאים את אחד האיברים ושמים 0 במקומו. איך נדע איזה איבר הוצא?
פתרון
1. אפשר להגדיר מערך חדש - מגדירים מערך באותו גודל, מאפסים את כל איבריו ואז מתחילים לרוץ על המערך הנתון. רצים על המערך הנתון, בכל פעם, שמים 1 (לא באמת משנה מה שמים בפנים, העיקר שונה מ-0) במספר תא במערך החדש, לפי התוכן של התא במערך הישן.
אחרי שמסיימים, בודקים באיזה תא במערך החדש יש 0 וזה המספר החסר.
2. אם אי אפשר להגדיר מערך חדש - רצים על המערך ומסכמים את איבריו. כשמסיימים מחשבים מה היה אמור להיות הסכום 1 עד N ואז מחסירים ביניהם.
פתרון נוסף :
מאוד דומה אבל קצר יותר.
סוכמים את האיברי המערך.
סכמום צריך לצאת :
1 +2 +3 + ... + N
ונקרא לסכום זה Sum.
אבל בפועל אחד האיברים הוחלף להיות 0, במקום ערכו המקורי.
סוכמים את האיברים במערך. לסכום זה נקרא newSum.
המספר החסר, נקרא לו
K
הוא בדיוק:
K = Sum - newSum
סיבוך של השאלה הקודמת
אותו דבר רק שמוציאים שני איברים
פתרון
כשרצים על המערך, גם מסכמים וגם מכפילים בנפרד את האיברים. בסוף מחשבים את הסכום והמכפלה שהיתה אמורה להיות, ואז יש פשוט 2 משוואות עם שני נעלמים:
a+b=s
a*b=p
שאלה נוספת
רוצים לשלוח לפונציה 2 מחרוזות בינאריות.
אבל הפונקציה מקבלת מחרוזת אחת בלבד, שגם היא חייבת להיות בינארית.
עליכם למצוא חוקיות ע"מ שניתן יהיה ליצור מהמחרוזת המתקבלת בפונקציה 2 מחרוזות זהות למקורויות.
לשאלה זו מספר דרכי פתרון.
פתרון אחד מביניהם:
לעבור על המחרוזת הראשונה מביניהם.
בכל מקום בו מופיעה הספרה אפס, נוסיף עוד אפס אחד.
נניח המחרוזת הייתה: 100010010
כעת היא תהיה: 100001000100
כלומר, לא יהיה 0 שעומד לבדו.
כעת את המחרוזת החדשה נבנה מהמחרוזת הישנה, ונוסיף בסופה 101 (ע"מ לוודא בידוד של האפס היחיד הראשון במחרוזת, שיסמן על ההפרדה בין המחרוזות).
כעת נחבר לסוף המחרוזת את המחרוזת השנייה.
אם המחרוזת השנייה הייתה: 10111, והראשונה הייתה: 100010010 והשתנתה להיות 100001000100,
המחרוזת המאוחדת תהיה:
10000100010010110111.
בהצלחה !
ע"י: 1_אורח_כללי
אולי משהו יכול לעזור לי בבקשה,
מה היו השאלות בראיון עבודה, לא במבחן.
תודה מראש.
ע"י: 1_אורח_כללי
נא לתאר NAT - מה המטרה, כיצד זה עובד / מה האלגוריתם, מה המבנה נתונים שמשתמשים בו.
לאחר מכן לכתוב קוד קצר ב C שמדגים זאת.
למישהו יש דוגמא של מימוש NAT
ע"י: 1_אורח_כללי
בתור מישהי שעברה מבחן+ראיון גם ברדווין, רדוור צ'ק פוינט ג'אנגו ודומיהם אני רוצה להגיד שזה פשוט ביזיון מספר המועמדים שמתמודדים על המשרות האלה... וזה עוד יותר ביזיון שאלה שמתראיינים אח"כ כבר מקבלים מוכנים את כל השאלות.....
ע"י: 1_אורח_כללי
1. הייתה שאלה שצריך לציין מהם 3 המאיפיינים של oop ולתת דוגמא
2. הייתה שאלה שבה מופיע טקסט ובו היה צריך לציין לפחות 10 בעיות בטקסט ,כלומר בקטע קוד מבחינת OOP ,תקינות קידוד
3. הייתה שאלה שבה נתון
פונקציה
למשל:
int convertnum2string(int number,char* str){
switch(number){
case 0:
strcpy(str,"zero"));
break;
.
.
.case 9:
strcpy(str,"nine");
break;
}
ואז ביקשו לכתוב פו' יעילה יותר המחשבת אותה פונקציונליות
זה מה שאני זוכר
מהם שלושת המאפיינים של OOP? אני יודע מה זה אבל דווקא שלושה מאפיינים? ומה הבעיה עם היעילות של הפוקנציה? רוצים שנבטל את הסוויצ'?
לממש מכונת מצבים של טלפון
כדאי לחזור על design pattern המתאים.
למישהו יש תשובה לזה? או כיוון..?
אני אישית לא למדתי design patterns אז ככה שאני לא כ"כ יודע מה זה אומר
תודה מראש..
נא לתאר NAT - מה המטרה, כיצד זה עובד / מה האלגוריתם, מה המבנה נתונים שמשתמשים בו.
לאחר מכן לכתוב קוד קצר ב C שמדגים זאת.
ע"י: דילברט
לממש מכונת מצבים של טלפון
כדאי לחזור על design pattern המתאים.
ע"י: eminemm
1. הייתה שאלה שצריך לציין מהם 3 המאיפיינים של oop ולתת דוגמא
2. הייתה שאלה שבה מופיע טקסט ובו היה צריך לציין לפחות 10 בעיות בטקסט ,כלומר בקטע קוד מבחינת OOP ,תקינות קידוד
3. הייתה שאלה שבה נתון
פונקציה
למשל:
int convertnum2string(int number,char* str){
switch(number){
case 0:
strcpy(str,"zero"));
break;
.
.
.case 9:
strcpy(str,"nine");
break;
}
ואז ביקשו לכתוב פו' יעילה יותר המחשבת אותה פונקציונליות
זה מה שאני זוכר