SlideShare a Scribd company logo
‫פגישה‬5
2015
(с) Igor Kleiner
‫הייטק‬ ‫למשרת‬ ‫עבודה‬ ‫לראיון‬ ‫הכנה‬ ‫סדנת‬
PROGRAMMING INTERVIEWS EXPOSED
ראיון בהייטק פגישה 5 - programer interview lesson 5
ABOUT COURSE
REMINDER
RESUMES
RESUMES
• Everyone will ask you to see resume
RESUMES
• Everyone will ask you to see resume
• Good resume is necessary but not sufficient
RESUME EXAMPLE
ראיון בהייטק פגישה 5 - programer interview lesson 5
RESUMES
• Sell yourself
•‫את‬ ‫לספר‬ ‫לא‬ ‫היא‬ ‫החיים‬ ‫קורות‬ ‫של‬ ‫המטרה‬
‫ההסטורי‬‫י‬‫שלך‬ ‫ה‬,‫עבודה‬ ‫למצוא‬ ‫אלה‬
RESUMES
• Keep it short
‫מספיק‬ ‫סטודנט‬ ‫או‬ ‫מתחיל‬ ‫למהנדס‬ ‫כלל‬ ‫בדרך‬
‫עמוד‬1
RESUMES
• List the right information: use buzzwords – R,
JAVA, OPENCL, …
RESUMES
• Be clear: don’t use many fonts or formats
RESUMES
• Include only relevant information
•‫נלדתה‬ ‫איפה‬ ‫לציין‬ ‫חייבים‬ ‫לא‬
•‫סיימתה‬ ‫ספר‬ ‫בית‬ ‫איזה‬
•‫מיד‬ ‫לרשום‬ ‫כדאי‬ ‫לא‬‫ע‬‫אבל‬ ‫לעזור‬ ‫יכול‬ ‫שלא‬
‫לפגוע‬ ‫עלול‬
RESUMES
• Use reverse chronological order
RESUMES
• Always proofread
•‫כתיב‬ ‫טעויות‬ ‫שאין‬ ‫לבדוק‬ ‫כדאי‬
RESUME - EXAMPLE
RESUME - EXAMPLE
RESUME - EXAMPLE
RESUME
• Checklist
• 1 page
• only relevant information
• well structured
• reverse chronological order
• buzzwords
RESUME
•‫החיים‬ ‫קורות‬ ‫מספר‬ ‫להכין‬ ‫כדאי‬ ‫לפעמים‬
‫מסוימים‬ ‫לתפקידים‬ ‫יתור‬ ‫שמתאים‬
•‫החיים‬ ‫קורות‬ ‫להכין‬ ‫עדיף‬ ‫לפעמים‬
‫באנגלית‬ ‫ולפעמים‬ ‫בעיברית‬
ראיון בהייטק פגישה 5 - programer interview lesson 5
INVARIANT QUESTIONS
INVARIANT QUESTIONS
CHESS
INVARIANT QUESTIONS
CHESS
•‫לוח‬ ‫על‬ ‫השאלה‬ ‫את‬ ‫לפתור‬ ‫לנסות‬ ‫אפשר‬
•2*2
INVARIANT QUESTIONS
CHESS
•‫לוח‬ ‫על‬ ‫השאלה‬ ‫את‬ ‫לפתור‬ ‫לנסות‬ ‫אפשר‬
•2*2–‫אפשר‬ ‫אי‬
INVARIANT QUESTIONS
CHESS
•‫לוח‬ ‫על‬ ‫השאלה‬ ‫את‬ ‫לפתור‬ ‫לנסות‬ ‫אפשר‬
•4*4-
INVARIANT QUESTIONS
CHESS
•‫לוח‬ ‫על‬ ‫השאלה‬ ‫את‬ ‫לפתור‬ ‫לנסות‬ ‫אפשר‬
•4*4–‫אפשר‬ ‫אי‬
INVARIANT QUESTIONS
CHESS
•‫לוח‬ ‫על‬ ‫השאלה‬ ‫את‬ ‫לפתור‬ ‫לנסות‬ ‫אפשר‬
•4*4–‫אפשר‬ ‫אי‬
•‫ניחוש‬:
INVARIANT QUESTIONS
CHESS
•‫לוח‬ ‫על‬ ‫השאלה‬ ‫את‬ ‫לפתור‬ ‫לנסות‬ ‫אפשר‬
•4*4–‫אפשר‬ ‫אי‬
•‫ניחוש‬:‫אפשרית‬ ‫בילתי‬ ‫המשימה‬ ‫כנראה‬
INVARIANT QUESTIONS
CHESS
•‫לוח‬ ‫על‬ ‫השאלה‬ ‫את‬ ‫לפתור‬ ‫לנסות‬ ‫אפשר‬
•4*4–‫אפשר‬ ‫אי‬
•‫ניחוש‬:‫אפשרית‬ ‫בילתי‬ ‫המשימה‬ ‫כנראה‬
•‫נוכיח‬ ‫איך‬?
INVARIANT QUESTIONS
CHESS
•‫לוח‬ ‫על‬ ‫השאלה‬ ‫את‬ ‫לפתור‬ ‫לנסות‬ ‫אפשר‬
•4*4–‫אפשר‬ ‫אי‬
•‫ניחוש‬:‫אפשרית‬ ‫בילתי‬ ‫המשימה‬ ‫כנראה‬
•‫נוכיח‬ ‫איך‬?
•‫אינוריאנט‬–‫משבצת‬ ‫מכסה‬ ‫דומינו‬ ‫כל‬
‫שחורה‬1‫אחד‬ ‫לבנה‬ ‫ומשבצת‬
INVARIANT QUESTIONS
CHESS
•‫לוח‬ ‫על‬ ‫השאלה‬ ‫את‬ ‫לפתור‬ ‫לנסות‬ ‫אפשר‬
•4*4–‫אפשר‬ ‫אי‬
•‫ניחוש‬:‫אפשרית‬ ‫בילתי‬ ‫המשימה‬ ‫כנראה‬
•‫נוכיח‬ ‫איך‬?
•‫אינוריאנט‬–‫שחורה‬ ‫משבצת‬ ‫מכסה‬ ‫דומינו‬ ‫כל‬
1‫אחד‬ ‫לבנה‬ ‫ומשבצת‬,‫יש‬ ‫אבל‬32–30
‫משבצות‬
INVARIANT QUESTIONS
MARBLES
INVARIANT QUESTIONS
MARBLES
INVARIANT QUESTIONS
MARBLES
INVARIANT QUESTIONS
MARBLES
INVARIANT QUESTIONS
MARBLES
INVARIANT QUESTIONS
MARBLES
INVARIANT QUESTIONS
MARBLES
INVARIANT QUESTIONS
MARBLES
INVARIANT QUESTIONS
MARBLES
INVARIANT QUESTIONS
MARBLES
INVARIANT QUESTIONS
MARBLES
INVARIANT QUESTIONS
MARBLES
INVARIANT QUESTIONS
MARBLES
INVARIANT QUESTIONS
MARBLES
INVARIANT QUESTIONS
MARBLES
INVARIANT QUESTIONS
MARBLES
INVARIANT QUESTIONS
MARBLES
•‫כאן‬ ‫שמורה‬ ‫מה‬?
INVARIANT QUESTIONS
MARBLES
•‫כאן‬ ‫שמורה‬ ‫מה‬:
•‫קצת‬ ‫נחשוב‬ ‫אם‬,‫האדומים‬ ‫שכמות‬ ‫נראה‬
‫זוגי‬ ‫במספר‬ ‫משתנה‬ ‫פעם‬ ‫כל‬0‫או‬2
•‫יש‬ ‫בהתחלה‬5‫אם‬ ‫בסוף‬ ‫ולכן‬ ‫אדמים‬
‫אדומה‬ ‫היא‬ ‫אז‬ ‫אחד‬ ‫אבן‬ ‫ישאר‬.
ראיון בהייטק פגישה 5 - programer interview lesson 5
ראיון בהייטק פגישה 5 - programer interview lesson 5
ראיון בהייטק פגישה 5 - programer interview lesson 5
MAGIC STAIRS
•‫בן‬ ‫בסולם‬ ‫לעלות‬ ‫ניתן‬ ‫אפשרויות‬ ‫בכמה‬N
‫מדרגות‬,‫בגודל‬ ‫הוא‬ ‫צעד‬ ‫כל‬ ‫כאשר‬1‫או‬2
MAGIC STAIRS
•‫בן‬ ‫בסולם‬ ‫לעלות‬ ‫ניתן‬ ‫אפשרויות‬ ‫בכמה‬N
‫מדרגות‬,‫בגודל‬ ‫הוא‬ ‫צעד‬ ‫כל‬ ‫כאשר‬1‫או‬2
•‫פתרון‬:
MAGIC STAIRS
•‫בן‬ ‫בסולם‬ ‫לעלות‬ ‫ניתן‬ ‫אפשרויות‬ ‫בכמה‬N
‫מדרגות‬,‫בגודל‬ ‫הוא‬ ‫צעד‬ ‫כל‬ ‫כאשר‬1‫או‬2
•‫פתרון‬:
•‫א‬)‫למראיין‬ ‫שאלות‬
MAGIC STAIRS
•‫בן‬ ‫בסולם‬ ‫לעלות‬ ‫ניתן‬ ‫אפשרויות‬ ‫בכמה‬N
‫מדרגות‬,‫בגודל‬ ‫הוא‬ ‫צעד‬ ‫כל‬ ‫כאשר‬1‫או‬2
•‫פתרון‬:
•‫א‬)‫למראיין‬ ‫שאלות‬
•‫ב‬)‫הבעיה‬ ‫את‬ ‫לחקות‬ ‫נתחיל‬:
MAGIC STAIRS
•‫בן‬ ‫בסולם‬ ‫לעלות‬ ‫ניתן‬ ‫אפשרויות‬ ‫בכמה‬N
‫מדרגות‬,‫בגודל‬ ‫הוא‬ ‫צעד‬ ‫כל‬ ‫כאשר‬1‫או‬2
•‫פתרון‬:
•‫א‬)‫למראיין‬ ‫שאלות‬
•‫ב‬)‫הבעיה‬ ‫את‬ ‫לחקות‬ ‫נתחיל‬:
MAGIC STAIRS
•‫בן‬ ‫בסולם‬ ‫לעלות‬ ‫ניתן‬ ‫אפשרויות‬ ‫בכמה‬N
‫מדרגות‬,‫בגודל‬ ‫הוא‬ ‫צעד‬ ‫כל‬ ‫כאשר‬1‫או‬2
•‫פתרון‬:
•‫א‬)‫למראיין‬ ‫שאלות‬
•‫ב‬)‫הבעיה‬ ‫את‬ ‫לחקות‬ ‫נתחיל‬:
MAGIC STAIRS
•‫בן‬ ‫בסולם‬ ‫לעלות‬ ‫ניתן‬ ‫אפשרויות‬ ‫בכמה‬N
‫מדרגות‬,‫בגודל‬ ‫הוא‬ ‫צעד‬ ‫כל‬ ‫כאשר‬1‫או‬2
•‫פתרון‬:
•‫א‬)‫למראיין‬ ‫שאלות‬
•‫ב‬)‫הבעיה‬ ‫את‬ ‫לחקות‬ ‫נתחיל‬:
MAGIC STAIRS
•‫בן‬ ‫בסולם‬ ‫לעלות‬ ‫ניתן‬ ‫אפשרויות‬ ‫בכמה‬N
‫מדרגות‬,‫בגודל‬ ‫הוא‬ ‫צעד‬ ‫כל‬ ‫כאשר‬1‫או‬2
•‫פתרון‬:
•‫א‬)‫למראיין‬ ‫שאלות‬
•‫ב‬)‫הבעיה‬ ‫את‬ ‫לחקות‬ ‫נתחיל‬:
1 2 3 4 5 6 7
1 2 3 5 8 13 ?
MAGIC STAIRS
•‫בן‬ ‫בסולם‬ ‫לעלות‬ ‫ניתן‬ ‫אפשרויות‬ ‫בכמה‬N
‫מדרגות‬,‫בגודל‬ ‫הוא‬ ‫צעד‬ ‫כל‬ ‫כאשר‬1‫או‬2
•‫פתרון‬:
•‫א‬)‫למראיין‬ ‫שאלות‬
•‫ב‬)‫הבעיה‬ ‫את‬ ‫לחקות‬ ‫נתחיל‬:
1 2 3 4 5 6 7
1 2 3 5 8 13 21
MAGIC STAIRS
•‫בן‬ ‫בסולם‬ ‫לעלות‬ ‫ניתן‬ ‫אפשרויות‬ ‫בכמה‬N
‫מדרגות‬,‫בגודל‬ ‫הוא‬ ‫צעד‬ ‫כל‬ ‫כאשר‬1‫או‬2
•‫ניחוש‬–
1 2 3 4 5 6 7
1 2 3 5 8 13 21
MAGIC STAIRS
•‫בן‬ ‫בסולם‬ ‫לעלות‬ ‫ניתן‬ ‫אפשרויות‬ ‫בכמה‬N
‫מדרגות‬,‫בגודל‬ ‫הוא‬ ‫צעד‬ ‫כל‬ ‫כאשר‬1‫או‬2
•‫ניחוש‬–‫פיובנצי‬ ‫סדרת‬
1 2 3 4 5 6 7
1 2 3 5 8 13 21
MAGIC STAIRS
•‫בן‬ ‫בסולם‬ ‫לעלות‬ ‫ניתן‬ ‫אפשרויות‬ ‫בכמה‬N
‫מדרגות‬,‫בגודל‬ ‫הוא‬ ‫צעד‬ ‫כל‬ ‫כאשר‬1‫או‬2
•‫ניחוש‬–‫פיובנצי‬ ‫סדרת‬
•‫נכונות‬ ‫נוכיח‬ ‫איך‬?
1 2 3 4 5 6 7
1 2 3 5 8 13 21
MAGIC STAIRS
•‫בן‬ ‫בסולם‬ ‫לעלות‬ ‫ניתן‬ ‫אפשרויות‬ ‫בכמה‬N
‫מדרגות‬,‫בגודל‬ ‫הוא‬ ‫צעד‬ ‫כל‬ ‫כאשר‬1‫או‬2
•‫ניחוש‬–‫פיובנצי‬ ‫סדרת‬
•‫נכונות‬ ‫נוכיח‬ ‫איך‬
•‫באינדוקציה‬ ‫אפשר‬
•‫דינמי‬ ‫תכנות‬
•‫יוצרת‬ ‫פונקצייה‬
MAGIC STAIRS
•‫בן‬ ‫בסולם‬ ‫לעלות‬ ‫ניתן‬ ‫אפשרויות‬ ‫בכמה‬N
‫מדרגות‬,‫בגודל‬ ‫הוא‬ ‫צעד‬ ‫כל‬ ‫כאשר‬1‫או‬2
•‫דינמי‬ ‫תכנות‬ ‫בעזרת‬ ‫השאלה‬ ‫את‬ ‫נפתור‬:
MAGIC STAIRS
•‫בן‬ ‫בסולם‬ ‫לעלות‬ ‫ניתן‬ ‫אפשרויות‬ ‫בכמה‬N
‫מדרגות‬,‫בגודל‬ ‫הוא‬ ‫צעד‬ ‫כל‬ ‫כאשר‬1‫או‬2
•‫דינמי‬ ‫תכנות‬ ‫בעזרת‬ ‫השאלה‬ ‫את‬ ‫נפתור‬:
•‫ב‬ ‫נסמם‬-a(n)‫האפשריות‬ ‫העליות‬ ‫כמות‬ ‫את‬
‫ממדרגה‬n‫הסוף‬ ‫עד‬.
•‫שלנו‬ ‫המטרה‬ ‫אזי‬?
MAGIC STAIRS
•‫בן‬ ‫בסולם‬ ‫לעלות‬ ‫ניתן‬ ‫אפשרויות‬ ‫בכמה‬N
‫מדרגות‬,‫בגודל‬ ‫הוא‬ ‫צעד‬ ‫כל‬ ‫כאשר‬1‫או‬2
•‫דינמי‬ ‫תכנות‬ ‫בעזרת‬ ‫השאלה‬ ‫את‬ ‫נפתור‬:
•‫ב‬ ‫נסמם‬-a(n)‫האפשריות‬ ‫העליות‬ ‫כמות‬ ‫את‬
‫ממדרגה‬n‫הסוף‬ ‫עד‬.
•‫שלנו‬ ‫המטרה‬ ‫אזי‬a(1) = :
MAGIC STAIRS
•‫בן‬ ‫בסולם‬ ‫לעלות‬ ‫ניתן‬ ‫אפשרויות‬ ‫בכמה‬N
‫מדרגות‬,‫בגודל‬ ‫הוא‬ ‫צעד‬ ‫כל‬ ‫כאשר‬1‫או‬2
•‫דינמי‬ ‫תכנות‬ ‫בעזרת‬ ‫השאלה‬ ‫את‬ ‫נפתור‬:
•‫ב‬ ‫נסמם‬-a(n)‫האפשריות‬ ‫העליות‬ ‫כמות‬ ‫את‬
‫ממדרגה‬n‫הסוף‬ ‫עד‬.
•‫שלנו‬ ‫המטרה‬ ‫אזי‬a(1) = :
•a(N)=1
MAGIC STAIRS
•‫בן‬ ‫בסולם‬ ‫לעלות‬ ‫ניתן‬ ‫אפשרויות‬ ‫בכמה‬N
‫מדרגות‬,‫בגודל‬ ‫הוא‬ ‫צעד‬ ‫כל‬ ‫כאשר‬1‫או‬2
•‫דינמי‬ ‫תכנות‬ ‫בעזרת‬ ‫השאלה‬ ‫את‬ ‫נפתור‬:
•‫ב‬ ‫נסמם‬-a(n)‫האפשריות‬ ‫העליות‬ ‫כמות‬ ‫את‬
‫ממדרגה‬n‫הסוף‬ ‫עד‬.
•‫שלנו‬ ‫המטרה‬ ‫אזי‬a(1) = :
•a(N)=1a(N-1)=1
•a(k)=a(k+1)+a(k+2)
MAGIC STAIRS
•‫בן‬ ‫בסולם‬ ‫לעלות‬ ‫ניתן‬ ‫אפשרויות‬ ‫בכמה‬N
‫מדרגות‬,‫בגודל‬ ‫הוא‬ ‫צעד‬ ‫כל‬ ‫כאשר‬1‫או‬2
•‫דינמי‬ ‫תכנות‬ ‫בעזרת‬ ‫השאלה‬ ‫את‬ ‫נפתור‬:
•‫ב‬ ‫נסמם‬-a(n)‫האפשריות‬ ‫העליות‬ ‫כמות‬ ‫את‬
‫ממדרגה‬n‫הסוף‬ ‫עד‬.
•‫שלנו‬ ‫המטרה‬ ‫אזי‬a(1) = :
•a(N)=1a(N-1)=1
•a(k)=a(k+1)+a(k+2)‫המשוואות‬ ‫את‬ ‫בידיוק‬ ‫ואלו‬
‫פיובנצי‬ ‫סדרת‬ ‫של‬
MAGIC STAIRS
•‫בן‬ ‫בסולם‬ ‫לעלות‬ ‫ניתן‬ ‫אפשרויות‬ ‫בכמה‬N
‫מדרגות‬,‫בגודל‬ ‫הוא‬ ‫צעד‬ ‫כל‬ ‫כאשר‬1‫או‬2
•‫דינמי‬ ‫תכנות‬ ‫בעזרת‬ ‫השאלה‬ ‫את‬ ‫נפתור‬:
•a(k)=a(k+1)+a(k+2)
‫סיבוכיות‬:
MAGIC STAIRS
•‫בן‬ ‫בסולם‬ ‫לעלות‬ ‫ניתן‬ ‫אפשרויות‬ ‫בכמה‬N
‫מדרגות‬,‫בגודל‬ ‫הוא‬ ‫צעד‬ ‫כל‬ ‫כאשר‬1‫או‬2
•‫דינמי‬ ‫תכנות‬ ‫בעזרת‬ ‫השאלה‬ ‫את‬ ‫נפתור‬:
•a(k)=a(k+1)+a(k+2)
‫סיבוכיות‬:O(n)
MAGIC STAIRS
•‫בן‬ ‫בסולם‬ ‫לעלות‬ ‫ניתן‬ ‫אפשרויות‬ ‫בכמה‬N
‫מדרגות‬,‫בגודל‬ ‫הוא‬ ‫צעד‬ ‫כל‬ ‫כאשר‬1‫או‬2
•‫פשוט‬ ‫תחתון‬ ‫חסם‬:
MAGIC STAIRS
•‫בן‬ ‫בסולם‬ ‫לעלות‬ ‫ניתן‬ ‫אפשרויות‬ ‫בכמה‬N
‫מדרגות‬,‫בגודל‬ ‫הוא‬ ‫צעד‬ ‫כל‬ ‫כאשר‬1‫או‬2
•‫פשוט‬ ‫תחתון‬ ‫חסם‬:
MAGIC STAIRS
•‫בן‬ ‫בסולם‬ ‫לעלות‬ ‫ניתן‬ ‫אפשרויות‬ ‫בכמה‬N
‫מדרגות‬,‫בגודל‬ ‫הוא‬ ‫צעד‬ ‫כל‬ ‫כאשר‬1‫או‬2
•‫כסם‬ ‫פתרון‬–‫יוצרת‬ ‫פונקצייה‬
MISSING ELEMENT
‫מערך‬ ‫נתון‬A‫חיובים‬ ‫שלמים‬ ‫מספרים‬ ‫של‬.
‫מערך‬ ‫בונים‬B‫הבא‬ ‫באופן‬:‫איברי‬ ‫את‬ ‫אקראית‬ ‫מערבבים‬
‫של‬A‫אחרון‬ ‫איבר‬ ‫ומוחקים‬
MISSING ELEMENT
‫מערך‬ ‫נתון‬A‫חיובים‬ ‫שלמים‬ ‫מספרים‬ ‫של‬.
‫מערך‬ ‫בונים‬B‫הבא‬ ‫באופן‬:‫איברי‬ ‫את‬ ‫אקראית‬ ‫מערבבים‬
‫של‬A‫אחרון‬ ‫איבר‬ ‫ומוחקים‬
MISSING ELEMENT
‫האלמנט‬ ‫את‬ ‫שמחזיר‬ ‫יעיל‬ ‫אלגוריתם‬ ‫פתח‬
‫במערך‬ ‫החוסר‬B
MISSING ELEMENT
‫האלמנט‬ ‫את‬ ‫שמחזיר‬ ‫יעיל‬ ‫אלגוריתם‬ ‫פתח‬
‫במערך‬ ‫החוסר‬B
MISSING ELEMENT
•‫למראיון‬ ‫שאלות‬?
•‫זהים‬ ‫מספרים‬ ‫במערך‬ ‫יש‬ ‫האם‬?
•‫נראה‬ ‫האם‬6‫פתרונות‬
•‫לבד‬ ‫האפשריות‬ ‫פתרונות‬ ‫על‬ ‫חשבו‬
MISSING ELEMENT
•‫נאיבי‬ ‫פרתרון‬:
MISSING ELEMENT
•‫הנאיבי‬ ‫פרתרון‬:
•‫מ‬ ‫איבר‬ ‫כל‬ ‫על‬ ‫נעבור‬-A‫הוא‬ ‫האם‬ ‫ונבדוק‬
‫ב‬-B
MISSING ELEMENT
•‫הנאיבי‬ ‫פרתרון‬:
•‫מ‬ ‫איבר‬ ‫כל‬ ‫על‬ ‫נעבור‬-A‫הוא‬ ‫האם‬ ‫ונבדוק‬
‫ב‬-B
• for i=1 to size(A)
• check if A[i] in B “(for j=1 to size(B))”
• end
MISSING ELEMENT
•‫הנאיבי‬ ‫פרתרון‬:
•‫מ‬ ‫איבר‬ ‫כל‬ ‫על‬ ‫נעבור‬-A‫הוא‬ ‫האם‬ ‫ונבדוק‬
‫ב‬-B
• for i=1 to size(A)
• check if A[i] in B “(for j=1 to size(B))”
• end
• time complexity:
MISSING ELEMENT
•‫הנאיבי‬ ‫פרתרון‬:
•‫מ‬ ‫איבר‬ ‫כל‬ ‫על‬ ‫נעבור‬-A‫הוא‬ ‫האם‬ ‫ונבדוק‬
‫ב‬-B
• for i=1 to size(A)
• check if A[i] in B “(for j=1 to size(B))”
• end
• time complexity: size(A)*size(B)= O(n^2)
MISSING ELEMENT
•‫סיכום‬ ‫הנאיבי‬ ‫פרתרון‬:
•‫יור‬ ‫לפתרון‬ ‫חסם‬ ‫מהווה‬ ‫נאיבי‬ ‫פתרון‬
‫יעיל‬
•‫מפחדים‬ ‫לא‬ ‫שאתם‬ ‫מראה‬ ‫נאיבי‬ ‫פתרון‬
‫אותה‬ ‫לפתור‬ ‫ומתחילים‬ ‫משאלה‬
•‫נאיבי‬ ‫פתרון‬ ‫על‬ ‫חשיבה‬ ‫בזמן‬ ‫לפעמים‬
‫אותו‬ ‫לשפר‬ ‫האך‬ ‫להבין‬ ‫אשר‬
MISSING ELEMENT
•‫משופר‬ ‫הנאיבי‬ ‫פרתרון‬:
MISSING ELEMENT
•‫משופר‬ ‫הנאיבי‬ ‫פרתרון‬:
•‫יעיל‬ ‫לא‬ ‫באופן‬ ‫פעם‬ ‫כל‬ ‫לחפש‬ ‫למה‬?
•‫את‬ ‫נמיין‬B‫בינרי‬ ‫בחיפוש‬ ‫נעזר‬ ‫ואז‬
MISSING ELEMENT
•‫משופר‬ ‫הנאיבי‬ ‫פרתרון‬:
•‫יעיל‬ ‫לא‬ ‫באופן‬ ‫פעם‬ ‫כל‬ ‫לחפש‬ ‫למה‬?
•‫את‬ ‫נמיין‬B‫בינרי‬ ‫בחיפוש‬ ‫נעזר‬ ‫ואז‬
•‫את‬ ‫נמיין‬ ‫איך‬B?
•‫מיונים‬ ‫על‬ ‫לשאלות‬ ‫מוכנים‬ ‫תהיו‬?
MISSING ELEMENT
•‫משופר‬ ‫הנאיבי‬ ‫פרתרון‬:
•‫יעיל‬ ‫לא‬ ‫באופן‬ ‫פעם‬ ‫כל‬ ‫לחפש‬ ‫למה‬?
•‫את‬ ‫נמיין‬B‫בינרי‬ ‫בחיפוש‬ ‫נעזר‬ ‫ואז‬
•‫את‬ ‫נמיין‬ ‫איך‬B?quick sort
•‫מיונים‬ ‫על‬ ‫לשאלות‬ ‫מוכנים‬ ‫תהיו‬?
SORTING ALGORITHMS
MISSING ELEMENT
•‫משופר‬ ‫הנאיבי‬ ‫פרתרון‬:
• Sort(B)
• For each a in A
• Check if a is in B
• end
MISSING ELEMENT
•‫משופר‬ ‫הנאיבי‬ ‫פרתרון‬:
• Sort(B) // nlgn
• For each a in A // n
• Check if a is in B //lgn
• end
MISSING ELEMENT
•‫משופר‬ ‫הנאיבי‬ ‫פרתרון‬:
• Sort(B) // nlgn
• For each a in A // n
• Check if a is in B //lgn
• end
• Time complexity:
MISSING ELEMENT
•‫משופר‬ ‫הנאיבי‬ ‫פרתרון‬:
• Sort(B) // nlgn
• For each a in A // n
• Check if a is in B //lgn
• end
• Time complexity: n*lg(n)
MISSING ELEMENT
•‫ב‬ ‫משופר‬ ‫הנאיבי‬ ‫פרתרון‬:
•‫מערך‬ ‫גם‬ ‫נמיין‬ ‫אולי‬A?
MISSING ELEMENT
•‫ב‬ ‫משופר‬ ‫הנאיבי‬ ‫פרתרון‬:
•‫מערך‬ ‫גם‬ ‫נמיין‬ ‫אולי‬A?
• Sort(B), Sort A // nlgn
• for i=1 to N
• check if A[i]==B[i]
• end
• time complexity:
MISSING ELEMENT
•‫ב‬ ‫משופר‬ ‫הנאיבי‬ ‫פרתרון‬:
•‫מערך‬ ‫גם‬ ‫נמיין‬ ‫אולי‬A?
• Sort(B), Sort A // nlgn
• for i=1 to N
• check if A[i]==B[i]
• end
• time complexity: n lg(n) + ‫אם‬ ‫גם‬ ‫עובוד‬ ‫אלגוריתם‬
‫זהים‬ ‫מספרים‬ ‫יש‬
MISSING ELEMENT
•‫טוב‬ ‫פרתרון‬:
•‫לינארי‬ ‫בזמן‬ ‫שעובד‬ ‫פתרון‬ ‫קיים‬ ‫האם‬?
MISSING ELEMENT
•‫טוב‬ ‫פרתרון‬:
•‫לינארי‬ ‫בזמן‬ ‫שעובד‬ ‫פתרון‬ ‫קיים‬ ‫האם‬?
•‫לינארי‬?HASH!
MISSING ELEMENT
•‫טוב‬ ‫פרתרון‬:
•‫לינארי‬ ‫בזמן‬ ‫שעובד‬ ‫פתרון‬ ‫קיים‬ ‫האם‬?
•‫לינארי‬?HASH!
•‫על‬ ‫לשאלות‬ ‫מוכנים‬ ‫תהיו‬HASH
ראיון בהייטק פגישה 5 - programer interview lesson 5
MISSING ELEMENT
•‫טוב‬ ‫פרתרון‬:
• for each b in B insert b in HASH and increment it
counter
• for each a in A decrement it counter. If counter of
a <=0 return a
MISSING ELEMENT
•‫טוב‬ ‫פרתרון‬:
• for each b in B insert b in HASH and increment it
counter
• for each a in A decrement it counter. If counter of
a <=0 return a
• Time complexity:
• Space complexity:
MISSING ELEMENT
•‫טוב‬ ‫פרתרון‬:
• for each b in B insert b in HASH and increment it
counter
• for each a in A decrement it counter. If counter of
a <=0 return a
• Time complexity: O(n)
• Space complexity: O(n) + ‫יותר‬ ‫אלגוריתם‬
‫זהים‬ ‫מספרים‬ ‫עם‬ ‫להתמודד‬
MISSING ELEMENT
•‫טוב‬ ‫פרתרון‬‫ופשוט‬:
MISSING ELEMENT
•‫טוב‬ ‫פרתרון‬‫ופשוט‬:
• S=a_1+a_2+…+a_n
• Q=b_1+b_2+…+b_(n-1)
• Return S-Q
MISSING ELEMENT
•‫טוב‬ ‫פרתרון‬‫ופשוט‬:
• S=a_1+a_2+…+a_n
• Q=b_1+b_2+…+b_(n-1)
• Return S-Q
• time complexity:
• space complexity:
MISSING ELEMENT
•‫טוב‬ ‫פרתרון‬‫ופשוט‬:
• S=a_1+a_2+…+a_n
• Q=b_1+b_2+…+b_(n-1)
• Return S-Q
• time complexity: O(n)
• space complexity: O(1)
MISSING ELEMENT
•‫טוב‬ ‫פרתרון‬‫ופשוט‬:
• S=a_1+a_2+…+a_n
• Q=b_1+b_2+…+b_(n-1)
• Return S-Q
• time complexity: O(n)
• space complexity: O(1)
• Pitfalls:
MISSING ELEMENT
•‫טוב‬ ‫פרתרון‬‫ופשוט‬:
• S=a_1+a_2+…+a_n
• Q=b_1+b_2+…+b_(n-1)
• Return S-Q
• time complexity: O(n)
• space complexity: O(1)
• Pitfalls: overflow ?
MISSING ELEMENT
•‫טריק‬ ‫עם‬ ‫מצויין‬ ‫פתרון‬:
• return xor(a_1,a_2,…,a_n,b_1,b_2,…,b_(n-1)
• time complexity:
• space complexity:
• pitfalls:
MISSING ELEMENT
•‫מצוי‬ ‫פתרון‬‫י‬‫טריק‬ ‫עם‬ ‫ן‬:
• return xor(a_1,a_2,…,a_n,b_1,b_2,…,b_(n-1)
• time complexity: O(n)
• space complexity: O(1)
• pitfalls: no
ראיון בהייטק פגישה 5 - programer interview lesson 5
MISSING ELEMENT
•‫לסיכום‬:
•‫הפתרונות‬ ‫כל‬ ‫את‬ ‫להראות‬ ‫חייבים‬ ‫לא‬
MISSING ELEMENT
•‫לסיכום‬:
•‫הפתרונות‬ ‫כל‬ ‫את‬ ‫להראות‬ ‫חייבים‬ ‫לא‬
•‫ביותר‬ ‫הטוב‬ ‫הפתרון‬ ‫את‬ ‫למצוא‬ ‫חייבים‬ ‫לא‬
MISSING ELEMENT
•‫לסיכום‬:
•‫הפתרונות‬ ‫כל‬ ‫את‬ ‫להראות‬ ‫חייבים‬ ‫לא‬
•‫ביותר‬ ‫הטוב‬ ‫הפתרון‬ ‫את‬ ‫למצוא‬ ‫חייבים‬ ‫לא‬
•‫שאלות‬ ‫עם‬ ‫להתמודד‬ ‫יכולת‬ ‫להרות‬ ‫חשוב‬
MISSING ELEMENT
•‫לסיכום‬:
•‫הפתרונות‬ ‫כל‬ ‫את‬ ‫להראות‬ ‫חייבים‬ ‫לא‬
•‫ביותר‬ ‫הטוב‬ ‫הפתרון‬ ‫את‬ ‫למצוא‬ ‫חייבים‬ ‫לא‬
•‫שאלות‬ ‫עם‬ ‫להתמודד‬ ‫יכולת‬ ‫להרות‬ ‫חשוב‬
•‫עקבית‬ ‫חשיבה‬ ‫דרך‬ ‫להרות‬ ‫חשוב‬
MISSING ELEMENT
•‫לסיכום‬:
•‫הפתרונות‬ ‫כל‬ ‫את‬ ‫להראות‬ ‫חייבים‬ ‫לא‬
•‫ביותר‬ ‫הטוב‬ ‫הפתרון‬ ‫את‬ ‫למצוא‬ ‫חייבים‬ ‫לא‬
•‫שאלות‬ ‫עם‬ ‫להתמודד‬ ‫יכולת‬ ‫להרות‬ ‫חשוב‬
•‫עקבית‬ ‫חשיבה‬ ‫דרך‬ ‫להרות‬ ‫חשוב‬
•‫שאלות‬ ‫ולשאול‬ ‫לעזרה‬ ‫מוכנות‬ ‫להרות‬ ‫חשוב‬
‫צורך‬ ‫יש‬ ‫כאשר‬
NEXT TIME
NEXT TIME
ראיון בהייטק פגישה 5 - programer interview lesson 5
ראיון בהייטק פגישה 5 - programer interview lesson 5
ראיון בהייטק פגישה 5 - programer interview lesson 5

More Related Content

PPTX
ראיון הייטק פגישה 3
PDF
programmer expossed lesson 1 ראיון בהייטק
PPTX
ראיון הייטק פגישה 4 - programming interview lesson 4
PPTX
Programmer interview exposed - lection 5 temp version
PPTX
programmer interview exposed lesson 2 - ראיון בהייטק
PDF
Динамическое программирование - курс лекций.1
PPT
מערך דו ממדי
DOC
רשימת פונקציות שימושיות c++
ראיון הייטק פגישה 3
programmer expossed lesson 1 ראיון בהייטק
ראיון הייטק פגישה 4 - programming interview lesson 4
Programmer interview exposed - lection 5 temp version
programmer interview exposed lesson 2 - ראיון בהייטק
Динамическое программирование - курс лекций.1
מערך דו ממדי
רשימת פונקציות שימושיות c++

Similar to ראיון בהייטק פגישה 5 - programer interview lesson 5 (20)

PDF
מבוא לתכנות מדעי: פייתון הרצאה 13
PPT
פרק 5
PPT
פרק 5
PPT
פרק 5
PDF
סיכום הקורס בחישוביות
PPTX
Hebrew_presentat_pseudo_code_-loops.pptx
PDF
תכנות מדעי: פייתון: הרצאה 8: 2017
PDF
סיכום קצר של הקורס במבני נתונים
PDF
סיכום הקורס בבינה מלאכותית
PDF
סיכום הקורס בבינה מלאכותית
PDF
מבוא לתכנות מדעי: פייתון: הרצאה 2: 2017
PDF
תכנות מדעי: פייתון : הרצאה 7: 2017
PDF
ModProg.pdf
PDF
סיכום הקורס בחישוביות ומורכבות החישובים
PDF
תכנות מדעי: פייתון: הרצאה 10: : תחום הכרעה
PDF
מבוא לתכנות מדעי: פייתון: הרצאה 9: 2017
PDF
נספח נוסחאות אלגברה לינארית
PDF
סיכום על מטרואידים וזרימות בגרפים
PDF
מבוא לתכנות מדעי: פייתון: הרצאה 4: 2017
PDF
בדרך לפולימורפיזם - העמסת ועקיפת פונקציות
מבוא לתכנות מדעי: פייתון הרצאה 13
פרק 5
פרק 5
פרק 5
סיכום הקורס בחישוביות
Hebrew_presentat_pseudo_code_-loops.pptx
תכנות מדעי: פייתון: הרצאה 8: 2017
סיכום קצר של הקורס במבני נתונים
סיכום הקורס בבינה מלאכותית
סיכום הקורס בבינה מלאכותית
מבוא לתכנות מדעי: פייתון: הרצאה 2: 2017
תכנות מדעי: פייתון : הרצאה 7: 2017
ModProg.pdf
סיכום הקורס בחישוביות ומורכבות החישובים
תכנות מדעי: פייתון: הרצאה 10: : תחום הכרעה
מבוא לתכנות מדעי: פייתון: הרצאה 9: 2017
נספח נוסחאות אלגברה לינארית
סיכום על מטרואידים וזרימות בגרפים
מבוא לתכנות מדעי: פייתון: הרצאה 4: 2017
בדרך לפולימורפיזם - העמסת ועקיפת פונקציות
Ad

More from Igor Kleiner (20)

PDF
Анализ данных просто и доступно - урок 1
PDF
מדעי נתונים לכל אחד
PDF
מדע נתונים - למידה מכונות
PDF
מבוא למדעי הנתונים שבוע 2
PPTX
מבוא למדעי הנתונים הרצאה 1
PDF
תכנות דינמי הרצאה 3
PDF
תכנות דינמי הרצאה 4
PDF
שאלות לתרגול עצמי
PDF
פתרון תרגיל 3
PDF
תכנות מדעי פייתון: הרצאה 12: סיבוכיות
PDF
מבוא לתכנות מדעי: פייתון: הרצאה 11: דבגינג + תכנות דינמי
PDF
תכנות מדעי: פייתון: הרצאה 6: קבצים, רשימות
PDF
מבוא לתכנות מדעי: פייתון: הרצאה 5: 2017
PDF
מבוא לתכנות מדעי: פייתון: הרצאה 3: לולאות
PDF
פייתון: הרצאה 1
PPTX
למידה ממוכנת פגישה 8
PPTX
מערכות לומדות פגישה 7-1 יער אקראי
DOCX
מערכות לומדות תרגול 3 עצים
PPTX
מערכות לומדות פגישה 6
PDF
מערכות לומדות: תרגילי כיתה 4 ו-5
Анализ данных просто и доступно - урок 1
מדעי נתונים לכל אחד
מדע נתונים - למידה מכונות
מבוא למדעי הנתונים שבוע 2
מבוא למדעי הנתונים הרצאה 1
תכנות דינמי הרצאה 3
תכנות דינמי הרצאה 4
שאלות לתרגול עצמי
פתרון תרגיל 3
תכנות מדעי פייתון: הרצאה 12: סיבוכיות
מבוא לתכנות מדעי: פייתון: הרצאה 11: דבגינג + תכנות דינמי
תכנות מדעי: פייתון: הרצאה 6: קבצים, רשימות
מבוא לתכנות מדעי: פייתון: הרצאה 5: 2017
מבוא לתכנות מדעי: פייתון: הרצאה 3: לולאות
פייתון: הרצאה 1
למידה ממוכנת פגישה 8
מערכות לומדות פגישה 7-1 יער אקראי
מערכות לומדות תרגול 3 עצים
מערכות לומדות פגישה 6
מערכות לומדות: תרגילי כיתה 4 ו-5
Ad

ראיון בהייטק פגישה 5 - programer interview lesson 5