תהליך ארוך מאוד של 5 ראיונות: ראיון טכני של כתיבת קוד, ראיון טכני של תכנון client-server, ראיון טכני של ארכיטקטורה של מערכת ב-high level, ראיון management וראיון HR לקינוח. כל הראיונות הטכניים הם עם שאלות מתוך המערכת שלהם, הם מסבירים עליה בהתחלה אבל כדאי קצת להכיר אותה.
שאלות מתוך הראיון
ראיון 1- כתיבה בcoder של מתודת notify שמודיעה ליוזר שהוא הוזכר בהודעה. יש אובייקט של יוזר ויש לכל יוזר גם רשימת קבוצות שהוא משתייך אליהן. יש אובייקט של mention שאומר מי היוזר/הקבוצה שהוזכרו בהודעה ואליהם צריך לשלוח notify. בסוף גם לחשב זמן ריצה ושאלו איך ניתן היה לשפר אותו.
ראיון 2- תכנון בכללי וקצת כתיבת קוד של פיצ'ר שמשנה את סדר השורות, איך מממשים את זה, מה מוסיפים בDB.
ראיון 3- צריך מאוד להתכונן לזה, מי שאף פעם לא תכנן מערכת כדאי שיסתכל על הסרטונים שהם שולחים (קצת הזוי שמתכנת fullstack צריך להיות ארכיטקט אבל אם אתם רוצים להתקבל תתכוננו טוב). צריך לתכנן העברה של events שמפעילים כל מיני actions. המראיין בונה את הדיאגרמה לפי מה שתגידו לו.
תשובות
הוסף תשובה
|
לצפיה בתשובות
מאי 2022
ראיון 1- אפשר לעבור על ה-mentions ואז לקחת את כל היוזרים שמוזכרים שם לרשימה, ואם זו קבוצה אז לעבור על כל היוזרים ואם הם משתייכים לקבוצה ולא נמצאים כבר ברשימה שלנו אז לקחת גם אותם, בסוף לשלוח את הרשימה הזאת ל-notify ששולחת הודעה לכל אחד מהם.
ראיון 2- ניתן לשים סוג של position בDB ולרווח את השורות בהפרשים של 100. אם רוצים להוסיף בין שורות אפשר להוסיף באמצע. במקרה שעשינו הרבה וכבר הגענו לפוזיציה עם אותו מספר, ניתן לעדכן את כל הפוזיציות שאחרי.
ראיון 3- כדאי לחזור על MQ, caching, horizontal scaling
מרץ 2024
היי!
האם הקלט השני של הפונקציה שאתה קורא לו notify הוא בעצם מערך ולא אובייקט? כי אני לא מצליח כל כך להבין איך האובייקט הזה בנוי אם הוא לא מערך (כלומר מה המפתח ומה הערך של כל אלמנט באובייקט?)
תודה מראש!