Ми підготували найбільш часто задавані запитання та відповіді на інтерв’ю з Python, які допоможуть вам підготуватися до запитань до співбесіди на Python, які інтерв’юер може задати вам під час інтерв’ю. У цьому списку запитань на співбесіду з Python Scripting ми розглянули всі найчастіше задані основні та вдосконалені питання програмування на Python із детальними відповідями, які допоможуть вам легко очистити співбесіду.
Ми розглянули майже всі важливі питання співбесіди на Python для свіжих та досвідчених кандидатів, щоб допомогти вам підготуватися до майбутнього інтерв’ю. Цей детальний посібник з питань співбесіди з кодування Python допоможе вам зламати співбесіду для програмування на Python.
Завантажте питання для інтерв’ю на Python у форматі PDF
Питання та відповіді для основних інтерв’ю Python для досвідчених та досвідчених
1) Що таке Python? Які переваги використання Python?
Python - це мова програмування з об'єктами, модулями, потоками, винятками та автоматичним управлінням пам'яттю. Переваги пітонів полягають у тому, що він простий і легкий, портативний, розширюваний, вбудована структура даних і є відкритим кодом.
2) Що таке PEP 8?
PEP 8 - це кодування, набір рекомендацій щодо того, як написати свій код Python більш читабельним.
3) Що таке маринування та депікація?
Модуль Pickle приймає будь-який об'єкт Python, перетворює його у рядкове представлення та скидає у файл за допомогою функції дампа. Цей процес називається травленням. Хоча процес отримання вихідних об'єктів Python із збереженого рядкового представлення називається unpickling.
4) Як інтерпретується Python?
Мова Python - це інтерпретована мова. Програма Python запускається безпосередньо з вихідного коду. Він перетворює вихідний код, написаний програмістом, на проміжну мову, яка знову перекладається на машинну мову, яку потрібно виконати.
5) Як керується пам’яттю в Python?
- Пам'ять Python управляється приватним кучевим простором Python. Усі об'єкти та структури даних Python розташовані у приватній купі. Програміст не має доступу до цієї приватної купи, а інтерпретатор піклується про цю приватну купу Python.
- Виділення місця кучі Python для об'єктів Python здійснюється менеджером пам'яті Python. Основний API надає доступ до деяких інструментів для програміста для кодування.
- У Python також є вбудований збирач сміття, який переробляє всю невикористовувану пам’ять, звільняє пам’ять і робить її доступною для простору купи.
6) Які інструменти допомагають знайти помилки або виконати статичний аналіз?
PyChecker - це інструмент статичного аналізу, який виявляє помилки у вихідному коді Python та попереджає про стиль та складність помилки. Pylint - це ще один інструмент, який перевіряє, чи відповідає модуль стандарту кодування.
7) Що таке декоратори Python?
Декоратор Python - це специфічна зміна, яку ми вносимо в синтаксис Python, щоб легко змінювати функції.
8) У чому різниця між списком і кортежем?
Різниця між списком і кортежем полягає в тому, що список можна змінювати, а кортеж - ні. Кортеж можна хешувати, наприклад, як ключ для словників.
9) Як аргументи передаються за значенням чи за посиланням?
Усе в Python є об'єктом, і всі змінні містять посилання на об'єкти. Значення посилань відповідають функціям; в результаті ви не можете змінити значення посилань. Однак ви можете змінити об'єкти, якщо вони змінюються.
10) Що таке розуміння Dict та List?
Вони являють собою синтаксичні конструкції, що полегшують створення Словника або Списку на основі існуючих ітерацій.
11) Які вбудовані типи забезпечує python?
Існують вбудовані типи змінних та незмінних типів Pythons
- Список
- Набори
- Словники
Незмінні вбудовані типи
- Струни
- Кортежі
- Числа
12) Що таке простір імен у Python?
У Python кожне введене ім’я має місце, де воно живе і за яке його можна підключити. Це відоме як простір імен. Це як вікно, де ім’я змінної відображається на розміщений об’єкт. Щоразу, коли здійснюється пошук змінної, здійснюється пошук цього вікна, щоб отримати відповідний об’єкт.
13) Що таке лямбда в Python?
Це анонімна функція одного виразу, яка часто використовується як вбудована функція.
14) Чому лямбда-форми в python не мають тверджень?
Лямбда-форма у python не має операторів, оскільки вона використовується для створення нового об'єкта функції, а потім повернення їх під час виконання.
15) Що таке pass у Python?
Pass означає, що оператор Python не працює, або іншими словами, він є власником місця в складеному операторі, де має бути порожнє поле, і там нічого писати не слід.
16) Що таке ітератори в Python?
У Python ітератори використовуються для ітерації групи елементів, контейнерів, таких як list.
17) Що таке unittest у Python?
Структура модульного тестування на Python відома як unittest. Він підтримує спільний доступ до налаштувань, тестування автоматизації, код вимкнення для тестів, об'єднання тестів у колекції тощо.
18) У Python, що таке нарізка?
Механізм вибору діапазону елементів із типів послідовностей, таких як список, кортеж, рядки тощо, відомий як нарізка.
19) Що таке генератори в Python?
Способи реалізації ітераторів відомі як генератори. Це нормальна функція, за винятком того, що вона дає вираз у функції.
20) Що таке docstring у Python?
Рядок документації Python відомий як docstring, це спосіб документування функцій, модулів та класів Python.
21) Як можна скопіювати об’єкт у Python?
Щоб скопіювати об'єкт у Python, ви можете спробувати copy.copy () або copy.deepcopy () для загального випадку. Ви не можете скопіювати всі об'єкти, але більшість з них.
22) Що таке негативний індекс у Python?
Послідовності Python можуть індексуватися в додатних і від’ємних числах. Для позитивного індексу 0 - це перший індекс, 1 - другий індекс тощо. Для негативного індексу (-1) є останнім індексом, а (-2) є другим останнім індексом тощо.
23) Як можна перетворити число в рядок?
Для того, щоб перетворити число у рядок, використовуйте вбудовану функцію str (). Якщо ви хочете вісімкове або шістнадцяткове зображення, використовуйте вбудовану функцію oct () або hex ().
24) У чому різниця між Xrange та range?
Xrange повертає об'єкт xrange, тоді як діапазон повертає список і використовує ту саму пам'ять, незалежно від розміру діапазону.
25) Що таке модуль та пакет у Python?
У Python модуль - це спосіб структурування програми. Кожен програмний файл Python є модулем, який імпортує інші модулі, такі як об'єкти та атрибути.
Папка програми Python - це пакет модулів. Пакет може мати модулі або підпапки.
26) Згадайте, які правила існують для локальних та глобальних змінних у Python?
Локальні змінні : Якщо змінні присвоєно нове значення в будь-якому місці в тілі функції, вона вважається локальною.
Глобальні змінні : ті змінні, на які посилаються лише всередині функції, є неявно глобальними.
27) Як можна поділитися глобальними змінними між модулями?
Для спільного використання глобальних змінних між модулями в рамках однієї програми створіть спеціальний модуль. Імпортуйте модуль конфігурації у всі модулі вашої програми. Модуль буде доступний як глобальна змінна між модулями.
28) Поясніть, як можна зробити виконуваний файл Python Script на Unix?
Щоб зробити виконуваний Python Script на Unix, потрібно зробити дві речі,
- Режим файлу сценарію повинен бути виконуваним і
- перший рядок повинен починатися з # (#! / usr / local / bin / python)
29) Поясніть, як видалити файл у Python?
За допомогою команди os.remove (ім'я файлу) або os.unlink (ім'я файлу)
30) Поясніть, як можна створювати випадкові числа в Python?
Щоб генерувати випадкові числа в Python, вам потрібно імпортувати команду як
імпорт випадковий
random.random ()
Це повертає випадкове число з плаваючою комою в діапазоні [0,1)
31) Поясніть, як ви можете отримати доступ до модуля, написаного на Python з C?
Ви можете отримати доступ до модуля, написаного на Python з C, наступним способом,
Модуль = = PyImport_ImportModule ("<ім'я модуля>");
32) Згадайте про використання оператора // в Python?
Це делітель підлоги, який використовується для ділення двох операндів, результатом якого є коефіцієнт, що показує лише цифри перед десятковою комою. Наприклад, 10 // 5 = 2 та 10.0 // 5.0 = 2.0.
33) Згадайте п’ять переваг використання Python?
- Python складається з величезної стандартної бібліотеки для більшості інтернет-платформ, таких як електронна пошта, HTML тощо.
- Python не вимагає явного управління пам’яттю, оскільки сам інтерпретатор розподіляє пам’ять за новими змінними та звільняє їх автоматично
- Забезпечте легку читабельність завдяки використанню квадратних дужок
- Легко навчитися для початківців
- Вбудовані типи даних економить час та зусилля на програмування від оголошення змінних
34) Згадайте про використання функції розділення в Python ?
Використання функції split в Python полягає в тому, що вона розбиває рядок на коротші рядки, використовуючи визначений роздільник. Він містить список усіх слів, присутніх у рядку.
35) Поясніть, що таке Flask та його переваги ?
Flask - це веб-мікрофреймворк для Python, заснований на "Werkzeug, Jinja 2 та добрих намірах", ліцензований BSD. Werkzeug і jingja - дві його залежності.
Колба є частиною мікрорамки. А це означає, що він не матиме ніяких залежностей від зовнішніх бібліотек. Це робить фреймворк легким, хоча існує невелика залежність від оновлення та менше помилок безпеки.
36) Згадайте, у чому різниця між Джанго, Пірамідою та Колбою?
Колба - це "мікрокадр", в основному побудований для невеликих додатків із більш простими вимогами. У колбі не потрібно використовувати зовнішні бібліотеки. Колба готова до використання.
Піраміди створені для великих додатків. Це забезпечує гнучкість і дозволяє розробнику використовувати відповідні інструменти для свого проекту. Розробник може вибрати базу даних, структуру URL-адреси, стиль шаблонування тощо. Піраміда важко налаштовується.
Як і Піраміда, Django також може використовуватися для великих додатків. Він включає ORM.
37) Згадайте, що таке Flask-WTF і які їх особливості?
Flask-WTF пропонує просту інтеграцію з WTForms. Особливості включають для Flask WTF є
- Інтеграція з формами wt
- Захищена форма за допомогою маркера csrf
- Глобальний захист CSR
- Інтернаціоналізація інтеграція
- Підтримка рекапчі
- Завантаження файлів, що працює з Flask Uploads
38) Поясніть, який загальний спосіб роботи сценарію Flask працює?
Загальним способом роботи сценарію колби є
- Або це має бути шлях імпорту для вашої програми
- Або шлях до файлу Python
39) Поясніть, як ви можете отримати доступ до сеансів у Flask?
Сеанс в основному дозволяє запам’ятовувати інформацію від одного запиту до іншого. У колбі він використовує підписаний файл cookie, щоб користувач міг переглянути вміст сеансу та змінити його. Користувач може змінити сеанс, лише якщо він має секретний ключ Flask.secret_key.
40) Чи є Flask моделлю MVC, і якщо так, наведіть приклад, що показує шаблон MVC для вашої програми?
По суті, Flask - це мінімалістичний фреймворк, який поводиться так само, як MVC. Отже, MVC ідеально підходить для колби, а модель для MVC ми розглянемо для наступного прикладу
з колби імпортна колба app = Flask (_name_) @ app.route ("/") Def привіт (): повернути "Привіт Світ" app.run (налагодження = True) |
У цьому коді ваш,
з колби імпортна колба app = Flask (_name_)
@ app.route ("/") Def привіт (): повернути "Привіт Світ"
app.run (налагодження = True) |
41) Поясніть підключення до бази даних у Python Flask?
Flask підтримує додаток на базі даних (RDBS). Така система вимагає створення схеми, яка вимагає переведення файлу shema.sql в команду sqlite3. Тому вам потрібно встановити команду sqlite3 для того, щоб створити або ініціювати базу даних у Flask.
Колба дозволяє запитувати базу даних трьома способами
- before_request (): Вони викликаються перед запитом і не передають аргументів
- after_request (): Вони викликаються після запиту та передають відповідь, яка буде надіслана клієнту
- teardown_request (): Вони викликаються в ситуації, коли викликається виняток, і відповідь не гарантується. Вони викликаються після побудови відповіді. Їм не дозволяється змінювати запит, а їх значення ігноруються.
42) У вас є кілька серверів Memcache під управлінням Python, на яких один із серверів memcacher виходить з ладу, і він має ваші дані, чи намагатиметься він коли-небудь отримати ключові дані з цього одного невдалого сервера?
Дані на невдалому сервері не видаляються, але є можливість автоматичного збою, яку ви можете налаштувати для декількох вузлів. Помилка може бути спровокована під час будь-яких помилок рівня сокета або сервера Memcached, а не під час звичайних помилок клієнта, таких як додавання існуючого ключа тощо.
43) Поясніть, як можна мінімізувати відключення сервера Memcached у вашій розробці Python?
- Коли один екземпляр виходить з ладу, кілька з них падають, це призведе до більшого навантаження на сервер бази даних, коли втрачені дані перезавантажуються, коли клієнт робить запит. Щоб уникнути цього, якщо ваш код написано для мінімізації штампування кешу, це залишить мінімальний вплив
- Інший спосіб - вивести екземпляр Memcached на новій машині, використовуючи IP-адресу загублених машин
- Код - ще один варіант мінімізації відключень сервера, оскільки він дає вам можливість змінювати список серверів Memcached за мінімальну роботу
- Встановлення значення часу очікування - ще один варіант, який деякі клієнти Memcached реалізують для відключення сервера Memcached. Коли ваш сервер Memcached не працює, клієнт продовжуватиме намагатись надіслати запит до досягнення обмеження часу очікування
44) Поясніть, що таке ефект догпіла? Як можна запобігти цьому ефекту?
Ефект Dogpile називається подією, коли термін дії кеш-пам’яті закінчується, і веб-сайти потрапляють під численні запити, зроблені клієнтом одночасно. Цього ефекту можна запобігти за допомогою блокування семафору. У цій системі, коли термін дії закінчується, перший процес отримує блокування і починає генерувати нове значення.
45) Поясніть, як Memcached не слід використовувати у вашому проекті Python?
- Поширене неправильне використання Memcached полягає у використанні його як сховища даних, а не як кешу
- Ніколи не використовуйте Memcached як єдине джерело інформації, необхідної для запуску програми. Дані завжди повинні бути доступні також з іншого джерела
- Memcached - це просто ключ або сховище значень і не може виконувати запит над даними або перебирати вміст для вилучення інформації
- Memcached не пропонує жодної форми захисту ні при шифруванні, ні при автентифікації