Upload
igor-kleiner
View
78
Download
4
Embed Size (px)
Citation preview
2פגישה 2015
(с) Igor Kleiner
סדנת הכנה לראיון עבודה למשרת הייטק
PROGRAMMING INTERVIEWS EXPOSED
ABOUT COURSE
DRAW A MEN, TREE, HOUSE
DRAW A MEN, TREE, HOUSE
RORSHARH, DRAW A PERSON TEST
• In general this tests are not valid and not reliable
SIMPLE QUESTIONS
לא כל השאלות בראיון עבודה קשות•
SIMPLE QUESTIONS
לא כל השאלות בראיון עבודה קשות•חלק מהשאלות יחסית קלות אבל עדיו •
מצריכות חשיבה והשקעה
SIMPLE QUESTIONS
לא כל השאלות בראיון עבודה קשות•חלק מהשאלות יחסית קלות אבל עדיו מצריכות •
חשיבה והשקעה
?מה יכול לעזור להתמודד עם שאלה•אפשר לנסות לפתור שאלה יותר פשוטה•דוגמאות •חלוקה של השאלה לתתי שאלות יותר פשוטות•
HOW TO SOLVE IT
שלבים הבאים יכולים לעזור להבין את השאלה •:ולהתמודד איתה, טוב יותר
"לאט אבל בטוח"לקרוא את השאלה •אם השאלה לא חד משמעית או יש דברים לא •
כדאי לשאול את המראיין, ברורים
HOW TO SOLVE IT
שלבים הבאים יכולים לעזור להבין את השאלה •:ולהתמודד איתה, טוב יותר
"לאט אבל בטוח"לקרוא את השאלה •אם השאלה לא חד משמעית או יש דברים לא •
כדאי לשאול את המראיין, ברוריםבסוף כדאי לבדוק את הבנת השאלה על •
מיקרים פשוטים
QUESTION 2
100 DOORS
• You have 100 doors in a row that are all initially closed.
• You make 100 passes by the doors starting with the first door every
time. the first time through you visit every door and toggle the door
(if the door is closed, you open it, if its open, you close it).
• The second time you only visit every 2nd door (door #2, #4, #6). the
third time, every 3rd door (door #3, #6, #9), etc, until you only visit
the 100th door.
• Question: what state are the doors in after the last pass? which are
open which are closed?
QUESTION 2
100 DOORS
?האם השאלה ברורה•
QUESTION 2
100 DOORS
?האם השאלה ברורה•
?שאלות למראייו•
QUESTION 2
100 DOORS
?האם השאלה ברורה•
?שאלות למראייו•
?איך ניגש לשאלה•ננסה לפתור שאלה יותר פשוטה•
QUESTION 2
100 DOORS
?האם השאלה ברורה•
?שאלות למראייו•
?איך ניגש לשאלה•ננסה לפתור שאלה יותר פשוטה•?מה כאן שאלה יותר פשוטה•
QUESTION 2
100 DOORS
?איך ניגש לשאלה•ננסה לפתור שאלה יותר פשוטה•?מה כאן שאלה יותר פשוטה•
אפשר לקחת דלת מסוימת ולחקור התנהגותה•1,2,5,10דלתות לקחת 100אפשר במקום •
?דלתות
QUESTION 2
100 DOORS
?איך ניגש לשאלה•10ננסה לפתור שאלה יותר פשוטה כאשר יש רק •
דלתות
QUESTION 2
100 DOORS
?איך ניגש לשאלה•10ננסה לפתור שאלה יותר פשוטה כאשר יש רק •
דלתות
QUESTION 2
100 DOORS
?איך ניגש לשאלה•10ננסה לפתור שאלה יותר פשוטה כאשר יש רק •
דלתות
QUESTION 2
100 DOORS
?איך ניגש לשאלה•10ננסה לפתור שאלה יותר פשוטה כאשר יש רק •
דלתות
QUESTION 2
100 DOORS
?איך ניגש לשאלה•10ננסה לפתור שאלה יותר פשוטה כאשר יש רק •
דלתות
QUESTION 2
100 DOORS
?איך ניגש לשאלה•10ננסה לפתור שאלה יותר פשוטה כאשר יש רק •
דלתות
QUESTION 2
100 DOORS
1 4 9?השערות
1 4 9?השערות
1
1 + 3 = 4
4 + 5 = 9
9 + 7 = 16?
1,4,9,16,25 ?
QUESTION 2
100 DOORS
?איך ניגש לשאלה•10ננסה לפתור שאלה יותר פשוטה כאשר יש רק •
דלתות :ננסה לחקור את ההתנהגות של דלת מסוימת•
:משנה מצב בשלבים4דלת מספר ••1,2,4
בשלביםמשנה מצב 9דלת מספר ••1,3,9
QUESTION 2
100 DOORS
?איך ניגש לשאלה•10ננסה לפתור שאלה יותר פשוטה כאשר יש רק •
דלתות :ננסה לחקור את ההתנהגות של דלת מסוימת•
:משנה מצב בשלבים5דלת מספר ••1,5
בשלביםמשנה מצב 8דלת מספר ••1,2,4,8
QUESTION 2
100 DOORS
:מסקנות•אם למספר דלת יש כמות אי זוגית של מחלקים אזי •
פתוחה–מצבה הסופית
של מחלקים אזי זוגית למספר דלת יש כמות אם •סגורה–מצבה הסופית
QUESTION 2
100 DOORS
:מסקנות•:מסקנות•אם למספר דלת יש כמות אי זוגית של מחלקים אזי •
פתוחה–מצבה הסופית
אם למספר דלת יש כמות זוגית של מחלקים אזי •סגורה–מצבה הסופית
•1,4,9,16,25,36,49,64,81,100
QUESTION 2
100 DOORS
כמה דלתות ישאריו פתחות –דלתות nבהינתן •?nלאחר שלב
QUESTION 2
100 DOORS
כמה דלתות ישאריו פתחות –דלתות nבהינתן •?nלאחר שלב
•
:פתרון א•
• For i=1 to n
• If i=k*k {counter++}
• end
• Time complexity: ?
QUESTION 2
100 DOORS
כמה דלתות ישאריו פתחות –דלתות nבהינתן •?nלאחר שלב
•
:פתרון א•
• For i=1 to n
• If floor(sqrt(i)) == sqrt(i) {counter++}
• end
• Time complexity: n
QUESTION 2
100 DOORS
כמה דלתות ישאריו פתחות –דלתות nבהינתן •?nלאחר שלב
•
:פתרון א•
• For i=1 to n
• If floor(sqrt(i)) == sqrt(i) {counter++}
• end
• Time complexity: n (exponential complexity)
QUESTION 2
100 DOORS
כמה דלתות ישאריו פתחות –דלתות nבהינתו •?nלאחר שלב
•
:פתרון ב•
• return floor(sqrt(n))
• Time complexity: O(log(n))
• How calculate root of the number?
HOW TO SOLVE IT
שלבים הבאים יכולים לעזור להבין את השאלה •:ולהתמודד איתה, טוב יותר
"לאט אבל בטוח"לקרוא את השאלה •אם השאלה לא חד משמעית או יש דברים לא •
כדאי לשאול את המראיין, ברורים
HOW TO SOLVE IT
?מה אם לא מצליחים למצוא את הפתרון
, הניסיונות שלנו לפתור את השאלה בדרכים שוניםיכולים להראות יכולת שלנו להתמדד עם קשיים
ושאנו לא מפחדים מהם
QUESTION 3
ANTS ON THE STICK
• One hundred ants are dropped random on a meter stick.
• Each ant start to travel in random direction either to the left or
the right with constant speed 1 meter per minute.
• When two ants meet, they bounce off each other and reverse
direction. When an ant reaches an end of the stick, it falls off.
QUESTION 3
ANTS ON THE STICK
• One hundred ants are dropped random on a meter stick.
• Each ant start to travel in random direction either to the left or the right
with constant speed 1 meter per minute.
• When two ants meet, they bounce off each other and reverse direction.
When an ant reaches an end of the stick, it falls off.
• At some point all the ants will have fallen off. The time at which this
happens will depend on the initial configuration of the ants.
• Question: over ALL possible initial configuration, what is the longest
amount of time that you would need to wait to guarantee that the stick
has no more ants?
QUESTION 3
ANTS ON THE STICK
?איך נגשים לשאלה•
QUESTION 3
ANTS ON THE STICK
?איך נגשים לשאלה•
? נמל אחד•
QUESTION 3
ANTS ON THE STICK
?איך נגשים לשאלה•
1שניה ? נמל אחד•
QUESTION 3
ANTS ON THE STICK
?איך נגשים לשאלה•
1שניה ? נמל אחד•שתי נמלים•
? מהו מקרה הגרוע ביותר•
QUESTION 3
ANTS ON THE STICK
?איך נגשים לשאלה•
1שניה ? נמל אחד•שתי נמלים•
? מהו מקרה הגרוע ביותר•1שניה •
QUESTION 3
ANTS ON THE STICK
?איך נגשים לשאלה•
1שניה ? נמל אחד•שתי נמלים•
? מהו מקרה הגרוע ביותר•1שניה •
? שלושה נמלים•קשה•
QUESTION 3
ANTS ON THE STICK
?איך נגשים לשאלה•
1שניה ? נמל אחד•שתי נמלים•
? מהו מקרה הגרוע ביותר•1שניה •
? שלושה נמלים•קשה•?מה עושים•
QUESTION 3
ANTS ON THE STICK
1שניה ? נמל אחד•1שתי נמלים שניה •? שלושה נמלים•
?מה עושים•סימולציה ••"Out of the box”
QUESTION 3
ANTS ON THE STICK
1שניה ? נמל אחד•1שתי נמלים שניה •? שלושה נמלים•
?מה עושים•סימולציה •
•"Out of the box”
נניח שבזמן הפגישה הנמלים עוברים אחד דרך השני •מה ? מה יקרה אז. מעלות180-במקום להסתבב ב
?תהיה התשובה לשאלה
QUESTION 4
CHANGE-MAKING PROBLEM
, nבכמה אפשרויות ניתן להחזיר עודף בגודל •?1,2,5,10כאשר ברשותינו מטבעות
QUESTION 4
CHANGE-MAKING PROBLEM
, nבכמה אפשרויות ניתן להחזיר עודף בגודל •?1,2,5,10כאשר ברשותינו מטבעות
?שאלות למראין•
QUESTION 4
CHANGE-MAKING PROBLEM
, nבכמה אפשרויות ניתן להחזיר עודף בגודל •?1,2,5,10כאשר ברשותינו מטבעות
?שאלות למראין•?כמה יש מטבעות מכל סוג•
QUESTION 4
CHANGE-MAKING PROBLEM
, nבכמה אפשרויות ניתן להחזיר עודף בגודל •?1,2,5,10כאשר ברשותינו מטבעות
?שאלות למראין•אינסוף? כמה יש מטבעות מכל סוג•
QUESTION 4
CHANGE-MAKING PROBLEM
, nבכמה אפשרויות ניתן להחזיר עודף בגודל •?1,2,5,10כאשר ברשותינו מטבעות
?שאלות למראין•אינסוף? כמה יש מטבעות מכל סוג•
?האם סדר שבו מחזירים את העודף חשוב•
(1,1,1,2) or (1,2,1,1)
QUESTION 4
CHANGE-MAKING PROBLEM
, nבכמה אפשרויות ניתן להחזיר עודף בגודל •?1,2,5,10כאשר ברשותינו מטבעות
?שאלות למראין•אינסוף? כמה יש מטבעות מכל סוג•
?האם סדר שבו מחזירים את העודף חשוב•(1,1,1,2) or (1,2,1,1) -כן הסדר חשוב
QUESTION 4
CHANGE-MAKING PROBLEM
, nבכמה אפשרויות ניתן להחזיר עודף בגודל •?1,2,5,10כאשר ברשותינו מטבעות
: חסם תחתון
QUESTION 4
CHANGE-MAKING PROBLEM
, nבכמה אפשרויות ניתן להחזיר עודף בגודל •?1,2,5,10כאשר ברשותינו מטבעות
: חסם תחתון2נחלק את העודף לחלקים של
ולכן לפי עיקרון הכפל 2אפשרויות להחזיר 2יש 2(n/2)^נקבל
QUESTION 4
CHANGE-MAKING PROBLEM
, nבכמה אפשרויות ניתן להחזיר עודף בגודל •?1,2,5,10כאשר ברשותינו מטבעות
: יותר טובחסם תחתון5נחלק את העודף לחלקים של
ולכן לפי עיקרון הכפל 2אפשרויות להחזיר хיש x^(n/5)נקבל
QUESTION 4
CHANGE-MAKING PROBLEM
, nבכמה אפשרויות ניתן להחזיר עודף בגודל •?1,2,5,10כאשר ברשותינו מטבעות
פתרון לא אופטימלי אבל פשוטנעבור על כל האפשרויות להרכיב עודף מלכל
nמטבעות ונספור כמה מהם נותנים nהיותר
QUESTION 4
CHANGE-MAKING PROBLEM
כאשר , nבכמה אפשרויות ניתן להחזיר עודף בגודל •?1,2,5,10ברשותינו מטבעות
פתרון לא אופטימלי אבל פשוטנעבור על כל האפשרויות להרכיב עודף מלכל
nמטבעות ונספור כמה מהם נותנים nהיותר
הקבלn=3לדוגמא עבור {1,2,5,10,{1,1},{2,2},{5,5},{10,10},{1,2},{2,1}…..}
{1,1,1},{1,2},{2,1}
QUESTION 4
CHANGE-MAKING PROBLEM
כאשר ברשותינו , nבכמה אפשרויות ניתן להחזיר עודף בגודל •?1,2,5,10מטבעות
פתרון לא אופטימלי אבל פשוטnנעבור על כל האפשרויות להרכיב עודף מלכל היותר
nמטבעות ונספור כמה מהם נותנים
הקבלn=3לדוגמא עבור {1,2,5,10,{1,1},{2,2},{5,5},{10,10},{1,2},{2,1}…..}
{1,1,1},{1,2},{2,1}
גרוע-n^4–סיבוכיות
QUESTION 4
CHANGE-MAKING PROBLEM
, nבכמה אפשרויות ניתן להחזיר עודף בגודל •?1,2,5,10כאשר ברשותינו מטבעות
תכנות דינמי–פתרון לא אופטימלי אבל יחסית טוב
QUESTION 4
CHANGE-MAKING PROBLEM
, nבכמה אפשרויות ניתן להחזיר עודף בגודל •?1,2,5,10כאשר ברשותינו מטבעות
פונקציה יוצרת–פתרון לא אופטימלי