Українська версія

Windows, Linux та Command Line: питання для співбесіди

Практичні питання українською про Windows Command Prompt, PowerShell, Linux commands, files, logs, permissions, processes, services, networking, resources і troubleshooting для QA/SDET.
20питань
OS та command lineJuniorOccasionalTheory

Яка практична різниця між Windows Command Prompt і PowerShell?

Відповідь

Command Prompt переважно запускає традиційні console programs і batch commands та передає між командами текст. PowerShell є automation shell і scripting language на основі cmdlets та структурованих .NET objects, тому filtering, вибір properties, error handling і автоматизація зазвичай надійніші, ніж parsing форматованого тексту.

Сильна відповідь включає

  • CMD переважно text-oriented і сумісний з batch scripts
  • PowerShell pipeline передає структуровані objects між cmdlets
  • вибір shell залежить від задачі й доступних tools

Практичний приклад

Щоб знайти Windows process, `tasklist | findstr java` парсить текст, а `Get-Process java | Select-Object Name,Id,CPU` працює з process objects та явними properties.

#windows#powershell#cmd#command-line

Джерела

Windows commands referenceMicrosoft · Command Prompt utilities including ipconfig, netstat, tasklist, taskkill, sc, findstr, ping, tracert and nslookupPowerShell documentationMicrosoft · PowerShell cmdlets, object pipeline, processes, services, networking, event logs and environment handlingPowerShell Interview QuestionsWeCP · Recurrence signal for PowerShell fundamentals, cmdlets, services, processes, pipelines and troubleshooting questions
OS та command lineJuniorOccasionalPractical

Які Linux commands використовують, щоб зрозуміти поточний location і переглянути files у directory?

Відповідь

Використовуйте `pwd`, щоб показати current directory, `cd` для переходу між directories і `ls` для списку entries. Для troubleshooting особливо корисний `ls -la`: він показує hidden entries, ownership і permissions. Треба розрізняти absolute та relative paths і брати paths із пробілами в quotes.

Сильна відповідь включає

  • pwd, cd і ls мають різні ролі
  • ls -la показує hidden files та permissions
  • розуміє absolute і relative paths

Практичний приклад

Після SSH на test server виконайте `pwd`, потім `ls -la` і перевірте очікуваний deployment directory перед будь-якими змінами. Це швидко виявляє неправильний working directory або відсутній artifact.

#linux#filesystem#command-line

Джерела

GNU Coreutils manualGNU Project · Linux and Unix-like filesystem, text, disk-usage and shell utility behavior50 Linux Interview Questions (With Answers)Toolmingo · Recurrence signal for Linux filesystem, permissions, processes, systemd, networking and shell-command interview topics
OS та command lineJuniorOccasionalPractical

У чому різниця між `find` і `grep` у Linux?

Відповідь

`find` шукає filesystem entries за критеріями на кшталт name, path, type, size або modification time. `grep` шукає matching lines чи patterns у text content. Їх часто комбінують: `find` відбирає files, а `grep` перевіряє content; або застосовують recursive `grep -R`, якщо потрібен саме content search.

Сильна відповідь включає

  • find шукає paths і filesystem metadata
  • grep шукає content files або streams
  • знає, коли безпечно комбінувати ці commands

Практичний приклад

Щоб знайти JSON logs, змінені сьогодні, і перевірити correlation ID, спочатку використайте `find /var/log/app -name '*.json' -mtime 0`, а потім шукайте `grep -n 'abc-123'` у вибраних files.

#linux#find#grep#filesystem

Джерела

GNU grep manualGNU Project · Text search, matching options, recursive search and grep command semanticsLinux man-pages projectman7.org / Linux man-pages project · Linux processes, signals, networking and system-call-facing command behavior50 Linux Interview Questions (With Answers)Toolmingo · Recurrence signal for Linux filesystem, permissions, processes, systemd, networking and shell-command interview topics
OS та command lineJuniorOccasionalTroubleshooting

Які Linux commands корисні для читання великого log file і спостереження за новими lines?

Відповідь

Використовуйте `less` для interactive читання без відкриття всього file в editor, `head` або `tail` для обмеженої кількості lines і `tail -f`, щоб стежити за appended lines. Для services під systemd часто правильніше використати `journalctl -u <service>`, а не очікувати звичайний text log file.

Сильна відповідь включає

  • less зручний для великих files
  • tail -f показує appended lines
  • journalctl доречний для systemd service logs

Практичний приклад

Під час відтворення API failure на Linux host запустіть `tail -f /var/log/app/app.log` в одному terminal, а test — в іншому. Якщо app керується systemd, використайте `journalctl -u app.service -f`.

#linux#logs#tail#journalctl

Джерела

GNU Coreutils manualGNU Project · Linux and Unix-like filesystem, text, disk-usage and shell utility behaviorsystemd manualsystemd project · systemctl, journalctl, service units and systemd operational behavior50 Linux Interview Questions (With Answers)Toolmingo · Recurrence signal for Linux filesystem, permissions, processes, systemd, networking and shell-command interview topics
OS та command lineJuniorOccasionalTheory

Що роблять pipes і output redirection у command shell?

Відповідь

Pipe передає standard output однієї command у standard input іншої, а redirection направляє standard output або standard error у file чи іншу ціль. У типових Unix shells `>` перезаписує file, `>>` додає в кінець, `2>` redirect-ить stderr, а `|` створює pipeline. У PowerShell semantics відрізняються, бо pipeline зазвичай передає objects.

Сильна відповідь включає

  • pipe з'єднує output producer з input consumer
  • розрізняє overwrite, append і stderr redirection
  • не переносить semantics одного shell на всі інші

Практичний приклад

`grep -i error app.log | tail -n 20 > latest-errors.txt` відбирає matching lines, залишає останні двадцять і записує результат у file замість простого display у terminal.

#shell#pipeline#redirection#command-line

Джерела

GNU Coreutils manualGNU Project · Linux and Unix-like filesystem, text, disk-usage and shell utility behaviorGNU grep manualGNU Project · Text search, matching options, recursive search and grep command semanticsPowerShell documentationMicrosoft · PowerShell cmdlets, object pipeline, processes, services, networking, event logs and environment handling
OS та command lineMiddleOccasionalTheory

Як працюють Linux file permissions і що змінюють `chmod` та `chown`?

Відповідь

Linux permissions оцінюються окремо для file owner, group та others і мають read, write та execute bits. `chmod` змінює permission bits, а `chown` — ownership. Numeric modes на кшталт 644 і 755 є компактним записом: 644 зазвичай дає owner read/write, іншим read-only; 755 додатково дає execute group та others.

Сильна відповідь включає

  • owner, group та others мають окремі permission classes
  • chmod змінює mode, chown змінює ownership
  • пояснює common numeric modes без поради chmod 777

Практичний приклад

Якщо deployed script існує, але повертає `Permission denied`, спочатку перевірте `ls -l`. Правильним fix може бути `chmod u+x run-tests.sh`; сліпий `chmod -R 777` змінює набагато більше permissions, ніж потрібно.

#linux#permissions#chmod#chown

Джерела

GNU Coreutils manualGNU Project · Linux and Unix-like filesystem, text, disk-usage and shell utility behaviorLinux man-pages projectman7.org / Linux man-pages project · Linux processes, signals, networking and system-call-facing command behavior50 Linux Interview Questions (With Answers)Toolmingo · Recurrence signal for Linux filesystem, permissions, processes, systemd, networking and shell-command interview topics
OS та command lineJuniorOccasionalTroubleshooting

Як переглядати running processes у Linux?

Відповідь

Використовуйте `ps` для snapshot processes, часто `ps aux` або `ps -ef`, і `top` для interactive змінного view CPU та memory usage. `pgrep` допомагає знайти PID за process name. Для конкретного service треба також перевіряти service manager, бо сам факт існування process ще не доводить health application.

Сильна відповідь включає

  • ps дає snapshot, top — interactive view
  • може знайти PID через pgrep або filtering ps
  • process existence не дорівнює application health

Практичний приклад

Коли test server стає повільним, `top` може показати Java process, що забирає CPU core. Потім `ps -fp <pid>` підтверджує його command line перед restart або kill неправильного process.

#linux#processes#ps#top

Джерела

Linux man-pages projectman7.org / Linux man-pages project · Linux processes, signals, networking and system-call-facing command behavior50 Linux Interview Questions (With Answers)Toolmingo · Recurrence signal for Linux filesystem, permissions, processes, systemd, networking and shell-command interview topics
OS та command lineMiddleOccasionalTroubleshooting

У чому різниця між звичайним `kill` і `kill -9` у Linux?

Відповідь

`kill <pid>` за замовчуванням надсилає SIGTERM, тобто просить process завершитися і дає йому можливість виконати cleanup handlers. `kill -9 <pid>` надсилає SIGKILL, який process не може перехопити чи ігнорувати. Тому SIGKILL — last resort після невдалого graceful stop, бо cleanup може не завершитися.

Сильна відповідь включає

  • default kill надсилає SIGTERM
  • SIGKILL не може бути оброблений target process
  • force застосовується лише після невдалого graceful termination

Практичний приклад

Якщо local test service завис, спочатку зупиніть його через `systemctl stop` або `kill <pid>` і трохи зачекайте. `kill -9` використовуйте лише якщо process не завершується і наслідки зрозумілі.

#linux#processes#signals#kill

Джерела

Linux man-pages projectman7.org / Linux man-pages project · Linux processes, signals, networking and system-call-facing command behavior50 Linux Interview Questions (With Answers)Toolmingo · Recurrence signal for Linux filesystem, permissions, processes, systemd, networking and shell-command interview topics
OS та command lineJuniorOccasionalPractical

Як у Windows command line показати й зупинити processes?

Відповідь

У Command Prompt `tasklist` показує processes, а `taskkill` може завершити їх за PID або image name. У PowerShell `Get-Process` повертає process objects, а `Stop-Process` завершує вибрані processes. Перед force termination варто перевірити точний PID та process identity, особливо на shared test machines.

Сильна відповідь включає

  • tasklist і taskkill є CMD-native tools
  • Get-Process і Stop-Process є PowerShell cmdlets
  • перевіряє PID або process identity перед termination

Практичний приклад

Використайте `tasklist /fi "IMAGENAME eq java.exe"`, щоб звузити candidates, а потім `taskkill /PID 4321` для підтвердженого process. У PowerShell `Get-Process java` дає properties перед `Stop-Process -Id 4321`.

#windows#processes#tasklist#powershell

Джерела

Windows commands referenceMicrosoft · Command Prompt utilities including ipconfig, netstat, tasklist, taskkill, sc, findstr, ping, tracert and nslookupPowerShell documentationMicrosoft · PowerShell cmdlets, object pipeline, processes, services, networking, event logs and environment handlingPowerShell Interview QuestionsWeCP · Recurrence signal for PowerShell fundamentals, cmdlets, services, processes, pipelines and troubleshooting questions
OS та command lineMiddleOccasionalTroubleshooting

Як перевірити й troubleshoot-ити systemd service у Linux?

Відповідь

Почніть із `systemctl status <unit>`, щоб побачити unit state і recent messages. `systemctl start`, `stop` або `restart` використовуйте лише за потреби, а `journalctl -u <unit>` — для service logs. Також треба відрізняти `enable`, який налаштовує start at boot, від `start`, що змінює current runtime state.

Сильна відповідь включає

  • спочатку systemctl status, а не blind restart
  • journalctl -u для unit logs
  • відрізняє start від enable

Практичний приклад

Якщо `api.service` не працює після deployment, `systemctl status api.service` може показати exit code, а `journalctl -u api.service -n 100 --no-pager` дасть startup error без restart, який може стерти корисний evidence.

#linux#systemd#services#journalctl

Джерела

systemd manualsystemd project · systemctl, journalctl, service units and systemd operational behavior50 Linux Interview Questions (With Answers)Toolmingo · Recurrence signal for Linux filesystem, permissions, processes, systemd, networking and shell-command interview topics
OS та command lineMiddleOccasionalTroubleshooting

Як із command line перевіряти й керувати Windows services?

Відповідь

Command Prompt може використати `sc query <service>` для перевірки service state і `sc start` або `sc stop` для керування. PowerShell має `Get-Service`, `Start-Service`, `Stop-Service` та `Restart-Service`. Статус Running — лише один signal: треба ще перевірити process, listener, dependency та application health.

Сильна відповідь включає

  • знає sc query та PowerShell service cmdlets
  • service state не дорівнює endpoint health
  • перевіряє dependencies і logs перед зайвим restart

Практичний приклад

Windows API service має status Running, але tests отримують connection refused. Перевірте service, потім чи process реально listening на expected port, і Event Log або application logs перед restart.

#windows#services#powershell#troubleshooting

Джерела

Windows commands referenceMicrosoft · Command Prompt utilities including ipconfig, netstat, tasklist, taskkill, sc, findstr, ping, tracert and nslookupPowerShell documentationMicrosoft · PowerShell cmdlets, object pipeline, processes, services, networking, event logs and environment handlingPowerShell Interview QuestionsWeCP · Recurrence signal for PowerShell fundamentals, cmdlets, services, processes, pipelines and troubleshooting questions
OS та command lineMiddleOccasionalPractical

Які Linux commands допомагають перевірити local network configuration і routes?

Відповідь

`ip addr` показує interface addresses та state, а `ip route` — routing decisions, включно з default route. `hostname` показує local host name. Старі `ifconfig` і `route` ще трапляються, але modern Linux troubleshooting зазвичай використовує family commands `ip` з iproute2.

Сильна відповідь включає

  • ip addr для interfaces та addresses
  • ip route для routing table і default route
  • розуміє, що iproute2 є сучасним default

Практичний приклад

Якщо VM не може reach API subnet, перевірте `ip addr`, щоб підтвердити expected address, і `ip route`, щоб побачити usable route, перш ніж звинувачувати DNS або remote service.

#linux#networking#iproute2#troubleshooting

Джерела

Linux man-pages projectman7.org / Linux man-pages project · Linux processes, signals, networking and system-call-facing command behavior50 Linux Interview Questions (With Answers)Toolmingo · Recurrence signal for Linux filesystem, permissions, processes, systemd, networking and shell-command interview topics
OS та command lineJuniorOccasionalPractical

Яку інформацію показує `ipconfig` у Windows і коли корисний `ipconfig /all`?

Відповідь

`ipconfig` показує core TCP/IP configuration: IPv4/IPv6 addresses, subnet masks та default gateways. `ipconfig /all` додає детальну adapter information, включно з DHCP і DNS configuration. Options `/flushdns`, `/release` та `/renew` змінюють state, тому їх не слід запускати лише для inspection.

Сильна відповідь включає

  • basic ipconfig показує address, mask і gateway
  • /all додає adapter, DHCP та DNS details
  • відрізняє inspection від state-changing options

Практичний приклад

Коли Windows test agent не reach-ить internal service, `ipconfig /all` може показати неправильний DNS server або gateway, що набагато корисніше за повторні application retries.

#windows#networking#ipconfig

Джерела

Windows commands referenceMicrosoft · Command Prompt utilities including ipconfig, netstat, tasklist, taskkill, sc, findstr, ping, tracert and nslookup
OS та command lineMiddleOccasionalTroubleshooting

Як визначити, який process listening на TCP port у Linux і Windows?

Відповідь

У Linux типовий варіант — `ss -lntp`, який показує listening TCP sockets і пов'язані processes, якщо вистачає permissions; також інколи використовують `lsof -i`. У Windows `netstat -ano` показує connections/listeners із PID, який можна зіставити через `tasklist`; у PowerShell є `Get-NetTCPConnection` плюс process inspection.

Сильна відповідь включає

  • Linux ss може пов'язати listeners із processes
  • Windows netstat -ano показує PID
  • спочатку зіставляє PID з owner process, потім діє

Практичний приклад

Якщо port 8080 неочікувано зайнятий, використайте `ss -lntp | grep ':8080'` у Linux або `netstat -ano | findstr :8080` у Windows, а потім визначте PID перед будь-яким stop.

#linux#windows#networking#ports#processes

Джерела

Linux man-pages projectman7.org / Linux man-pages project · Linux processes, signals, networking and system-call-facing command behaviorWindows commands referenceMicrosoft · Command Prompt utilities including ipconfig, netstat, tasklist, taskkill, sc, findstr, ping, tracert and nslookupPowerShell documentationMicrosoft · PowerShell cmdlets, object pipeline, processes, services, networking, event logs and environment handling
OS та command lineMiddleOccasionalTroubleshooting

Які command-line tools допомагають відрізнити DNS problem від загальної connectivity problem?

Відповідь

Використовуйте `nslookup` або `dig`, щоб query-ити DNS і порівняти resolved address з очікуваним. `ping` дає лише обмежений ICMP reachability signal, бо ICMP може бути blocked. `traceroute` або `tracert` дають clues про path, а `curl` чи Windows `Test-NetConnection -Port` перевіряють саме потрібний protocol і port.

Сильна відповідь включає

  • DNS resolution і network reachability перевіряються окремо
  • failed ping не доводить, що host unavailable
  • перевіряє реальний TCP port або application protocol

Практичний приклад

Якщо `api.internal` падає в test, спочатку resolve-ніть його через `nslookup api.internal`. Якщо address правильний, перевірте TCP 443 через `Test-NetConnection api.internal -Port 443` або URL через `curl`.

#dns#networking#windows#linux#troubleshooting

Джерела

Windows commands referenceMicrosoft · Command Prompt utilities including ipconfig, netstat, tasklist, taskkill, sc, findstr, ping, tracert and nslookupPowerShell documentationMicrosoft · PowerShell cmdlets, object pipeline, processes, services, networking, event logs and environment handlingcurl documentationcurl project · HTTP and network diagnostics with curl, including request, response and verbose connection inspectionLinux man-pages projectman7.org / Linux man-pages project · Linux processes, signals, networking and system-call-facing command behavior
OS та command lineJuniorOccasionalPractical

Як `curl` допомагає, коли HTTP service не працює через browser або test framework?

Відповідь

`curl` може зробити direct HTTP request і показати status, headers, redirects, TLS errors та response content без browser UI чи abstractions test framework. Корисні options: `-v` для verbose connection details, `-I` для headers, `-H` для request headers і `-d` для request data. Це diagnostic client, а не доказ повної correctness application.

Сильна відповідь включає

  • curl ізолює HTTP від browser або framework behavior
  • свідомо використовує verbose output і headers
  • не вважає один successful curl повним testing

Практичний приклад

Коли automated API test показує generic connection failure, `curl -v https://service/health` може показати, де перший failure: DNS, TCP/TLS setup, redirect чи сам HTTP response.

#curl#http#linux#windows#troubleshooting

Джерела

curl documentationcurl project · HTTP and network diagnostics with curl, including request, response and verbose connection inspection50 Linux Interview Questions (With Answers)Toolmingo · Recurrence signal for Linux filesystem, permissions, processes, systemd, networking and shell-command interview topics
OS та command lineMiddleOccasionalTroubleshooting

Які command-line checks корисні, коли test machine повільна або закінчуються resources?

Відповідь

У Linux `top` або `ps` допомагають знайти CPU/memory consumers, `free -h` показує memory summary, а `df -h` разом із `du` відрізняють filesystem capacity від directory usage. У Windows PowerShell можна перевірити processes через `Get-Process`, а drives через `Get-PSDrive` або storage cmdlets. Спочатку вимірюйте, а вже потім видаляйте чи kill-те.

Сильна відповідь включає

  • окремо досліджує CPU, memory і disk
  • df та du відповідають на різні disk questions
  • спочатку вимірювання, потім destructive remediation

Практичний приклад

Якщо CI падає з `No space left on device`, `df -h` підтверджує, який filesystem full, а `du -sh` по candidate directories показує, де витрачено space, перш ніж видаляти logs чи artifacts.

#linux#windows#resources#disk#memory

Джерела

GNU Coreutils manualGNU Project · Linux and Unix-like filesystem, text, disk-usage and shell utility behaviorLinux man-pages projectman7.org / Linux man-pages project · Linux processes, signals, networking and system-call-facing command behaviorPowerShell documentationMicrosoft · PowerShell cmdlets, object pipeline, processes, services, networking, event logs and environment handling50 Linux Interview Questions (With Answers)Toolmingo · Recurrence signal for Linux filesystem, permissions, processes, systemd, networking and shell-command interview topics
OS та command lineJuniorOccasionalTheory

Що таке environment variables і чому `PATH` важливий для command-line tools?

Відповідь

Environment variables — це named values, які бачать processes і які часто використовуються для configuration: endpoints, credential references, modes та tool locations. `PATH` — список directories, у яких shell шукає executable, якщо command викликана без full path. Tool може бути встановлений правильно, але не знаходитися через відсутній directory у PATH або stale shell state.

Сильна відповідь включає

  • environment variables є process-visible configuration
  • PATH керує executable lookup
  • розуміє inheritance між process/session і stale state

Практичний приклад

Якщо `k6` працює в одному terminal, але не в іншому, порівняйте PATH і command resolution перед reinstall. У PowerShell використайте `$env:PATH` та `Get-Command k6`, у Linux — `echo "$PATH"` і `command -v k6`.

#environment-variables#path#linux#windows#command-line

Джерела

GNU Coreutils manualGNU Project · Linux and Unix-like filesystem, text, disk-usage and shell utility behaviorPowerShell documentationMicrosoft · PowerShell cmdlets, object pipeline, processes, services, networking, event logs and environment handling
OS та command lineSeniorOccasionalScenario

Service має status running, але clients не можуть до нього підключитися. Які command-line checks виконати перед restart?

Відповідь

Рухайтеся від client path усередину: resolve hostname, перевірте intended IP і route, протестуйте потрібний TCP port, переконайтеся, що service listening на expected interface, зіставте listener з правильним process, перевірте service state та logs, а потім local firewall або proxy configuration. Збережіть evidence до restart, бо restart може приховати original failure.

Сильна відповідь включає

  • йде від DNS до network, listener, process і application logs
  • перевіряє actual port, а не лише ping
  • зберігає evidence перед restart або force termination

Практичний приклад

Для HTTPS на port 8443 resolve-ніть host, перевірте TCP 8443, подивіться `ss -lntp` або `netstat -ano`, визначте owner process, а потім `journalctl` чи Windows Event Log. Restart робіть після локалізації failure.

#linux#windows#troubleshooting#networking#services

Джерела

Linux man-pages projectman7.org / Linux man-pages project · Linux processes, signals, networking and system-call-facing command behaviorsystemd manualsystemd project · systemctl, journalctl, service units and systemd operational behaviorWindows commands referenceMicrosoft · Command Prompt utilities including ipconfig, netstat, tasklist, taskkill, sc, findstr, ping, tracert and nslookupPowerShell documentationMicrosoft · PowerShell cmdlets, object pipeline, processes, services, networking, event logs and environment handlingcurl documentationcurl project · HTTP and network diagnostics with curl, including request, response and verbose connection inspection