Вопросы для собеседования.

Разговоры на любые темы
Аватара пользователя
arxont
Сообщения: 3948
Зарегистрирован: Пт авг 31, 2012 11:29 pm

Re: Вопросы для собеседования.

Сообщение arxont »

ra0ued писал(а): Пн янв 24, 2022 2:06 pm - Чем TCP отличается от UDP?
извините
UDP: кинул тебе за щеку
TCP: кинул тебе за щеку, ПРОВЕРЯЙ
Киберпанк не умер. Он просто наступил.

Аватара пользователя
arxont
Сообщения: 3948
Зарегистрирован: Пт авг 31, 2012 11:29 pm

Re: Вопросы для собеседования.

Сообщение arxont »

Тут на одном собеседовании начали меня гонять по алгоритмам -
  • Отличия hashTable, Dictionary, hashSet - в чём отличия, что быстрее и когда, почему
  • Array, List<>, LinkedList - в чём отличия, что быстрее и когда, почему
  • Стек и Очередь
  • Реализуйте самостоятельно класс с примитивным HashTable, не используя встроенный HashTable
  • Реализуйте самостоятельно класс с примитивным LinkedList, не используя встроенный LinkedList
Киберпанк не умер. Он просто наступил.

Аватара пользователя
arxont
Сообщения: 3948
Зарегистрирован: Пт авг 31, 2012 11:29 pm

Re: Вопросы для собеседования.

Сообщение arxont »

1. What best practices we need to follow when overriding Object.GetHashCode()?

2. What types can be used as a key in the Dictionary<TKey,TValue> class?

3. How to avoid boxing of a value type?

4. What is the value of a List<T>.Capacity property?

5. A memory allocated on the stack is released by the garbage collector...

6. Object`s finalizer is called by...

7. About the best way to declare a finalizer

8. Using thread pool

9. If an exception thrown in a Task was not handled by awaiting code...

10. Which thread will execute an action when Task.Run() is called?

11. What kind of primitives can be used for inter-process synchronization?

12. Is it possible to create a binding on a property if its declaring class does not implement INotifyPropertyChanged?
Киберпанк не умер. Он просто наступил.

Аватара пользователя
arxont
Сообщения: 3948
Зарегистрирован: Пт авг 31, 2012 11:29 pm

Re: Вопросы для собеседования.

Сообщение arxont »

* О-большое https://ru.wikipedia.org/wiki/«O»_большое_и_«o»_малое
* Сортировка выбором https://ru.wikipedia.org/wiki/Сортировка_выбором
* Рекурсия https://ru.wikipedia.org/wiki/Рекурсия
* Хэширование https://ru.wikipedia.org/wiki/Хеш-функция

"Со звёздочкой"
* Алгоритм сортировки https://ru.wikipedia.org/wiki/Алгоритм_сортировки
* Обход деревьев по-всякому https://ru.wikipedia.org/wiki/Обход_дерева
* Нахождение наибольшей общей подпоследовательности (динамическое программирование) https://ru.wikipedia.org/wiki/Наибольша ... ательность
* Префиксное дерево https://ru.wikipedia.org/wiki/Префиксное_дерево
* Сортировка слиянием https://ru.wikipedia.org/wiki/Сортировка_слиянием
* Топологическая сортировка https://ru.wikipedia.org/wiki/Топологическая_сортировка
* Расстояние Левенштейна https://ru.wikipedia.org/wiki/Расстояние_Левенштейна
* Хеш-таблица https://ru.wikipedia.org/wiki/Хеш-таблица
(Типы коллекций Hashtable и Dictionary https://docs.microsoft.com/ru-ru/dotnet ... tion-types )
* Линейная интерполяция https://ru.wikipedia.org/wiki/Линейная_интерполяция
Киберпанк не умер. Он просто наступил.

Аватара пользователя
arxont
Сообщения: 3948
Зарегистрирован: Пт авг 31, 2012 11:29 pm

Re: Вопросы для собеседования.

Сообщение arxont »

Был на собеседовании -
задача: с расшаренным экраном написать калькулятор. Время два часа.
Так же по ходу спрашивали - почему решил сделать так, как можно было бы сделать по другому, что можно добавить и прочее.

По моему отлично.
Киберпанк не умер. Он просто наступил.

Аватара пользователя
arxont
Сообщения: 3948
Зарегистрирован: Пт авг 31, 2012 11:29 pm

Re: Вопросы для собеседования.

Сообщение arxont »

"Лайвкодинг" - калькулятор натуральных дробей: сложение, вычитание, умножение, деление.

Должен корректно сокращать,
должен корректно работать с отрицательными,
должны присутствовать тесты,
должен не вылетать на ошибках, а корректно их отрабатывать и выводить "Неверные входные данные".

PS: Метод Compute должен принимать на вход операцию ("+", "-", "*", "/") и две дроби, где числитель и знаменатель разделены косой чертой /
Примеры:
Compute("10/20", "+", "2/3");
Compute("5/8", "/", "1/2");
Compute("25/100", "-", "1/4");
Compute("-1/1", "*", "-0/8");
Киберпанк не умер. Он просто наступил.

Аватара пользователя
arxont
Сообщения: 3948
Зарегистрирован: Пт авг 31, 2012 11:29 pm

Re: Вопросы для собеседования.

Сообщение arxont »

  • Коллекции, IEnumerable
    Лямбды, LINQ
    Интерфейсы/абстрактные классы/наследование/полиморфизм
    async/await
    Параллельное программирование, примитивы синхронизации
    SOLID, шаблоны проектирования
    Тестирование
  • БД
    PostgreSQL, MSSQL
    SQL
    EF, Dapper
    Транзакции, уровни изоляции транзакций
  • REST Api
    GET, POST, PUT, DELETE
    Аутентификация/авторизация
    Middleware
  • Алгоритмы
    Оценка сложности
    Приемы понижения сложности
  • Брокеры очередей
    RabbitMQ
    Использование в C#
  • Развертывание Api
    IIS
    nginx
    GITКоллекции, IEnumerable
    Лямбды, LINQ
    Интерфейсы/абстрактные классы/наследование/полиморфизм
    async/await
    Параллельное программирование, примитивы синхронизации
    SOLID, шаблоны проектирования
    Тестирование
  • БД
    PostgreSQL, MSSQL
    SQL
    EF, Dapper
    Транзакции, уровни изоляции транзакций
  • REST Api
    GET, POST, PUT, DELETE
    Аутентификация/авторизация
    Middleware
  • Алгоритмы
    Оценка сложности
    Приемы понижения сложности
  • Брокеры очередей
    RabbitMQ
    Использование в C#
  • Развертывание Api
    IIS
    nginx
    GIT
Киберпанк не умер. Он просто наступил.

Ответить