Топ-50 запитань і відповідей на інтерв’ю TCS (2025)

TCS (Tata Consultancy Services) — це індійська багатонаціональна компанія в області інформаційних технологій зі штаб-квартирою в Мумбаї, головними філіями в Пуні, Бенгалуру, Хайдарабаді та інших містах. TCS є найбільшою ІТ-компанією в Індії.

Процес найму в TCS:

TCS проводить три раунди співбесіди, щоб вибрати будь-якого новішого кандидата на посаду розробника програмного забезпечення у своїй компанії.

  1. Тест на здатність
  2. Технічна співбесіда
  3. Управлінський тур
  4. Співбесіда з HR

Набір персоналу в TCS починається з письмового тесту, після якого йде особиста співбесіда. Рекрутер також може проводити групове обговорення кандидатів у програмні інженери на кампусі.

Запитання для технічної співбесіди TCS: новачки та досвідчені

Нижче наведено поширені запитання та відповіді на співбесіду TCS для новачків, а також для досвідчених кандидатів, щоб отримати відповідну роботу для своєї кар’єри.

1) Які мови програмування є важливими для співбесіди в кампусі TCS?

Важливими мовами програмування для співбесід у кампусі TCS є 1) програмування на C, 2) C++ програмування та 3) Java програмування.


2) Яка основна різниця між C і Java?

Основна відмінність між ними полягає в тому, що Java це об'єктно-орієнтована мова програмування, тоді як C є процедурною мовою програмування.


3) Назвіть чотири класи зберігання, доступні в C.

У мовах C доступні чотири класи зберігання: 1) register, 2) auto, 3) extern і 4) static.


4) Поясніть статичну змінну.

Це специфікатор доступу. Значення статичної змінної не змінюється під час виконання програми.


5) Як надрукувати адресу?

Ви можете використовувати %p у функції printf для друку адреси змінної.


6) Поясніть концепцію перевантаження функції.

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


7) Поясніть два правила цілісності, що використовуються в СУБД.

  • Правила посилальної цілісності
  • Правила цілісності сутності

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

У правилах цілісності сутності ви не можете залишити значення первинного ключа нульовим.


8) Визначте класи та об’єкти терміна.

Class — це будівельний блог об’єктно-орієнтованого програмування, який містить групу членів даних і їх функції. Ви можете отримати доступ до них, створивши миттєвий клас.

Об’єкт — це сутність реального світу. Деякі приклади об’єкта: комп’ютер, блокнот, ручка та сумка.


9) Визначити макроси.

Макрос — це директива препроцесора, яка замінює значення макросу.


10) Розрізняйте структуру та масиви.

Основна відмінність між структурою та масивом полягає в наступному:

  • Масив — це структура даних. Він містить групу подібних типів даних.
  • Структура — тип даних, який визначає користувач. Він містить групу різнорідних типів даних.

11) Перелічіть деякі області, в яких структура даних широко використовується.

Нижче наведено області, у яких використовується структура даних:

  • Числовий аналіз
  • Система управління базами даних
  • штучний інтелект
  • Operaсистема тингу
  • Пакет статистичного аналізу

12) Як ви можете повторно використовувати код, написаний у C++ мова програмування?

Ви можете використовувати техніку успадкування для повторного використання коду.


13) Назвіть різні методи запобігання взаємоблокуванням.

Техніки запобігання взаємоблокуванням:

  • Взаємне виключення
  • Холдинг ресурсів
  • Жодного випередження
  • Кругове очікування

14) Що таке сортування вставкою та бульбашкове сортування?

Сортування вставленням — це алгоритм сортування, у якому остаточний список або масив створюється по одному елементу за раз. У бульбашковому сортуванні ви міняєте місцями сусідні елементи, якщо порядок неправильний.


15) Поясніть концепцію списку подвійних посилань.

Структура даних зв’язку, яка називається подвійним списком зв’язків, містить посилання на попередній вузол.


16) Ви створюєте функцію, яка може приймати змінну кількість аргументів. Який файл заголовка ви включите?

Нам потрібно включити файл заголовка stdarg.h.


17) Що ви маєте на увазі під абстракцією даних? Поясніть три рівні абстракції даних.

Абстракція даних — це процес розпізнавання характеристик об’єкта чи будь-якої ситуації та відфільтрування небажаних характеристик.

Нижче наведено три рівні абстракції даних:

  • Фізичний рівень: Зображує, як ви будете зберігати дані в базі даних
  • Логічний рівень: Показує, які дані відсортовано в базі даних
  • Рівень перегляду: На цьому рівні працює кінцевий користувач, і якщо будуть знайдені зміни, вони будуть збережені під іншим ім'ям.

18) Поясніть, що таке аргумент командного рядка в C?

Це процес отримання аргументів із командного рядка в програмуванні на C. У функції C main є три аргументи. Лічильник аргументів, вектор аргументів і вектор середовища.


19) Поясніть поняття кеш-пам'яті.

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


20) Поясніть різницю між передачею за посиланням і передачею за значенням.

У передачі за значенням ми передаємо значення функції виклику. У Pass by reference нам потрібно передати адресу функції caller замість передачі значення.


21) Що таке покажчик?

Змінна, яка зберігає адресу значення, що знаходиться в пам'яті, називається покажчиком.


22) Розрізняйте нульовий і пустий вказівник.

Нульовий вказівник - це вказівник, який вказує в нікуди. Він має нульове значення. Покажчик Void — це загальний покажчик, який введено ANSI (Американський національний інститут стандартів).


23) Що таке перевантаження оператора?

Operator overloading — це поліморфізм, який дозволяє перевизначати існуючі оператори, щоб їх можна було використовувати на об’єктах класів, визначених користувачем.


24) Які існують різні типи спадкування C++?

Існує п'ять типів успадкування C++ програмування. Це 1) одиночне успадкування, 2) множинне успадкування, 3) багаторівневе успадкування, 4) гібридне успадкування та 5) ієрархічне успадкування.


25) Чому нормалізується база даних?

Базу даних слід нормалізувати, щоб ви могли її ефективно організувати. Ви також повинні нормалізувати базу даних, щоб видалити зайві дані.


26) Що таке СУБД?

СУБД означає Система управління базами даних. Це програмне забезпечення, яке використовується для керування вашою базою даних. СУБД забезпечує інтерфейс між додатком і базами даних.


27) Поясніть умовні висловлювання.

Умовні оператори також відомі як умовний вираз або оператор if-then. Умовні оператори - це набір правил. Ці правила будуть виконані, лише якщо умова виконується.


28) Поясніть різницю між зовнішнім ключем і ключем, на який посилається.

Зовнішній ключ використовується для посилання на таблиці. З іншого боку, посилальний ключ є первинним ключем, на який є посилання в іншій таблиці.


29) Поясніть різницю між C і C++?

C++ C
C++ має класову концепцію C не мав концепції класу
C++ не підтримує концепцію перевантаження функцій У програмуванні на C ми використовуємо різні функції, наприклад scanf() та printf() для введення і виведення.
C++ підтримує обробку винятків. C не підтримує обробку винятків

30) Що таке масив?

Масив — це структура даних, яка містить схожі елементи. Необхідною умовою використання масиву є те, що всі елементи масиву повинні мати однаковий тип даних.


31) Поясніть розподіл пам'яті в C.

Існує три функції для розподілу пам’яті в C. Вони такі:

  • calloc(): Ця функція виділяє пам'ять і ініціалізує цей блок пам'яті до нуля. Він повертає покажчик на блок пам'яті.
  • malloc(): Ця функція резервує область пам’яті та повертає вказівник типу void.
  • безкоштовно(): Ця функція звільняє виділену пам'ять.

32) Що таке кластерний індекс?

Clustered index змінює порядок записів так, як вони фізично зберігаються в таблиці.


33) Що ви маєте на увазі під налагоджувачем?

Налагоджувач — це комп’ютерна програма. Він використовується для налагодження та тестування інших програм.


34) Яка основна відмінність між const char *p і char const *p?

Обидва є покажчиками на константу Char. Однак, якщо ви напишете char * const p, тоді це оголосить 'p' як постійний покажчик на char.


35) Поясніть вирівнювання пам’яті.

У структурі даних вирівнювання пам’яті — це метод упорядкування даних і доступу до блоку пам’яті.


36) Поясніть конструктор перетворення.

Це конструктор з одним параметром, який оголошується без «явного» специфікатора функції. Конструктор перетворення можна викликати за допомогою одного параметра (доки C++11) називається конструктором перетворення.


37) Поясніть поняття дерева.

Дерево є абстрактним типом даних. Він являє собою вузли, з'єднані ребрами.


38) Що таке сховище даних? Чому ми повинні використовувати сховища даних?

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

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


39) Скільки типів рекурсій існує в C?

В основному існує шість типів рекурсії: 1) лінійна рекурсія, 2) хвостова рекурсія, 3) бінарна рекурсія, 4) експоненціальна рекурсія, 5) вкладена рекурсія та 6) взаємна рекурсія.


40) Поясніть компілятор та інтерпретатор.

  • Компілятор — це програма, яка обробляє код, написаний мовою C, і перетворює його на машинну мову.
  • Інтерпретатор — це програма, яка безпосередньо виконує код C без компіляції в машинну мову.

41) Поясніть область змінної.

Область означає видимість будь-якої змінної. Видимість змінної обмежена програмою або функцією.


42) Що таке виняток, визначений користувачем Java програмування?

Ключові слова try, catch і finally використовуються для реалізації виключення користувача Java. У java ви можете створити клас винятків і створити виняток за допомогою ключового слова throw.


43) Поясніть збирач сміття.

In Java, збирач сміття – це програма, яка автоматично керує пам’яттю та видаляє невикористовувані об’єкти.


44) Що таке перерахування?

Це визначений користувачем тип даних, який використовується для призначення імен константам. Це робить програму легкою для читання.


45) Що ви маєте на увазі під статичним ідентифікатором?

Статичний ідентифікатор ініціалізується лише один раз, і його значення зберігається протягом усього життя програми. Значення пам’яті, виділене статичною змінною, можна використовувати між викликом функції. Значення за замовчуванням неініціалізованого статичного ідентифікатора дорівнює нулю.


46) Поясніть шифрування.

Це процес перетворення тексту в код. Основною метою шифрування є запобігання несанкціонованому доступу.


47) Що таке дешифрування?

Це перетворення зашифрованих даних і перетворення їх на змістовний текст, який ви можете прочитати та зрозуміти.


48) Що таке цифровий підпис?

Це техніка, яка використовується для перевірки автентичності повідомлення. Цифровий підпис фактично є зашифрованою версією дайджесту повідомлення.


49) Назвіть основні принципи ООПС.

Чотири основні принципи системи об’єктно-орієнтованого програмування: 1) абстракція, 2) успадкування, 3) інкапсуляція та 4) поліморфізм.


50) Дайте визначення поліморфізму.

Поліморфізм - це концепція, яка використовується в об'єктно-орієнтованому програмуванні. Поліморфізм дозволяє виконувати одну дію різними способами.


51) Що таке SDLC?

Життєвий цикл розробки програмного забезпечення або життєвий цикл розробки програмного забезпечення — термін, який використовується в інженерії програмного забезпечення для опису процесу розробки програмного забезпечення. Цей процес складається з 4 фаз: 1) планування, 2) створення, 3) тестування та 5) розгортання.