ראון ראשון מתוך 2 , לתפקיד junior Firmware Engineer
מראיניים מאוד נחמדים, היה ראיון בזום שערך שעה וחמישי דקות , היה אמור להיות שעה וחצי
שאלות מתוך הראיון
היו 2 שאלות : 1
/* Question : Read-Modify-Write Operation Using Left and Right Indexes
Task: Write a C function that replaces a subset of bits within a 32-bit unsigned integer using left and right indexes.
*/
זאת החתימה שלה
unsigned int replaceBits(unsigned int original, unsigned int new_bits, int left_index, int right_index) {}
שאלה 2:
// Merge Sorted Arrays Problem
// Given 2 arrays:
// A[N] – That is filled w/ N sorted numbers.
// B[M+N] – That is filled w/ M sorted numbers.
// Write a function for merging A and B to single sorted array.
החתימה של הפוקנציה
#define N 4
#define M 3
void mergeSortedArrays(int* A, int* B)
{}
תשובות
הוסף תשובה
|
לצפיה בתשובות
אוקטובר 2025
פתרון ל2:
void mergeSortedArrays(int* A, int* B)
{
int lastA = N-1;
int midB = M-1;
int lastB = N+M-1;
ריאיון דרך המחשב עם שני מראיינים
תחילה ביקשו להציג את עצמי ושאלו שאלות על פרוייקטים שעשיתי בעבר
לאחר מכן הציגו לי שתי שאלות - אחד בתחום הטיימרים והשניה בתחום הליטקוד
שאלות מתוך הראיון
ביקשו ממני לבנות בקוד מכונת שתיה כך שבהינתן שמכניסים מטבעות שונים אז רק ברגע שהיא מקבלת את הסכום הרצוי היא מוציאה שתיה ועודף בהתאם
ישנם 3 קופסאות שעל קופסה אחת כתוב "2 כדורים לבנים", על קופסה שנייה כתב "כדור לבן כדור שחור" על השלישית כתוב "2 כדורים שחורים". ידוע שמה שכתוב על כל אחד מהקופסאות זה שקר, אלא מה שנכון עבור כל קופסה כתוב על אחת מ-2 הקופסאות האחרות. כמה שליפות של כדורים אני צריך כדי לדעת מה מכילה כל קופסה באמת.
תשובות
הוסף תשובה
|
לצפיה בתשובות
ספטמבר 2025
שליפה אחת בלבד.
נשלוף כדור מ-"כדור לבן כדור שחור". אם הכדור לבן/שחור - אנחנו יודעים שהקופסה הזאת היא הקופסה הלבנה/שחורה. נלך לקופסה שעליה כתוב הצבע ההפוך (אם שליפה ראשונה לבנה, נלך לקופסה השחורה): אנחנו יודעים שהיא לא מכילה את הצבע ההפוך כי התגית משקרת, ואנחנו יודעים שהיא לא הקופסה עם הצבע הנכון, כי מצאנו אותה. לכן היא הקופסה עם השחור והלבן. השלישית תהיה הקופסה שנותרה.
יש דרך בo(n) ויש דרך יותר יעילה אותה הם מחפשים בlog(n)
ספטמבר 2025
באותה דרך בה ממירים מספר מייצוג דצימלי לייצוג בינארי - עושים מודלו 2 וחילוק ב-2, וזה נותן ספרה אחת. חוזרים על התהליך עד שהמספר מתאפס.
דרך נוספת: אפשר לעשות פעולות על ביטים - למשל num & 1 (ולא [!] num && 1) וככה להשוות את הביט האחרון.
דצמבר 2025
דרך חכמה היא להמיר את המספר שמיוצג בינארית למחרוזת ואז לספור את מספר התווים ׳1׳ ואז להחזיר את מספר התווים שהם ׳1׳.