שאלות היכולות להשאל בראיון עבודה? - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

שאלות היכולות להשאל בראיון עבודה?


rk666

Recommended Posts

אוקי, מצאתי 2 שאלות,

1) נתון מספר כלשהוא ,כתוב פונקציה ב C המחזירה את מס' הביטים הדלוקים בצורה היעילה ביותר האפשרית.

2) בהנחה שאין לך מגבלת מקום בזיכרון, ממש פונקציה שעושה אותו דבר אבל במהירות גבוהה יותר.

לשאלה הראשונה, האם יש דרך טובה יותר ב-C מאשר חלוקה ב-2 כל הזמן?

לשניה, האם הכוונה כל תוצאה במערך?

תודה

קישור לתוכן
שתף באתרים אחרים

http://discuss.techinterview.org/?interview

כמו כן, אתה יכול לצפות לשאלות על אופטימיזציה: תקבל לולאה או שתיים שעושות משהו בסיבוכיות גבוהה, ותצטרך לעשות אותו דבר בסיבוכיות טובה יותר, תוך כדי שימוש בתרגילים רגילים של אופטימיזציה (precalc, שילוב לולאות, שינוי מבני נתונים וכו').

עוד: צפה לשאלות בסיסיות של מערכות הפעלה ומבנה מחשבים.

מקום אחד הגדיר לי שני device-ים פשוטים מאוד עם פונקציות בסיסיות והפסיקות שהם מייצרים - והייתי צריך לכתוב תוכנה וISR-ים שיטפלו בהם.

RK:

1) יש כמה שיטות לדוגמא look up table על _חלק_ מהסיביות (לדוגמא על כל 8 סיביות). כמו כן הברבה מעבדים יש פקודת אסמבלי שעושה את זה שנקראת לפעמים count leading zeros. ב-X86 גם יש אחת כזו (ברח לי השם שלה).

אפשר גם במקום לכתוב לולאה לכתוב ביטוי (מקרו, פונקציה INLINE) ארוך ומסובך שמבצע את זה. אני מסופק שזה מה שהם רוצים.

2) כנראה שכן. אם אין לך מגבלת זכרון, ונניח כל רגיסטר הוא 32 סיביות, תוכל לעשות טבלה בגודל 4GB זכרון. כמובן שבאופן מעשי _לא_ תוכל. מצד שני טבלה בגודל 256 בתים (כלומר על 8 סיביות) קל לעשות, ואז בארבע גישות לטבלה תוכל למצוא את התשובה. לא צריך אפילו לולאה.

אני מצפה מכל מי שמתיימר לעבוד ב-embedded להיות מסוגל לענות על השאלות האלה נכון ומהר. מצד שני הן כ"כ מוכרות שבאמת...

http://aggregate.org/MAGIC/

קישור לתוכן
שתף באתרים אחרים

ואללה הפתרון שלי היה לחלק הראשון לעשות for עם מודולו, ולהחזיר את הsum

בשני - LUT :)

באתי לשאול אם זה באמת הנכון.

תודה, אני אפתור את כל השאלות, אני חושב שנתתי לעצמי מעט מידי זמן להתכונן, קבעתי אותו ליום ראשון :x

לגבי ISR, אני יודע מה זה, אבל אני לא זוכר שאיי פעם כתבתי רוטינה כזאת.

אגב, במה ואיפה אתה עובד?

קישור לתוכן
שתף באתרים אחרים

כדאי לך לבדוק את הלינק ששמתי אם אי פעם תצטרך באמת לעשות פעולות בסיסיות כמו count leading zeros, floor_log2 או reverse bits.

יש דרכים ממש מתוחכמות לבצע את הפעולות האלה בלי לולאות במספר פעולות פשוטות. ואל תהיה מודאג שאתה לא מכיר את הטריקים שמצויינים שם. מעט אנשים מכירים אותם, וכשצריך משהו כזה עדיף ללכת ולמצוא איך עושים ברשת, מאשר להנפיץ משהו בעצמך ואז לדבג אותו יום שלם, ולגלות שמישהו כבר עשה את זה יותר טוב.

יש לך יומיים להתכונן. לך ותפתור כל מני שאלות מתחכמות שיש מלא ברשת, כמו ב-techinterview.

אם יש לך קצת זמן אחרי זה, תפתור את הבעיה המתוארת כאן: http://www.flownet.com/ron/papers/lisp-java/ (עבודה של בערך שעתיים עד שמונה, תלוי בשפה ובכמה אתה טוב בה).

אני מהנדס תוכנה, ועבדתי בכמה מקומות, בעיקר ב-embedded וב-real time.

קישור לתוכן
שתף באתרים אחרים

שאלות בסיסיות של מערכות הפעלה זה משהו כמו מה ההבדל בין פרוסס לת'רד או מה זה MUTEX וכדומה?

ובקשר למבנה המחשב, מה כבר יכול להיות שם? PIPELINEים וכדומה?

בקשר לISR, זה למשל לתכנת משהו שנותן פסיקה בתלות במידע שמוכן ולסנכרן עם סמפור?

קישור לתוכן
שתף באתרים אחרים

שאלות בסיסיות של מערכות הפעלה זה משהו כמו מה ההבדל בין פרוסס לת'רד או מה זה MUTEX וכדומה?

ובקשר למבנה המחשב, מה כבר יכול להיות שם? PIPELINEים וכדומה?

בקשר לISR, זה למשל לתכנת משהו שנותן פסיקה בתלות במידע שמוכן ולסנכרן עם סמפור?

הכל נכון, והכל אפשרי. אלה אכן השאלות ששואלים הרבה. אבל יש מקומות שלא מסתפקים בזה (והאמת שהן באמת בסיסיות).

בתלות במקום ובתפקיד, אתה עלול להתקל בשאלות מורכבות יותר - כמו איך מממשים lock free stack. איך היית ממש דרייבר פשוט עם DMA. בהנתן מעבד עם pipeline באורך 30 מחזורים ומעבד עם pipeline באורך 10 מחזורים, איזו גרסה של אותה פונקציה מתאימה לאיזה מעבד. מה זה conditional execution. כמובן שיש לפעמים גם שאלות של תחום העבודה, לדוגמא בקרה או .

השמיים הם הגבול, והכל תלוי באיזו רמה של אנשים הם מחפשים. לא לכל עבודה צריך מהנדס RT עם 10 שנות ניסיון ותואר שני בעיבוד אותות.

קישור לתוכן
שתף באתרים אחרים

חחח לא מה עשיתם מזה, סתם פרויקט כחלק מקורס RT על גבי מערכת (סימולטור) של Green hills. ולא בהיקף כזה גדול.

את השם של החברה אני מעדיף לא לחשוף.

קישור לתוכן
שתף באתרים אחרים

זה מה שהיה שם:

(מפורום אחר, באנגלית... אני מאמין שתסתדרו :D )

So, this is how it went.

1st i had to feel some form, unimportant..

later i was asked about myself and project i've done before.

afterwards he asked me some RTOS Q's such as "What the dif between Thread and process" :) and the difference between semaphore to mutex and what kind of semaphore exists.

afterwards he tackeled me with various question about dynamic binding, and the difference between malloc to new and why it was create and gosh this is the only part i haven't studied to.

i was ask to build "myMalloc"which do a "16byte allignment" and the correspondent "Free".

i was trapped, i don't think i passed. (although i reached the answer at the end).

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...