Вступ до запитань та відповідей на предметну співбесіду C

Завдання C - це мова програмування, розроблена в 1980 році. Це можна сказати як загальноцільову об'єктно-орієнтовану мову програмування, яка додає малі повідомлення в стилі розмови до програмування на С. В основному це відоме, оскільки це була основна мова, яка використовувалася Apple для побудови операційних систем macOS та iOS. Пізніше він був також обраний як основна мова, якою повинен користуватися NeXT. Нижче наведено кілька питань, які можна задати в інтерв'ю на предмет C.

Тепер, якщо ви шукаєте роботу, пов’язану з Ціллю C, тоді вам потрібно підготуватися до запитань щодо співбесіди в 2019 році. Це правда, що кожне інтерв'ю відрізняється за різними профілями роботи. Тут ми підготували важливі запитання та відповіді на предметну співбесіду, які допоможуть вам досягти успіху в інтерв'ю.

У цій статті "Завдання щодо інтерв'ю" у 2019 році ми представимо 10 найважливіших і найчастіше заданих питань "Інтерв'ю". Ці питання поділяються на дві частини:

Частина 1 - Запитання щодо співбесіди C (основні)

Ця перша частина охоплює основні цільові запитання та відповіді з інтерв'ю

Q1. Як керувати пам'яттю в Objective C?

Відповідь:
Розподіл пам'яті в Objective C здійснюється динамічно. Це означає, що пам’ять виділяється під час виконання будь-якої програми. Він використовується, а пізніше звільняється, коли він більше не потрібен. Це допомагає використовувати якомога менше пам’яті. За весь цей життєвий цикл пам'яті об'єкти займають стільки пам'яті, скільки потрібно, а потім звільняють їх, коли це не потрібно. Для виділення пам'яті в Objective C є два способи:

  1. Вручну випустити реліз (MRR): У цьому режимі управління пам’яттю явно управляється пам'яттю і всі об’єкти відстежують. Для використання цієї доріжки використовується модель підрахунку довідок.
  2. Автоматичний підрахунок посилань (ARC): Тут система здатна вставляти відповідні виклики методу управління пам'яттю, які називаються часом виконання.

Два основних недоліки управління пам’яттю полягають у тому, що після їх вивільнення це призводить до декількох збоїв у системі, а коли не звільняється, то це призводить до витоку пам’яті, що призводить до збільшення сліду пам’яті програми.

Q2. Які задекларовані властивості в Цілі C?

Відповідь:
У Цілі C будь-яке властивість, яке має використовуватися, може бути визначене шляхом оголошення різних змінних екземплярів шляхом впровадження методів getter і setter, які допомагають примусити інкапсуляцію. Існує три аспекти властивостей. До них належать декларація, реалізація та доступ. Властивості можуть бути оголошені в будь-якому класі, категорії та протоколах у розділі декларацій. Синтаксис для цього такий:

@property (атрибути…) введіть propertyName

Він також має атрибути, які не є обов'язковими. Атрибути можуть бути такими:

  • Лише для читання : Ця властивість може бути прочитана, а не записана в неї. У цього компілятора немає аксесуара для встановлення.
  • Читання-запис: Ця властивість дозволяє читати і писати обидва. Режим за замовчуванням є лише для читання.
  • Призначення: Це просте завдання, яке може бути використане при реалізації будь-якого сеттера.
  • Утримувати: Retain надсилається до ресурсу, коли він призначений.
  • Копія. Як і збереження, ця операція також виконується після призначення властивості.

Перейдемо до наступних об'єктивних питань щодо інтерв'ю

Q3. Які характеристики категорії?

Відповідь:
Категорія має такі характеристики: Категорія повинна бути оголошена для будь-якого класу, навіть не маючи оригінального вихідного коду для реалізації. Методи, визначені у певній категорії, доступні для всіх примірників класу, до якого вона фактично належить. Його також можна використовувати в підкласах початкового класу, як спадкування. У способі, який додається до будь-якої категорії, не повинно бути змін. Після того, як він буде реалізований оригінальним класом, його можна використовувати під час виконання.

Q4. Що таке Retain count?

Відповідь:
Це основне завдання C інтерв'ю, задане в інтерв'ю. Політика власності реалізується шляхом підрахунку довідок. Ця кількість утримування береться після методу збереження. Кожен об'єкт має кількість затримок, і коли об’єкт створений, його кількість за замовчуванням зберігається на рівні 1. Коли цей новостворений об'єкт надсилається у вигляді повідомлення про збереження, то кількість збільшується на 1. Цей кількість зменшується на 1, коли об’єкт надсилається як повідомлення про випуск. Він також зменшується, коли об'єкту надсилається повідомлення про автоматичне звільнення в кінці поточного пулу автоматичних випусків. Об'єкт звільняється та розміщується, коли кількість збереження зменшується до 0.

Q5. Коли ми використовуємо NSArray та NSMutableArray?

Відповідь:
NSArray рекомендується використовувати, коли дані в масиві не збираються змінюватися. Прикладом цього може бути назва компанії, яка рідко змінюватиметься, а значить, NS Array можна використовувати так, щоб ніхто не маніпулював ним.

NSMutable Array: На відміну від NS Array, цей масив використовується, коли дані масиву мають тенденцію до зміни. Тут може бути розглянуто приклад функції, яка має значення, що передаються до масиву як функції, і ця функція додасть деякі елементи до цього масиву. В цей час можна використовувати масив NSMutable.

Частина 2 - Запитання щодо співбесіди C (розширено)

Давайте тепер ознайомимось із розширеними питаннями інтерв'ю для об'єктивного C.

Q6. Чи можливо використовувати код ARC та Non-ARC разом у проекті?

Відповідь:
Так, проект може використовувати як коди ARC, так і не ARC. Коли проект вибирає не ARC-коди, тоді встановлюється прапор компілятора -fobj-arc. Цей ARC можна відключити для конкретних класів за допомогою –fno-objc-arc.
Весь цей процес можна виконати за допомогою Xcode → Project → Phase Build → Compile Source → Двічі клацніть на класі та встановіть –fno-objc-arc.

Q7. Які методи використання NSURL-з'єднання?

Відповідь:
Методами, які можуть бути використані для з'єднання NSURL, є такі з'єднання:

  • Зв'язок, який отримав відповідь
  • З'єднання, яке отримує дані
  • З'єднання, яке не вдається з помилкою
  • З'єднання, яке закінчилося завантаженням

Перейдемо до наступних об'єктивних питань щодо інтерв'ю

Q8. Що таке протокол в об'єктиві C?

Відповідь:
Протокол, як кажуть, є мовною особливістю, яка забезпечує багато успадкування мовою, яка має єдине успадкування. Завдання C в основному підтримує два протоколи:

Офіційні протоколи також відомі як протоколи компілятора, а неофіційні протоколи, також відомі як спеціальні протоколи.

Q9. У моті C працює повідомлення

Відповідь:
Це найбільш задані об'єктивні запитання C інтерв'ю в інтерв'ю. Повідомлення не повинно відбуватися до тих пір, поки метод не буде реалізований у Цілі C. Функція обміну повідомленнями дзвінків objc_msgSend () викликається, коли компілятор перетворює вираз повідомлення. Ця функція підключається до приймача, а назва методу згадується в повідомленні.

Q10. Що таке атомний та неатомний в Цілі C, а який вважається за замовчуванням?

Відповідь:
Цей метод використовується для визначення способу доступу, який не є атомним. Це гарантує, що процес, який зараз виконується, завершується процесором, перш ніж будь-який інший процес матиме доступ до змінної. Неатомні - це для змінних, які не є атомними. Вони швидші, але не безпечні для потоків.

Рекомендовані статті

Це було керівництвом до списку об'єктивних запитань C та відповідей на інтерв'ю, щоб кандидат міг легко розбити ці запитання щодо співбесіди C. Тут, у цій публікації, ми вивчили основні запитання C інтерв'ю, які часто задаються в інтерв'ю. Ви також можете переглянути наступні статті, щоб дізнатися більше -

  1. Питання та відповіді щодо інтерв'ю з мікросервісами
  2. Відповіді на запитання щодо інтерв'ю з кібербезпеки
  3. Топ 10 Питання та відповіді щодо структури даних щодо інтерв'ю
  4. Питання щодо інтерв'ю PowerShell-TopMost
  5. Повне керівництво по об'єкту в Python з прикладом