1, ספר במודלים פרויקט שעבדת עליו ואיך הוא פועל.
2, הבדלים בין TCP וUDP
3, איך נקבע קצב העברת הנתונים ב TCP
4, כיצד ניתן לשפר קצב זה
5, נתונים 2 תהליכים שיכולים להתרחש: קריאה וכתיבה, שניהם יכולים לגשת למסד הנתונים ולכתוב או לקרוא בבטחה ע"י מנעול, נרצה כעת לאפשר לכל התהליכונים שמגיעים לקרוא לגשת בו זמנית למסד אך במידה ותהליכון ירצה לכתוב נרצה שהוא יתנהל באופן יחיד.
א, מהו מבנה הנתונים המתאים
ב, כיצד התוכנית תתנהל
תשובות
הוסף תשובה
|
לצפיה בתשובות
מרץ 2017
3, קצב העברת הנתונים הינו גודל החלון חלקי RTT (זמן שליחה וקבלה של בית)
4, ניתן לשפר ע"י "חיתוך" הקובף ושליחה במספר נתיבים שונים או ע"י שליחה כמות גדולה של נתונים עד לקבלת ACK וכו'
5, א, מבנה הנתונים המתאים הינו תור
ב, כל תהליכון שיגיע יכניס את עצמו לתור, במידה והוא תהליך כתיבה הוא יחכה להיות הראשון בתור ואז ינעל את המסד יכתוב נתונים ישחרר את המסד ויסיר את עצמו מהתור, במידה והוא תהליך קריאה נבדוק מי הראשון בתור אם זה תהליך כתיבה נחכה אחרת ניגש למסד ובעת סיום נסיר את עצמנו מהתור
Second technical interview:
1. You have a system that get requests and executes them. After analyzing it developers saw that the main overhead is related to request memory allocation and release. Solve this problem is such way that you can get the first available memory allocation as fast as you can without using an additional memory (hint: memory pooling).
2. There are 2 binary trees. Write an algorithm that determines if they have the same values (with and without taking the tree structure into the consideration).
3. Wikipedia race: given a Wiki value with text data A and links to values B,c,D,E and so on write an algorithm that returns true if there is a path from A to some node X (through linkis in A). A kind of a tree search, easiest way to do it is a simple variation on BFS algorithm.
4. Locking: you have a simple lock interface with 2 methods: Acquire and Release. Implement a ReaderWriterLock (readers can read while someone writes but you cant read when someone writes).