HiTakeJobHiTakeJob

שאלות ראיון Linux ו-SysAdmin — 35 שאלות

זמן קריאה: 8 דקות

שאלות ראיון Linux ו-SysAdmin מכסות ניהול תהליכים והרשאות, מערכת הקבצים, רשת, סקריפטים ב-Bash, ופתרון תקלות בשרתים. במדריך זה ריכזנו 35 שאלות ותשובות אמיתיות מקובצות לפי נושא, כפי שנשאלות בישראל. נכון להיום פתוחות אצלנו 91 משרות Linux ו-36 משרות שמזכירות Bash — הבסיס לכל תפקיד תשתיות ו-DevOps.

יסודות ומערכת קבצים

מה מבנה מערכת הקבצים ב-Linux?

עץ יחיד שמתחיל ב-/. תיקיות מרכזיות: /etc (קונפיגורציה), /var (לוגים ונתונים משתנים), /home (משתמשים), /bin ו-/usr/bin (בינאריים), /proc (מידע על תהליכים). הכל, כולל התקנים, מיוצג כקובץ.

איך עובדות הרשאות קבצים ב-Linux?

לכל קובץ יש הרשאות read/write/execute עבור owner, group ו-others. מיוצגות ב-3 ספרות אוקטליות (למשל 755). chmod משנה הרשאות, chown משנה בעלות. הבנת המודל קריטית לאבטחה.

מה המשמעות של chmod 755 ו-644?

755 = owner מלא (rwx), group ו-others קריאה+הרצה (r-x) — נפוץ לתיקיות ולסקריפטים. 644 = owner קריאה+כתיבה, האחרים קריאה בלבד — נפוץ לקבצים רגילים. הספרה הראשונה היא owner.

hard link הוא הפניה נוספת לאותו inode — הקובץ קיים כל עוד יש לו לפחות link אחד. symbolic link הוא מצביע לנתיב, ונשבר אם היעד נמחק. symlinks יכולים לחצות מערכות קבצים, hard links לא.

מה זה inode?

inode הוא מבנה נתונים שמחזיק מטא-דאטה על קובץ (הרשאות, בעלות, גודל, מיקום בדיסק) — אך לא את השם. השם נמצא בתיקייה שממפה אותו ל-inode. מכאן ש"disk full" יכול לקרות גם מ-inodes שאזלו.

תהליכים וניטור

איך בודקים אילו תהליכים רצים ואילו צורכים משאבים?

ps aux מציג רשימת תהליכים; top/htop מציגים בזמן אמת צריכת CPU וזיכרון. מזהים תהליך בעייתי לפי PID ואת צריכת המשאבים שלו, ואפשר לסנן עם grep.

מה ההבדל בין kill, kill -9 ו-SIGTERM?

kill שולח כברירת מחדל SIGTERM (15) — בקשה מנומסת לסיום, שמאפשרת ניקוי. kill -9 שולח SIGKILL — סיום מיידי שלא ניתן להתעלם ממנו ולא מאפשר ניקוי. מעדיפים SIGTERM ורק אז SIGKILL.

מה ההבדל בין תהליך ל-thread?

process הוא תוכנית עם מרחב זיכרון משלה; thread הוא יחידת ריצה בתוך process שחולקת את הזיכרון. מעבר בין processes יקר יותר; threads קלים אך דורשים סנכרון.

מה זה zombie process?

zombie הוא תהליך שסיים לרוץ אך רשומתו נשארת בטבלה עד שההורה קורא את קוד היציאה (wait). ריבוי zombies מצביע על הורה שאינו קוצר את ילדיו — באג בתוכנה.

מה ההבדל בין foreground ל-background job?

foreground תופס את הטרמינל עד לסיום; background (עם &) רץ במקביל ומחזיר את השורה. jobs, fg ו-bg מנהלים אותם, ו-nohup/disown מאפשרים המשך ריצה אחרי סגירת ה-shell.

איך בודקים שימוש בזיכרון ובדיסק?

free -h לזיכרון, df -h לניצול מערכות קבצים, du -sh לגודל תיקייה. חשוב להבין ש-Linux משתמש בזיכרון פנוי ל-cache, כך ש"זיכרון פנוי נמוך" אינו בהכרח בעיה.

רשת

איך בודקים חיבוריות רשת ובעיות?

ping לבדיקת הגעה, traceroute למסלול, ss/netstat לפורטים פתוחים וחיבורים, curl לבדיקת שירות HTTP, ו-dig/nslookup ל-DNS. מתקדמים משלב שכבה בשכבה: מקומי → DNS → נתב → יעד.

מה ההבדל בין TCP ל-UDP?

TCP מבטיח מסירה מסודרת ואמינה עם handshake (HTTP, SSH). UDP מהיר וללא הבטחות (DNS, סטרימינג). בוחרים לפי הצורך: אמינות מול latency נמוך.

מה קורה כשמקלידים כתובת בדפדפן (ברמת מערכת)?

רזולוציית DNS לכתובת IP, פתיחת חיבור TCP (ו-TLS ל-HTTPS), שליחת בקשת HTTP, קבלת תגובה. שאלה זו בודקת הבנת שכבות הרשת מקצה לקצה.

איך בודקים אילו פורטים פתוחים ומי מאזין?

ss -tulnp (או netstat -tulnp) מציג פורטים מאזינים ואת התהליך. lsof -i מראה קבצים/סוקטים פתוחים. שימושי לזיהוי שירות שתופס פורט או פורט חשוף.

מה זה SSH ואיך עובד אימות מבוסס מפתחות?

SSH מספק חיבור מוצפן לשרת מרוחק. באימות מפתחות, המפתח הציבורי יושב בשרת (authorized_keys) והפרטי אצל המשתמש. עדיף על סיסמה — בטוח יותר וניתן לאוטומציה. לעולם לא חושפים מפתח פרטי.

מה ההבדל בין iptables/firewalld לרמת האפליקציה?

iptables/nftables (ו-firewalld כעטיפה) מסננים תעבורה ברמת הרשת של מערכת ההפעלה — מי מותר להתחבר לאיזה פורט. הגנת אפליקציה (אימות, הרשאות) פועלת מעל. אבטחה טובה משלבת את שתי הרמות: firewall מצמצם את שטח התקיפה עוד לפני האפליקציה.

Bash וסקריפטים

מה ההבדל בין > ל->> ובין | ל-&&?

> מפנה פלט ודורס קובץ; >> מוסיף לסופו. | מעביר פלט של פקודה כקלט לפקודה הבאה. && מריץ את הפקודה הבאה רק אם הקודמת הצליחה (exit 0), || רק אם נכשלה.

איך מוצאים טקסט בקבצים ואיך מסננים פלט?

grep מחפש דפוסים בקבצים (עם -r לרקורסיה, -i ל-case-insensitive). awk לעיבוד עמודות, sed לעריכת טקסט. שילובם ב-pipe הוא הבסיס לניתוח לוגים ואוטומציה.

איך כותבים לולאה בסיסית ב-Bash?

for f in *.log; do echo "$f"; done עובר על קבצים. חשוב לעטוף משתנים במרכאות כפולות כדי לטפל ברווחים בשמות. while read משמש לקריאת קלט שורה-שורה.

מה זה exit code ולמה הוא חשוב?

כל פקודה מחזירה exit code: 0 להצלחה, שונה מ-0 לכישלון. בודקים אותו עם $? או בתנאים. קריטי לסקריפטים אמינים ולפייפליינים של CI שצריכים לדעת אם שלב הצליח.

מה עושה crontab ואיך מתזמנים משימה?

crontab מתזמן משימות מחזוריות. שורה מכילה חמישה שדות זמן (דקה, שעה, יום-בחודש, חודש, יום-בשבוע) ואחריהם הפקודה. crontab -e לעריכה, crontab -l לצפייה. שימושי לגיבויים ותחזוקה.

איך היית מדבג סקריפט Bash שנכשל?

מריצים עם bash -x לראות כל פקודה, מוסיפים set -euo pipefail כדי לעצור בשגיאה ולתפוס משתנים לא-מוגדרים, ובודקים exit codes בכל שלב. לוגים מפורטים מזרזים אבחון.

מהם הפרמטרים המיוחדים $@, $0 ו-$#?

‎$@‎ הוא כל הארגומנטים כפריטים נפרדים (עדיף במרכאות כפולות כדי לשמור על רווחים), ‎$0‎ הוא שם הסקריפט, ‎$#‎ הוא מספר הארגומנטים, ו-‎$?‎ הוא ה-exit code של הפקודה האחרונה. הבנתם חיונית לכתיבת סקריפטים גמישים ואמינים.

מערכת, אחסון ופתרון תקלות

מה זה systemd ו-systemctl?

systemd הוא מנהל האתחול והשירותים ברוב ההפצות המודרניות. systemctl שולט בשירותים (start/stop/status/enable), ו-journalctl מציג לוגים. החליף את init/SysV הישן.

איך בודקים לוגים של שירות?

journalctl -u service-name לשירותי systemd, או קבצים תחת /var/log. משתמשים ב-tail -f למעקב בזמן אמת ו-grep לסינון. הלוגים הם הצעד הראשון באבחון כמעט כל תקלה.

מה זה swap ומתי משתמשים בו?

swap הוא שטח דיסק שמשמש כהרחבה לזיכרון כשה-RAM מתמלא. הוא מונע קריסה (OOM) אך איטי בהרבה מ-RAM. swap גבוה בשימוש מתמיד מצביע על מחסור בזיכרון פיזי.

איך מתקינים ומנהלים חבילות?

apt (Debian/Ubuntu) או yum/dnf (RHEL/CentOS). מעדכנים אינדקס (apt update), מתקינים (apt install), ומסירים (remove). הבנת מנהל החבילות של ההפצה חיונית לתחזוקת שרתים.

שרת איטי — איך היית מאבחן?

מתחילים ב-top/htop לזיהוי צוואר בקבוק (CPU, זיכרון, I/O), בודקים iostat לדיסק, free לזיכרון, ו-ss לרשת. מנתחים לוגים ב-/var/log. שיטתיות: מוצאים את המשאב הרווי לפני שמנחשים פתרון.

מה זה LVM ולמה משתמשים בו?

LVM (Logical Volume Manager) מפריד בין דיסקים פיזיים לנפחים לוגיים, ומאפשר הגדלה, snapshots וגמישות בניהול אחסון בלי לפרמט. שימושי בשרתים שדורשים שינוי גודל דינמי.

מה ההבדל בין su ל-sudo?

su מחליף למשתמש אחר (לרוב root) ודורש את סיסמתו. sudo מריץ פקודה בודדת בהרשאות מוגברות עם סיסמת המשתמש עצמו, לפי כללי /etc/sudoers, ומתעד כל שימוש. sudo בטוח יותר וניתן למעקב, ולכן מועדף.

מה זה umask?

umask קובע את הרשאות ברירת המחדל שנשללות מקבצים ותיקיות חדשים. למשל umask 022 גורם לקבצים חדשים להיווצר עם 644 ולתיקיות עם 755. חשוב להבנת אבטחה ותפעול נכון של שרת.

איך היית מגלה מי מילא את הדיסק?

מתחילים ב-df -h לזיהוי המחיצה המלאה, ואז du -sh /* או du -h --max-depth=1 כדי לרדת לתיקייה הגדולה. בודקים לוגים תפוחים ב-/var/log, וקבצים שנמחקו אך עדיין פתוחים בתהליך (lsof | grep deleted).

Signals נפוצים — טבלת עזר

הבנת signals היא נקודת מבחן קלאסית בראיון Linux:

Signalמספרמשמעות
SIGTERM15בקשת סיום מנומסת (ניתן לתפוס)
SIGKILL9סיום מיידי (לא ניתן לתפוס)
SIGHUP1טעינת קונפיגורציה מחדש
SIGINT2הפסקה מהמקלדת (Ctrl+C)

אבחון לפי משאב — טבלת פקודות

אבחון שיטתי מתחיל בזיהוי המשאב הרווי. כלי לכל תחום:

תחוםכלי מרכזימה בודקים
CPU/זיכרוןtop / htopתהליכים כבדים
דיסק (מקום)df / duמחיצות מלאות
דיסק (I/O)iostatצוואר בקבוק קלט/פלט
רשתss / dig / curlפורטים, DNS, שירות
לוגיםjournalctl / tailשגיאות שירות

טעויות נפוצות בראיון Linux

  • שימוש ב-kill -9 כברירת מחדל: מונע ניקוי מסודר של תהליכים.
  • הרשאות 777: "פותר" בעיות אך יוצר סיכון אבטחה חמור.
  • לא לעטוף משתנים במרכאות ב-Bash: שובר על רווחים ותווים מיוחדים.
  • להתעלם מ-exit codes: סקריפטים שממשיכים גם אחרי כישלון.
  • לבלבל בין זיכרון cache לזיכרון "תפוס": אבחון שגוי של בעיית זיכרון.

מיני-צ'קליסט להכנה לראיון Linux

  • לשלוט בהרשאות (chmod/chown) ובמערכת הקבצים.
  • לדעת ניהול תהליכים, signals וניטור (ps/top/kill).
  • לתרגל פקודות רשת (ss, dig, curl, traceroute).
  • לכתוב סקריפט Bash עם לולאה, תנאי ו-exit codes.
  • להכיר systemd, journalctl וניהול חבילות.
  • להכין תרחיש אבחון "שרת איטי" מקצה לקצה.

לתפקידי DevOps רחבים יותר ראו את שאלות ראיון Backend ואת מסלול הקריירה בסייבר. מוכנים? עיינו במשרות Linux, במשרות Bash, ובכלל המשרות הפתוחות.

שאלות נפוצות

כמה משרות Linux יש בישראל כרגע?

נכון להיום פתוחות אצלנו ב-HiTakeJob 91 משרות Linux ו-30 משרות שמזכירות Bash. Linux הוא הבסיס כמעט לכל תשתית שרתים, קלאוד ו-DevOps, ולכן הביקוש למיומנות בו נרחב ויציב.

על מה הכי שמים דגש בראיון Linux/SysAdmin?

על הבנת הרשאות ומערכת הקבצים, ניהול תהליכים ו-signals, פתרון תקלות שיטתי, ורשת בסיסית. תפקידי DevOps מוסיפים Bash scripting, systemd ואבחון ביצועים. חשיבה שיטתית חשובה משינון פקודות.

האם צריך לדעת לכתוב סקריפטים ב-Bash?

כן, כמעט בכל תפקיד תשתיות. מצפים ליכולת לכתוב לולאות, תנאים, ולעבד טקסט עם grep/awk/sed, וכן להבין exit codes ו-pipes. Bash הוא כלי האוטומציה הבסיסי של מנהל מערכת.

מה ההבדל בין SysAdmin ל-DevOps?

SysAdmin מתמקד בתחזוקת שרתים ומערכות. DevOps מרחיב זאת לאוטומציה, CI/CD, קלאוד ותשתית כקוד. הבסיס של Linux ו-Bash משותף לשניהם, ורבים עוברים מ-SysAdmin ל-DevOps.

מה ההבדל בין ראיון לג'וניור לסניור?

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

מאמרים נוספים

המשרות באתר