ראיון הייטק פגישה 4 - programming interview lesson 4
TRANSCRIPT
4פגישה
2015
(с) Igor Kleiner
הייטק למשרת עבודה לראיון הכנה סדנת
PROGRAMMING INTERVIEWS EXPOSED
ABOUT COURSE
REMINDER
QUESTION FROM THE AUDIENCE
• You are given a computer program and a precise specification of that the program is supposed to do (e.g. sort a list of number)
• You need to verify that the program performs as specified
• How do you solve this problem?
QUESTION FROM THE AUDIENCE
• How do you solve this problem?
• Mathematical proof
• Testing
• Induction
• ….
QUESTION FROM THE AUDIENCE
• How do you solve this problem?
• Mathematical proof
• Testing
• Induction
• ….
• How you automate the process of verification?
QUESTION FROM THE AUDIENCE
• How do you solve this problem?
• Mathematical proof
• Testing
• Induction
• ….
• How you automate the process of verification?
• Write a program for verification!!!
QUESTION FROM THE AUDIENCE
• How do you solve this problem?
• Mathematical proof
• Testing
• Induction
• ….
• How you automate the process of verification?
• Write a program for verification!!!
QUESTION FROM THE AUDIENCE
• How do you solve this problem?
• Mathematical proof
• Testing
• Induction
• ….
• How you automate the process of verification?
• Write a program for verification!!!
QUESTION FROM THE AUDIENCE
• How do you solve this problem?
• Mathematical proof
• Testing
• Induction
• ….
• How you automate the process of verification?
• Write a program for verification!!! WHY?
QUESTION FROM THE AUDIENCE
• How you automate the process of verification?
• Write a program for verification!!! WHY???
QUESTION FROM THE AUDIENCE
• How you automate the process of verification?
• Write a program for verification!!! WHY???
• The general problem of software verification is not solvable by computer
TELL US ABOUT A PROJECT OR PIECE OF RESEARCH YOU HAVE WORKED
הפרויקט • על לספר לבקש יכולים הראיון במהלךהלימודים בזמן שעשיתה
TELL US ABOUT A PROJECT OR PIECE OF RESEARCH YOU HAVE WORKED
הפרויקט • על לספר לבקש יכולים הראיון במהלךהלימודים בזמן שעשיתה
על • מראש ולחשוב זאת לשאלה מוכן להיות כדאיבצורה הפרויקט את להציג ואיך לספר מה
מעניינת
TELL US ABOUT A PROJECT OR PIECE OF RESEARCH YOU HAVE WORKED
הפרויקט • על לספר לבקש יכולים הראיון במהלךהלימודים בזמן שעשיתה
על • מראש ולחשוב זאת לשאלה מוכן להיות כדאיבצורה הפרויקט את להציג ואיך לספר מה
מעניינת
שעשיתם • פרויקטים על מידע להוסיף אפשרהחיים לקורות
TELL US ABOUT A PROJECT OR PIECE OF RESEARCH YOU HAVE WORKED
ועקבית • מעניינת בצורה פרויקט להציג כדאי
הפרויקט • מטרת הייתה מה
• , בעבודה שלך החלק ומה בפרויקט השתתף מיקבוצתית
השתמשת • כלים באילו
קשיים • על התגברת איך
TELL US ABOUT A PROJECT OR PIECE OF RESEARCH YOU HAVE WORKED
EXAMPLE - 1 חקירת • על הייתה שלי מחקר העבודה
פנה של מטרוידים של תכונות
TELL US ABOUT A PROJECT OR PIECE OF RESEARCH YOU HAVE WORKED
EXAMPLE - 1 חקירת • על הייתה שלי מחקר העבודה
פנה של מטרוידים של תכונות
•? פופטוידים, זה מה רגע
TELL US ABOUT A PROJECT OR PIECE OF RESEARCH YOU HAVE WORKED
EXAMPLE - 1 •? פופטוידים, זה מה רגע
אובייקטים • זה מטרוידים
TELL US ABOUT A PROJECT OR PIECE OF RESEARCH YOU HAVE WORKED
EXAMPLE - 1 •? פופטוידים, זה מה רגע
אובייקטים • זה מטרוידים
TELL US ABOUT A PROJECT OR PIECE OF RESEARCH YOU HAVE WORKED
EXAMPLE - 1 אובייקטים • זה מטרוידים
•BLA BLA BLA
TELL US ABOUT A PROJECT OR PIECE OF RESEARCH YOU HAVE WORKED
EXAMPLE - 1 אובייקטים • זה מטרוידים
•BLA BLA BLA
•? חשוב זה ולמה
TELL US ABOUT A PROJECT OR PIECE OF RESEARCH YOU HAVE WORKED
Example 2
•? עשיתה פרויקט איזה
עיבוד • של התחום את מאוד אהבתי אנילייצר. שמאפשר פרויקר עשיתי תמונה
שלהם תכונות ולחקור גברידיות תמונות
TELL US ABOUT A PROJECT OR PIECE OF RESEARCH YOU HAVE WORKED
Example 2
•? עשיתה פרויקט איזה
עיבוד • של התחום את מאוד אהבתי אנילייצר. שמאפשר פרויקר עשיתי תמונה
שלהם תכונות ולחקור גיברידיות תמונות
•? ? זה מה גיברידיות תמונות
TELL US ABOUT A PROJECT OR PIECE OF RESEARCH YOU HAVE WORKED
Example 2
•? עשיתה פרויקט איזה
עיבוד • של התחום את מאוד אהבתי אנילייצר. שמאפשר פרויקר עשיתי תמונה
שלהם תכונות ולחקור גיברידיות תמונות
•? ? זה מה גיברידיות תכונות
איתי • דוגמאות כמה הבאתי
TELL US ABOUT A PROJECT OR PIECE OF RESEARCH YOU HAVE WORKED
Example 2
איתי • דוגמאות כמה הבאתי
TELL US ABOUT A PROJECT OR PIECE OF RESEARCH YOU HAVE WORKED
Example 2
איתי • דוגמאות כמה הבאתי
•? חשוב זה למה
• , : בחקר בפרסומות שימושים מאט לא יששל בגילוי ואפילו אדם בני של תפיסה
סכיזופרניה
TELL US ABOUT A PROJECT OR PIECE OF RESEARCH YOU HAVE WORKED
Example 2
? השתמשתה כלים באיזה
MATLAB, R ,תמונות של נתונים מסדי
? עשיתה מה
TELL US ABOUT A PROJECT OR PIECE OF RESEARCH YOU HAVE WORKED
Example 2
? קוד שורות כמה
? השתמשתה אלגוריתמים איזה
? נתקלתה קשים איזה
- ב התשמשת לא ++? Cלמה....
TELL US ABOUT A PROJECT OR PIECE OF RESEARCH YOU HAVE WORKED
לסיכום
תספר • מה על מראש לחשוב כדאי
החשוב • הגורם אינו הפרויקט של הקושיביותר
להוסיף • חיים 1-3כדאי לקורות פרויקטים
מה • להציג הטובה הדרך זאת פרויקטבידע להתשמש יודעים ואיך למדתם
שצברתם
ESTIMATION QUESTIONS
• How many windows are there in New York City?
• How many people are using Facebook at 5pm on a Friday?
• How many golf balls would fit in a 747?
• How many gas stations are there in Texas?
ESTIMATION QUESTIONS
כאלו • שאלות הרבה שואלים לא היום
ESTIMATION QUESTIONS
כאלו • שאלות הרבה שואלים לא היום
של • לתחום שייכות מהשאלות חלקהסתברות
• , מדויקת תשובה אין מהשאלות לחלקהערכה לתת מספיק
ESTIMATION QUESTIONSEXAMPLE 1
ESTIMATION QUESTIONSEXAMPLE 1
בשק סוכריות של סוגים יש ?כמה
ESTIMATION QUESTIONS
•? למראיין שאלות
ESTIMATION QUESTIONS
•? למראיין שאלות
• ? צבע סוכרייה של סוג זה מה
• ? כן החזרה עם הוצאות האם
ESTIMATION QUESTIONS
•: ראשוניות מחשבות
לפחות • שיש סוגים 3ברור
ESTIMATION QUESTIONS
•: ראשוניות מחשבות
לפחות • שיש סוגים 3ברור
• , מדויקת תשובה שאין ברור
ESTIMATION QUESTIONS
•: ראשוניות מחשבות
לפחות • שיש סוגים 3ברור
• , רק שבשק ייתכן מדויקת תשובה שאין 3ברוריש שבשק וייתכן שונים 1000סוגים סוגים
ESTIMATION QUESTIONS
שיש • : 3נניח בשק סוגים
•: היא שקיבלנו מדגם לקבל הסתברות אזי
ESTIMATION QUESTIONS
שיש • : 3נניח בשק סוגים
•: היא שקיבלנו מדגם לקבל הסתברות אזי
1
ESTIMATION QUESTIONS
שיש • : 3נניח בשק סוגים
•: היא שקיבלנו מדגם לקבל הסתברות אזי
1∗23
ESTIMATION QUESTIONS
שיש • : 3נניח בשק סוגים
•: היא שקיבלנו מדגם לקבל הסתברות אזי
1∗23∗13
ESTIMATION QUESTIONS
שיש • : 3נניח בשק סוגים
•: היא שקיבלנו מדגם לקבל הסתברות אזי
1∗23∗13∗13=227
=0 .074
ESTIMATION QUESTIONS
שיש • : 4נניח בשק סוגים
•: היא שקיבלנו מדגם לקבל הסתברות אזי
1
ESTIMATION QUESTIONS
שיש • : 4נניח בשק סוגים
•: היא שקיבלנו מדגם לקבל הסתברות אזי
1∗34
ESTIMATION QUESTIONS
שיש • : 4נניח בשק סוגים
•: היא שקיבלנו מדגם לקבל הסתברות אזי
1∗34∗14
ESTIMATION QUESTIONS
שיש • : 4נניח בשק סוגים
•: היא שקיבלנו מדגם לקבל הסתברות אזי
1∗34∗14∗24=664
=0 .09375
ESTIMATION QUESTIONS
שיש • : 5נניח בשק סוגים
•: היא שקיבלנו מדגם לקבל הסתברות אזי
ESTIMATION QUESTIONS
שיש • : 5נניח בשק סוגים
•: היא שקיבלנו מדגם לקבל הסתברות אזי
1∗45∗15∗35=12125
=0 .096
ESTIMATION QUESTIONS
שיש • : 6נניח בשק סוגים
•: היא שקיבלנו מדגם לקבל הסתברות אזי
1∗56∗16∗46=20216
=0 .092
ESTIMATION QUESTIONSNumber of candies probability
3 0.074
4 0.093
5 0.096
6 0.092
7 0.087
8 0.082
ESTIMATION QUESTIONSNumber of candies probability
3 0.074
4 0.093
5 0.096
6 0.092
7 0.087
8 0.082
ESTIMATION QUESTIONSNumber of candies probability
3 0.074
4 0.093
5 0.096
6 0.092
7 0.087
8 0.082
ESTIMATION QUESTIONSQUESTION 2
ESTIMATION QUESTIONS
• - ב יש דלק תחנות ?USAכמה
ESTIMATION QUESTIONS
•- ב יש דלק תחנות ?USAכמההערכה • שאלת שזאת ברור
מדויקת • תשובה שאין ברור
ESTIMATION QUESTIONS
•- ב יש דלק תחנות ?USAכמה
קוררלציות • על נחשוב
הדלק • את מצריכות מכוניות
לכמות • המכוניות כמות בין קוררלציה ישהתושבים
ESTIMATION QUESTIONS
•- ב יש דלק תחנות ?USAכמה
•- שב -USAנניח כ תושבים 200000000גרים
ESTIMATION QUESTIONS
•- ב יש דלק תחנות ?USAכמה
•- שב -USAנניח כ תושבים 200000000גרים
פרטי • רכב יש תושבים שני לכל שבממוצע נניחאחד
או • ציבורי רכב גם יש פרטי רכב שלכל נניח בנוסףאחד ממשלתי
•- כ בערך יש רכובות 200000000כלומר
ESTIMATION QUESTIONS
•- ב יש דלק תחנות ?USAכמה
מכונית • כל של תדלוק דקות 5זמן
בשבוע • פעם דלק לתחנת נכנסים בממוצע
זמנית • בו לשרת אפשר דלק מכוניות 5בתחנת
משרתת • אחד דלק תחנת מכוניות 60כלומר - כ, כלומר לכל 10000בשעה בשבוע מכוניות
היותר
ESTIMATION QUESTIONS
•- ב יש דלק תחנות ?USAכמה
מכונית • כל של תדלוק דקות 5זמן
בשבוע • פעם דלק לתחנת נכנסים בממוצע
זמנית • בו לשרת אפשר דלק מכוניות 5בתחנת
משרתת • אחד דלק תחנת מכוניות 60כלומר - כ, כלומר בשבוע 10000בשעה מכוניות
דלק <• תחנות כמות 20000ולכן
CONTINUE A SEQUENCE
• 1 2 3 5 7 13 21 31
CONTINUE A SEQUENCE
• 1 2 3 5 7 13 21 31
TWO EGGES PROBLEM
•: ראשוניות מחשבות
TWO EGGES PROBLEM
•: ראשוניות מחשבות
לא • לנו היו ביצים log(100) אלה 2אם: הייתה התשובה
: היה האופטימלי ותכסיס
TWO EGGES PROBLEM
•: ראשוניות מחשבות
לא • לנו היו ביצים log(100) אלה 2אם : הייתה 7התשובה
: בינארי חיפוש היה האופטימלי ותכסיס
TWO EGGES PROBLEM
•: ראשוניות מחשבות
לא • לנו היו ביצים log(100) אלה 2אם : הייתה 7התשובה
: בינארי חיפוש היה האופטימלי והתכסיס
•: אזי אחד ביצה רק לנו יש אם
TWO EGGES PROBLEM
•: ראשוניות מחשבות
לא • לנו היו ביצים log(100) אלה 2אם : הייתה היותר 7התשובה לכל ניסוים
: בינארי חיפוש היה האופטימלי והתכסיס
•: אזי אחד ביצה רק לנו יש אם
היותר • לכל זריקות 100נצטרך
TWO EGGES PROBLEM
•: ראשוניות מחשבות
שמצריך • :51פתרון זריקות
TWO EGGES PROBLEM
•: ראשוניות מחשבות
שמצריך • :51פתרון זריקות
מקומה • ביצה לפי 50נזרוק נמשיך ואזהתוצאה
TWO EGGES PROBLEM
•: ראשוניות מחשבות
שמצריך • :21פתרון ניסוים
TWO EGGES PROBLEM
•: ראשוניות מחשבות
•21:
TWO EGGES PROBLEM
בתחום • הינו האופטימלי שפתרון יודעים אנו(7,21)•? אופטימלי פתרון לקבל אפשר איך
TWO EGGES PROBLEM
בתחום • הינו האופטימלי שפתרון יודעים אנו(7,21)•? אופטימלי פתרון לקבל אפשר איך
דינאמי • תכנות
ישירה • מחשבה דרך
TWO EGGES PROBLEM
•: דינמי תכנות פתרון
ב • F(n,k)נסמן
TWO EGGES PROBLEM
•: דינמי תכנות פתרון
ב • במקרה ) F(n,k) נסמן מינימלית כמות את ) יש כאשר שצריך זריקות של ביותר הגרוע
בן ביניין וברשותינו nלנו ביצים kקומות
היא • שלנו )?,?(Fמטרה
TWO EGGES PROBLEM
•: דינמי תכנות פתרון
ב • במקרה ) F(n,k) נסמן מינימלית כמות את ) יש כאשר שצריך זריקות של ביותר הגרוע
בן ביניין וברשותינו nלנו ביצים kקומות
היא • שלנו F(100,2)מטרה
TWO EGGES PROBLEM
•: דינמי תכנות פתרון
ב • במקרה ) F(n,k) נסמן מינימלית כמות את ) יש כאשר שצריך זריקות של ביותר הגרוע
בן ביניין וברשותינו nלנו ביצים kקומות
היא • שלנו F(100,2)מטרה
•F(n,1)?=
TWO EGGES PROBLEM
•: דינמי תכנות פתרון
ב • במקרה ) F(n,k) נסמן מינימלית כמות את ) יש כאשר שצריך זריקות של ביותר הגרוע
בן ביניין וברשותינו nלנו ביצים kקומות
היא • שלנו F(100,2)מטרה
•F(n,1)=n-1
•F(n,2)?=
TWO EGGES PROBLEM
•: דינמי תכנות פתרון
ב • במקרה ) F(n,k) נסמן מינימלית כמות את ) יש כאשר שצריך זריקות של ביותר הגרוע
בן ביניין וברשותינו nלנו ביצים kכמות
TWO EGGES PROBLEM
•: דינמי תכנות פתרון
ב • במקרה ) F(n,k) נסמן מינימלית כמות את ) יש כאשר שצריך זריקות של ביותר הגרוע
בן ביניין וברשותינו nלנו ביצים kכמות
TWO EGGES PROBLEM
•: דינמי תכנות פתרון
ב • במקרה ) F(n,k) נסמן מינימלית כמות את ) יש כאשר שצריך זריקות של ביותר הגרוע
בן ביניין וברשותינו nלנו ביצים kכמות
TWO EGGES PROBLEM
•: דינמי תכנות פתרון
ב • במקרה ) F(n,k) נסמן מינימלית כמות את ) יש כאשר שצריך זריקות של ביותר הגרוע
בן ביניין וברשותינו nלנו ביצים kכמות
TWO EGGES PROBLEM
•: דינמי תכנות פתרון
ב • במקרה ) F(n,k) נסמן מינימלית כמות את ) יש כאשר שצריך זריקות של ביותר הגרוע
בן ביניין וברשותינו nלנו ביצים kכמות
TWO EGGES PROBLEM
FACTORIAL QUESTION
• How many zeros are there in 100! (100 factorial)?
• X!=1*2*3*…*X
FACTORIAL QUESTION
• How many zeros are there in 100! (100 factorial)?
• X!=1*2*3*…*X=Gamma(x+1)
• 0.5!=sqrt(pi)
FACTORIAL QUESTION
• How many zeros are there in 100! (100 factorial)?
• : נאיבי פתרון
FACTORIAL QUESTION
• How many zeros are there in 100! (100 factorial)?
• : ישיר חישוב נאיבי פתרון• 100!=93, 326, 215, 443, 944, 152, 681, 699, 238, 856, 266, 700, 490, 715,
968, 264, 381, 621, 468, 592, 963, 895, 217, 599, 993, 229, 915, 608, 941, 463, 976, 156, 518, 286, 253, 697, 920, 827, 223, 758, 251, 185, 210, 916, 864, 000, 000, 000, 000, 000, 000, 000, 000
חסרנות:•
FACTORIAL QUESTION
• How many zeros are there in 100! (100 factorial)?
• : משופר פתרון
24 zeros on the end of 100!
FACTORIAL QUESTION
• How many zeros are there in 100! (100 factorial)?
• : טוב יותר פתרון
FACTORIAL QUESTION
• How many zeros are there in 100! (100 factorial)?
• : טוב יותר פתרון
• [100/5]+
FACTORIAL QUESTION
• How many zeros are there in 100! (100 factorial)?
• : טוב יותר פתרון
• [100/5]+[100/5^2]=24
SIMPLE QUESTION
במערך • מינימום שמחזיר אלגוריתם פתחוהריצה זמן O(loglog(n))בסיבוכיות
SIMPLE QUESTION
במערך • מינימום שמחזיר אלגוריתם פתחוהריצה זמן O(loglog(n))בסיבוכיות
כי: ?• אפשר אי תשובה
SIMPLE QUESTION 1
במערך • מינימום שמחזיר אלגוריתם פתחוהריצה זמן O(loglog(n))בסיבוכיות
• , מיון: לממש נוכל אחרת כי אפשר אי תשובהזמן אפשרי O(nloglog(n))בסיבוכיות בילתי שזה
נתונים מבני
SIMPLE QUESTION 2
אחרת • תכנית שמקבלת תכנית כקלט Aכתבו" 1ומחזירה תכנית של ריצה בזמן ם היא Aאם
HELLO WORLDתדפיס
SIMPLE QUESTION 2
אחרת • תכנית שמקבלת תכנית כקלט Aכתבו" 1ומחזירה תכנית של ריצה בזמן ם היא Aאם
HELLO WORLDתדפיס
תשובה:•
SIMPLE QUESTION 2
אחרת • תכנית שמקבלת תכנית כקלט Aכתבו" 1ומחזירה תכנית של ריצה בזמן ם היא Aאם
HELLO WORLDתדפיס
• , העצירה: בעיות אפשר אי תשובה
CHANGE COINS PROBLEM - 3
כדי • שצריך מטבעות של מינימלית כמות היא מהעודף את, nלהחזיר מחזירים שבו סדר כאשר
, מטבעות אינסוף לנו יש חשוב לא המטבעות1,2,5,10מסוג:
CHANGE COINS PROBLEM - 3
כדי • שצריך מטבעות של מינימלית כמות היא מהעודף את, nלהחזיר מחזירים שבו סדר כאשר
, מטבעות אינסוף לנו יש חשוב לא המטבעות1,2,5,10מסוג:
• (1,1,1,2)=(1,1,2,1)=…=(2,1,1,1)
• (1,3,5)=(3,5,1)=(5,3,1)
CHANGE COINS PROBLEM - 3
כדי • שצריך מטבעות של מינימלית כמות היא מהעודף את, nלהחזיר מחזירים שבו סדר כאשר
, מטבעות אינסוף לנו יש חשוב לא המטבעות1,2,5,10מסוג:
• (1,1,1,2)=(1,1,2,1)=…=(2,1,1,1)
• (1,3,5)=(3,5,1)=(5,3,1)
רק • בחשבון לקחת יש הזהות האפשרויות כל ביןאחד
CHANGE COINS PROBLEM - 3
כדי • שצריך מטבעות של מינימלית כמות היא מהעודף את, nלהחזיר מחזירים שבו סדר כאשר
, מטבעות אינסוף לנו יש חשוב לא המטבעות1,2,5,10מסוג:
• (1,1,1,2)=(1,1,2,1)=…=(2,1,1,1)
• (1,3,5)=(3,5,1)=(5,3,1)
רק • בחשבון לקחת יש הזהות האפשרויות כל ביןיורד, בסדר ממוינת אפשרות ניקח אחד
CHANGE COINS PROBLEM - 3
כדי • שצריך מטבעות של מינימלית כמות היא מהעודף את, nלהחזיר מחזירים שבו סדר כאשר
, מטבעות אינסוף לנו יש חשוב לא המטבעות1,2,5,10מסוג:
רק • בחשבון לקחת יש הזהות האפשרויות כל ביןיורד, בסדר ממוינת אפשרות ניקח אחד
גם • נצטרך להחזיר שיש העודף לגודל בנוסף אזבו להשמש שאפשר המקסימלי מטבע מהו לזכור
CHANGE COINS PROBLEM - 3
F(n,k)נדגיר – •
CHANGE COINS PROBLEM - 3
עודף F(n,k)נדגיר – • להחזיר אפשרויות nכמותשאפשר מקסימלי ומטבע חשוב לא הסדר כאשר
- ל שווה בו kלהשתמש
אזי•
• F(n,1)=1
CHANGE COINS PROBLEM - 3
עודף F(n,k)נדגיר – • להחזיר אפשרויות nכמותשאפשר מקסימלי ומטבע חשוב לא הסדר כאשר
- ל שווה בו kלהשתמש
אזי•
• F(n,1)=1
• F(n,2)=F(n-2,?) ? F(n-1,?)
CHANGE COINS PROBLEM - 3
עודף F(n,k)נדגיר – • להחזיר אפשרויות nכמותשאפשר מקסימלי ומטבע חשוב לא הסדר כאשר
- ל שווה בו kלהשתמש
אזי•
• F(n,1)=1
• F(n,2)=F(n-2,2) ? F(n-1,?)
CHANGE COINS PROBLEM - 3
עודף F(n,k)נדגיר – • להחזיר אפשרויות nכמותשאפשר מקסימלי ומטבע חשוב לא הסדר כאשר
- ל שווה בו kלהשתמש
אזי•
• F(n,1)=1
• F(n,2)=F(n-2,2) ? F(n-1,1)
CHANGE COINS PROBLEM - 3
עודף F(n,k)נדגיר – • להחזיר אפשרויות nכמותשאפשר מקסימלי ומטבע חשוב לא הסדר כאשר
- ל שווה בו kלהשתמש
אזי•
• F(n,1)=1
• F(n,2)=F(n-2,2) + F(n-1,1)
• F(n,3)=F(n-3,3) + F(n-2,2) + F(n-1,1)
• F(n,5)=…..
CHANGE COINS PROBLEM - 3
יוצרות – • פונקציות נוסף פתרון