40+ вопросов для собеседования на тему Linux

Thank you for reading this post, don't forget to subscribe!

Собе­се­до­ва­ния для раз­ра­бот­чи­ков часто вклю­ча­ют вопро­сы об осно­вах Linux и дру­гих опе­ра­ци­он­ных систем на осно­ве Unix. Те кто бра­ли интер­вью для раз­лич­ных долж­но­стей, обыч­но доку­мен­ти­ру­ют эти вопро­сы. Отве­ты могут отли­чать­ся в зави­си­мо­сти от чело­ве­ка, но кон­цеп­ция оста­ет­ся той же, и это мож­но понять толь­ко тогда, когда чело­век раз­би­ра­ет­ся в осно­вах Linux.

Linux доволь­но силь­но отли­ча­ет­ся от Windows, но в неко­то­рых обла­стях она полу­чи­ла широ­кое рас­про­стра­не­ние. Посколь­ку это опе­ра­ци­он­ная систе­ма с откры­тым исход­ным кодом, Linux в основ­ном бес­плат­на и исполь­зу­ет­ся в каче­стве крос­сплат­фор­мен­ной опе­ра­ци­он­ной систе­мы, кото­рую мож­но лег­ко уста­но­вить на ПК, ноут­бу­ки, игро­вые при­став­ки и мно­гое дру­гое. Это то, что откры­ва­ет мно­же­ство при­ло­же­ний для Linux, и, сле­до­ва­тель­но, спрос на талант­ли­вых и зна­ю­щих про­фес­си­о­на­лов, раз­би­ра­ю­щих­ся об обла­сти, в кото­рой они рабо­та­ют. Вы навер­ня­ка зна­е­те мно­го отве­тов на постав­лен­ные вопро­сы, если вы доста­точ­но вре­ме­ни про­ра­бо­та­ли с ОС.

Основные вопросы о Linux

Что такое Linux? Опе­ра­ци­он­ная систе­ма с откры­тым исход­ным кодом.
 Кем разработана?  Лину­сом Торвальд­сом и сообществом
 На каком язы­ке написана?  С и assembler
 Поль­зо­ва­тель­ский интер­фейс по умолчанию?  Unix shell
 Какая лицензия?  GPLv2
 Когда был пер­вый релиз?  17 сен­тяб­ря 1991

 

 

 

 

 

 

 

Техническое вопросы для собеседования о Linux:

1. Перечислите основные компоненты Linux?

Суще­ству­ет три основ­ных ком­по­нен­та Linux:

  • Ядро: это основ­ная часть ОС Linux.
  • Систем­ные биб­лио­те­ки: это спе­ци­аль­ные про­грам­мы, функ­ции или мето­ды. При­клад­ные про­грам­мы и систем­ные ути­ли­ты полу­ча­ют доступ к функ­ци­ям ядра.
  • Систем­ные ути­ли­ты: это про­грам­мы, кото­рые отве­ча­ют за выпол­не­ние спе­ци­а­ли­зи­ро­ван­ных задач на инди­ви­ду­аль­ном уровне.
2. Что такое Linux? Чем он отличается от UNIX?

Linux — бес­плат­ная мно­го­поль­зо­ва­тель­ская опе­ра­ци­он­ная систе­ма с откры­тым исход­ным кодом, постро­ен­ная на ядре Linux. Линус Торвальдс выпу­стил первую вер­сию опе­ра­ци­он­ной систе­мы Linux 17 сен­тяб­ря 1991 года.

Несколь­ко отли­чий меж­ду опе­ра­ци­он­ны­ми систе­ма­ми Linux и Unix:

Linux Unix
Linux с откры­тым исход­ным кодом, любой может исполь­зо­вать его бесплатно. На Unix рас­про­стра­ня­ют­ся автор­ские пра­ва круп­ных ком­па­ний, таких как IBM AIXSun Solaris и HPUX.
Linux это про­сто ядро. Unix — пол­но­цен­ная опе­ра­ци­он­ная система.
По умол­ча­нию Linux под­дер­жи­ва­ет и исполь­зу­ет фай­ло­вые систе­мы ext3 или ext4. Unix постав­ля­ет­ся с фай­ло­вы­ми систе­ма­ми jfsgpfs ​​(AIX), jfsgpfs ​​(HPUX), jfsgpfs ​​(Solaris).
Linux Redhat EnterpriseFedora Linux, Debian LinuxSuse Enterprise LinuxUbuntu Linux — неко­то­рые попу­ляр­ные ОС Linux. HP-UXIBM AIXSun SolarisMac OS X — неко­то­рые опе­ра­ци­он­ные систе­мы на осно­ве Unix.
Linux счи­та­ет­ся наи­бо­лее удоб­ной для пользователя. Apple OS X — это самая попу­ляр­ная опе­ра­ци­он­ная систе­ма Unix для настоль­ных ПК.

 

3. В чем разница между абсолютным и относительным путем к файлу?

Абсо­лют­ный путь — это точ­ное место­по­ло­же­ние ката­ло­га или фай­ла из любо­го ката­ло­га (пред­по­чти­тель­но кор­не­вой ката­лог). С дру­гой сто­ро­ны, отно­си­тель­ный путь ука­зы­ва­ет место­по­ло­же­ние ката­ло­га или фай­ла со ссыл­кой на теку­щее место­по­ло­же­ние или теку­щий рабо­чий ката­лог (present working directory — pwd).

4. Что такое Samba? Как это используется?

Samba — это про­грамм­ный пакет с откры­тым исход­ным кодом. Он рабо­та­ет на ОС Linux и базо­вых плат­фор­мах Unix/Linux. Это пере­опре­де­ле­ние Common Internet File System (CIFS) и глав­но­го про­то­ко­ла — Server Message Block (SMB). Samba — это стан­дарт­ный пакет сов­ме­сти­мо­сти Windows, кото­рый гаран­ти­ру­ет, что про­грамм­ное обес­пе­че­ние может вза­и­мо­дей­ство­вать с про­грам­ма­ми Linux и кли­ен­та­ми Windows, как с «род­ны­ми» приложениями.

5. Какая команда может показать вам свободную/использованную память? Существует ли свободная память в Linux?

Есть мно­го команд, кото­рые отоб­ра­жа­ют сво­бод­ную или исполь­зо­ван­ную память в Linux. Самый про­стой спо­соб отсле­жи­вать исполь­зо­ва­ние памя­ти в Linux — исполь­зо­вать коман­ду «free». Linux и дру­гие опе­ра­ци­он­ные систе­мы на осно­ве Unix обыч­но пока­зы­ва­ют мень­ше сво­бод­ной памя­ти, чем может быть доступ­но. Вот поче­му Swap (special type of memory) досту­пен для исполь­зо­ва­ния, когда ОЗУ заполнена.

6. В чем разница между soft и hard параметрами сборки?

Пара­мет­ры сбор­ки NFS в основ­ном опре­де­ля­ют, как кли­ент дол­жен обра­ба­ты­вать отказ или сбой сер­ве­ра. В слу­чае soft сбор­ки кли­ент может сооб­щить об ошиб­ке, не дожи­да­ясь отве­та от сер­ве­ра NFS. Но это так­же может при­ве­сти к повре­жде­нию или поте­ре дан­ных. С дру­гой сто­ро­ны, в слу­чае hard сбор­ки фай­ло­вая систе­ма NFS неод­но­крат­но свя­зы­ва­ет­ся с сер­ве­ром, пока не полу­чит ответ. Как толь­ко запрос достиг­нет сер­ве­ра, про­грам­ма про­дол­жит выпол­не­ние с того же места, где она оста­но­ви­лась во вре­мя сбоя сервера.

7. Что такое SSH? Как подключиться к удаленному серверу через SSH?

SSH озна­ча­ет Secure Shell и явля­ет­ся про­то­ко­лом для без­опас­но­го вхо­да в уда­лен­ные систе­мы. Это наи­бо­лее рас­про­стра­нен­ный и про­стой спо­соб досту­па к уда­лен­ным сер­ве­рам на базе Linux. Для это­го вам необ­хо­ди­мо знать имя доме­на и IP-адрес.

8. Что такое виртуальная память?

Когда физи­че­ской памя­ти не хва­та­ет, ком­пью­тер или, ско­рее, опе­ра­ци­он­ная систе­ма исполь­зу­ет как аппа­рат­ное, так и про­грамм­ное обес­пе­че­ние. Она пере­да­ет дан­ные из опе­ра­тив­ной памя­ти на дис­ко­вое пространство.

9. Что такое линия Шебанга?

Линия Шебан­га (shebang или bang) — это после­до­ва­тель­ность из двух сим­во­лов: решёт­ки и вос­кли­ца­тель­но­го зна­ка («#!«) в нача­ле фай­ла скрип­та. Когда скрипт с шебан­гом выпол­ня­ет­ся, загруз­чик про­грамм рас­смат­ри­ва­ет оста­ток стро­ки после шебан­га как имя фай­ла про­грам­мы-интер­пре­та­то­ра. Загруз­чик запус­ка­ет эту про­грам­му и пере­да­ёт ей в каче­стве пара­мет­ра имя фай­ла скрип­та с шебангом.

10. Что делает команда env?

Коман­да env — это shell-коман­да, кото­рая может исполь­зо­вать­ся для выво­да спис­ка суще­ству­ю­щих пере­мен­ных сре­ды или для запус­ка дру­гой про­грам­мы в поль­зо­ва­тель­ской сре­де без изме­не­ния текущей.

11. Что значит chmod + x FILENAME?

Коман­да chmod — это сокра­ще­ние от Change Mode. Эта коман­да чрез­вы­чай­но полез­на для изме­не­ния прав досту­па к фай­лам и пап­кам, рас­по­ло­жен­ным в Linux/Unix. Раз­ре­ше­ние на доступ к файлу/каталогу, кото­рое обыч­но явля­ет­ся запи­сью, чте­ни­ем или выпол­не­ни­ем для любо­го поль­зо­ва­те­ля или группы.

12. Что такое CLI в Linux?

CLI — это сокра­ще­ние от Command Line Interface, и это «чело­век-ком­пью­тер» интер­фейс. Обыч­но он очень отли­ча­ет­ся от Graphic User Interface (GUI), кото­рый так­же широ­ко исполь­зу­ет­ся. В слу­чае с LinuxGUI исполь­зу­ет­ся в каче­стве внеш­ней обо­лоч­ки для базо­во­го CLI.

13. В чем разница между Telnet и SSH?

SSH — это в сете­вой про­то­кол, кото­рый исполь­зу­ет­ся для уда­лен­но­го досту­па и управ­ле­ния любым устрой­ством. Основ­ное раз­ли­чие меж­ду SSH и Telnet состо­ит в том, что SSH исполь­зу­ет шиф­ро­ва­ние, что озна­ча­ет, что все дан­ные, пере­да­ва­е­мые по сети, защи­ще­ны от отсле­жи­ва­ния. Telnet все же не так без­опа­сен. Как и Telnet, поль­зо­ва­тель, кото­рый хочет полу­чить доступ к уда­лен­но­му устрой­ству, дол­жен уста­но­вить SSH-кли­ент.

14. Что делает команда set -o?

Set — это встро­ен­ная в shell коман­да, кото­рая отоб­ра­жа­ет все shell-пере­мен­ные, вклю­чая пере­мен­ные среды.

15. Расскажите разницу между разделом подкачки и файлом подкачки?

Опе­ра­ци­он­ная систе­ма Linux исполь­зу­ет заре­зер­ви­ро­ван­ный блок дис­ка на жест­ком дис­ке для под­кач­ки. Это назы­ва­ет­ся раз­де­лом под­кач­ки, так как ника­кие дру­гие фай­лы не могут быть рас­по­ло­же­ны в раз­де­ле под­кач­ки. В слу­чае ОС Windows про­стран­ство под­кач­ки или раз­дел назы­ва­ет­ся фай­лом подкачки.

16. Что делает утилита comm и как её использовать?

Ути­ли­та сomm про­из­во­дит вывод в три колон­ки. В основ­ном это ути­ли­та, кото­рая исполь­зу­ет­ся для срав­не­ния двух фай­лов по отдель­ным и общим строкам.

17. Что такое полная форма grep?

Grep — это сокра­ще­ние от global regulation expression point. Ути­ли­та команд­ной стро­ки, grep, исполь­зу­ет­ся для поис­ка набо­ров дан­ных в виде тек­ста строк, кото­рые соот­вет­ству­ют регу­ляр­но­му выражению.

18. Что означают записи A, NS, PTR, CNAME, MX?

NS-запись исполь­зу­ет­ся для предо­став­ле­ния доме­ну воз­мож­но­сти уста­нов­ки имен сер­ве­ров. Вся­кий раз, когда поль­зо­ва­тель деле­ги­ру­ет домен в DNSimpleTLD авто­ма­ти­че­ски раз­ме­ща­ют NS-запи­си для это­го доме­на на сер­ве­рах имен TLD.

Запись PTR в основ­ном исполь­зу­ет­ся как спам-фильтр и для аутен­ти­фи­ка­ции вхо­дя­щих сооб­ще­ний. Для запи­сей PTR все­гда долж­на суще­ство­вать запись A.

CNAME рас­шиф­ро­вы­ва­ет­ся как «Canonical Name», эта запись опре­де­ля­ет псевдоним.

MX — это сокра­ще­ние от Mail Exchanger, запись MX — это осо­бый тип запи­си ресур­са в DNS (Domain Name System). Она ука­зы­ва­ет поч­то­вый сер­вер, кото­рый пол­но­стью отве­ча­ет за при­ем сооб­ще­ний по элек­трон­ной почте от име­ни доме­на полу­ча­те­ля. Зна­че­ние пред­по­чте­ния исполь­зу­ет­ся для опре­де­ле­ния при­о­ри­те­тов достав­ки почты в слу­чае несколь­ких серверов.

19. Что дает Sar? Где хранятся логи Sar-logs?

Sar — это сокра­ще­ние от System Activity Report. Эта коман­да исполь­зу­ет­ся для сбо­ра дан­ных, созда­ния отчё­тов и сохра­не­ния инфор­ма­ции об исполь­зо­ва­нии CPU, бло­ка памя­ти, вво­да и выво­да в Linux.

20. Что такое zombie-процесс?

Zombie про­цесс, так­же изве­стен как «уми­ра­ю­щий» про­цесс. Это про­цесс в состо­я­нии завер­ше­ния, кото­рый завер­шил выпол­не­ние через систем­ный вызов выхо­да, но все еще име­ет запись в таб­ли­це процессов.

21. Что такое DNS Split-Horizon?

Это сред­ство реа­ли­за­ции DNS для предо­став­ле­ния поль­зо­ва­те­лю инфор­ма­ции домене. Он может обес­пе­чить надеж­ный меха­низм управ­ле­ния кон­фи­ден­ци­аль­но­стью и общей безопасностью.

22. Чему равен размер раздела подкачки в системе Linux?

Реко­мен­ду­е­мый раз­мер под­кач­ки состав­ля­ет 20% RAM для совре­мен­ных систем. Если исполь­зу­ет­ся режим гибер­на­ции, под­кач­ка долж­на зани­мать как мини­мум столь­ко же места, сколь­ко и RAM.

23. Что такое inode?

Inode — это струк­ту­ра дан­ных в фай­ло­вой систе­ме Linux. Она хра­нит всю доступ­ную инфор­ма­цию о фай­ле, за исклю­че­ни­ем име­ни и фак­ти­че­ских дан­ных, хра­ня­щих­ся в фай­ле. Это поз­во­ля­ет систе­ме эффек­тив­но исполь­зо­вать данные.

24. В чем разница между внешней и локальной переменной?

Shell-пере­мен­ные явля­ют­ся локаль­ны­ми для реги­о­на, в кото­ром они опре­де­ле­ны, и доступ­ны толь­ко в теку­щей обо­лоч­ке. С дру­гой сто­ро­ны, поль­зо­ва­тель опре­де­ля­ет внеш­ние пере­мен­ные в интер­ак­тив­ном режи­ме или в фай­ле запус­ка. Локаль­ную пере­мен­ную мож­но сде­лать доступ­ной в каче­стве внеш­нейфф с помо­щью коман­ды «export VARNAME».

25. Что такое переадресация SSH-порта?

Пере­ад­ре­са­ция пор­та SSH созда­ет без­опас­ное соеди­не­ние меж­ду уда­лен­ным ком­пью­те­ром, через кото­рый мож­но ретранс­ли­ро­вать сер­ви­сы, и локаль­ным ком­пью­те­ром, кото­рый выда­ет коман­ды. Это так­же назы­ва­ет­ся SSH-тун­не­ли­ро­ва­ни­ем и исполь­зу­ет­ся для пере­да­чи инфор­ма­ции, кото­рая не тре­бу­ет зашиф­ро­ван­но­го протокола.

26. Что делает immutable бит с файлом?

Делая файл неиз­ме­ня­е­мым, свя­зы­вая с ним атри­бут immutable бита, запре­ща­ет даже поль­зо­ва­те­лю root уда­лять его.

27. Что делает ps?

Коман­да ps или «process status» исполь­зу­ет­ся для предо­став­ле­ния инфор­ма­ции о ста­ту­се теку­щих про­цес­сов в систе­ме. Это вклю­ча­ет в себя PID (process identification number), кото­рый уни­ка­лен для каж­до­го про­цес­са или задачи.

28. Опишите команду mknod и расскажите когда вы её используете?

Коман­да mknod исполь­зу­ет­ся для созда­ния фай­лов устройств, кото­рые могут вести себя стран­но по срав­не­нию с обыч­ны­ми фай­ла­ми. Фай­лы устройств хра­нят­ся в ката­ло­ге /dev, и в отли­чие от обыч­ных фай­лов, эти фай­лы устройств — те, о кото­рых ядро ​​зна­ет, и кото­рые чита­ет или запи­сы­ва­ет в них.

29. Что такое «hard links»?

«Hard link» — это допол­ни­тель­ное имя для суще­ству­ю­ще­го фай­ла в опе­ра­ци­он­ной систе­ме Linux.

30. Для чего используется команда «nohup»?

Коман­да nohup — это коман­да POSIX, исполь­зу­е­мая для игно­ри­ро­ва­ния сиг­на­ла HUP. Сиг­нал HUP — это спо­соб, кото­рым тер­ми­нал пре­ду­пре­жда­ет зави­си­мые про­цес­сы о выхо­де из системы.

31. Что такое swap?

Swap — это допол­ни­тель­ное про­стран­ство, кото­рое исполь­зу­ет­ся, когда физи­че­ская память (опе­ра­тив­ная) запол­не­на. Неак­тив­ные стра­ни­цы и ненуж­ные дан­ные пере­ме­ща­ют­ся в раз­дел под­кач­ки, когда в опе­ра­тив­ной памя­ти тре­бу­ет­ся боль­ше памяти.

32. Что такое SSL Handshake?

SSL Handshake поз­во­ля­ет кли­ен­ту и сер­ве­ру SSL созда­вать сек­рет­ные клю­чи, с кото­ры­ми они вза­и­мо­дей­ству­ют. SSL или TLS исполь­зу­ет общий ключ для сим­мет­рич­но­го шиф­ро­ва­ния сооб­ще­ний, что намно­го быст­рее, чем асим­мет­рич­ное шифрование.

33. Что такое TCP-Handshake?

Это сокра­ще­ние от «transmission control protocol«, в кото­ром исполь­зу­ет­ся метод SYN-SYN-ACK (трех сто­рон­ние рукопожатие).

34. Что такое загрузочные файлы Linux?

Загру­зоч­ные фай­лы Linux — это доступ­ные фай­лы, кото­рые вызы­ва­ют­ся во вре­мя загруз­ки систе­мы. Исполь­зо­ва­ние /boot/directory стан­дар­ти­зи­ро­ва­но в иерар­хии фай­ло­вой систе­мы, посколь­ку в нем содер­жат­ся все фай­лы, исполь­зу­е­мые при загруз­ке систе­мы, — это пер­вый файл, кото­рый вызы­ва­ет­ся во вре­мя загруз­ки систе­мы. Обыч­но он содер­жит фай­лы ядра Linux или фай­лы загрузчика.

35. Что делает команда grep?

Поиск шаб­ло­на в стро­ке или фай­ле доволь­но про­сто выпол­нить с помо­щью коман­ды grep. Эта коман­да выпол­ня­ет­ся, когда необ­хо­ди­мо най­ти кон­крет­ную ком­би­на­цию сим­во­лов. Grep-фильтр ищет один или несколь­ко фай­лов в соот­вет­ствии с поль­зо­ва­тель­ской коман­дой для поис­ка тек­сто­вых строк с исполь­зо­ва­ни­ем любо­го выражения.

36. Сравнение операционных систем Linux и Windows.

Ниже при­ве­де­ны неко­то­рые из раз­ли­чий меж­ду Linux и Windows:

Linux:

  • ОС Linux с откры­тым исход­ным кодом.
  • Linux — это опе­ра­ци­он­ная систе­ма с GPL-лицен­зи­ей; вы може­те моди­фи­ци­ро­вать, исполь­зо­вать, пере­из­да­вать или про­да­вать это про­грамм­ное обеспечение.
  • Загру­зи­те её один раз и уста­но­ви­те на любое коли­че­ство ПК.
  • Онлайн под­держ­ка со сто­ро­ны сооб­ще­ства через фору­мы и онлайн-поиск.

Windows:

  • Исход­ный код для Windows недоступен.
  • Вы може­те улуч­шать и пере­рас­пре­де­лять ОС Windows.
  • В Windows вы обя­за­ны исполь­зо­вать для каж­до­го ПК толь­ко одну лицен­зию. Если вам нуж­но уста­но­вить её на дру­гой ком­пью­тер, вам нуж­на дру­гая лицензия.
  • Плат­ная служ­ба поддержки.
37. Что такое «kernel»?

Kernel — это ядро ​​любой опе­ра­ци­он­ной систе­мы. Kernel высту­па­ет в каче­стве посред­ни­ка меж­ду ком­пью­тер­ным желе­зом и опе­ра­ци­он­ной систе­мой и кон­тро­ли­ру­ет все на ком­пью­те­ре. Это пер­вая про­грам­ма, кото­рая загру­жа­ет­ся при запус­ке системы.

38. Что делает команда uname?

Uname — это коман­да для созда­ния отчё­тов в Linux, кото­рая исполь­зу­ет­ся для полу­че­ния основ­ной инфор­ма­ции об аппа­рат­ном и про­грамм­ном обес­пе­че­нии компьютера.
Синтаксис:

39. Что делает команда whoami?

Коман­да whoami — это соче­та­ние «Who», «Am» и «I». Эта коман­да исполь­зу­ет­ся как в Linux, так и в Windows для отоб­ра­же­ния све­де­ний об авто­ри­зо­ван­ном в систе­ме поль­зо­ва­те­ле или вла­дель­це теку­ще­го сеан­са системы.

40. Пожалуйста, объясните, что такое LILO?

LILO рас­шиф­ро­вы­ва­ет­ся как Linux Loader, — это неболь­шая про­грам­ма, кото­рая управ­ля­ет двой­ной загруз­кой (dual boot) и так­же назы­ва­ет­ся загруз­чи­ком («boot loader«). Это был загруз­чик по умол­ча­нию для цело­го ряда дис­три­бу­ти­вов Linux — пред­ше­ствен­ни­ки loadlin. Хотя в послед­нее вре­мя GRUB ста­но­вит­ся все более попу­ляр­ным, LILO и ELILO все еще широ­ко используются.

41. Каковы имя и UID пользователя-администратора?

UID — это уни­каль­ное поло­жи­тель­ное целое чис­ло, кото­рое при­сва­и­ва­ет­ся систе­мой каж­до­му поль­зо­ва­те­лю. Это опре­де­ле­ние лич­но­сти поль­зо­ва­те­ля, кото­рое исполь­зу­ет­ся систе­мой для иден­ти­фи­ка­ции каж­до­го поль­зо­ва­те­ля. С дру­гой сто­ро­ны, имя поль­зо­ва­те­ля — это интер­фейс, поз­во­ля­ю­щий людям рас­по­знать свою учет­ную запись и вой­ти в систему.

42. Что делает команда ls -R?

Пара­метр или коман­да Is-R исполь­зу­ют­ся для рекур­сив­но­го обо­зна­че­ния спис­ков каталога.

43. Что такое LD_LIBRARY_PATH?

LD_LIBRARY_PATH — это набор пере­мен­ных, раз­де­лен­ных двое­то­чи­я­ми. Это осо­бен­но полез­но, когда поль­зо­ва­тель исполь­зу­ет нестан­дарт­ную или общую биб­лио­те­ку для каких-либо спе­ци­аль­ных целей или когда отла­жи­ва­ет­ся рабо­та новой биб­лио­те­ки. В част­но­сти, для выпол­не­ния этой коман­ды может быть исполь­зо­ва­на дру­гая библиотека.