Страница 10 из 17

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

Добавлено: Пт июл 14, 2017 4:42 pm
arxont
Написать консольное приложения для анкетирования

При загрузке приложения выводится стартовое сообщение: “Выберите действие:”, нужно ввести команду для продолжения дальнейшей работы.


Список доступных команд:

cmd: -new_profile - Заполнить новую анкету
cmd: -statistics - Показать статистику всех заполненных анкет
cmd: -save - Сохранить заполненную анкету
cmd: -goto_question <Номер вопроса> - Вернуться к указанному вопросу (Команда доступна только при заполнении анкеты, вводится вместо ответа на любой вопрос)
cmd: -goto_prev_question - Вернуться к предыдущему вопросу (Команда доступна только при заполнении анкеты, вводится вместо ответа на любой вопрос)
cmd: -restart_profile - Заполнить анкету заново (Команда доступна только при заполнении анкеты, вводится вместо ответа на любой вопрос)
cmd: -find <Имя файла анкеты> - Найти анкету и показать данные анкеты в консоль
cmd: -delete <Имя файла анкеты> - Удалить указанную анкету
cmd: -list - Показать список названий файлов всех сохранённых анкет
cmd: -list_today - Показать список названий файлов всех сохранённых анкет, созданных сегодня
cmd: -zip <Имя файла анкеты> <Путь для сохранения архива> - Запаковать указанную анкету в архив и сохранить архив по указанному пути
cmd: -help - Показать список доступных команд с описанием
cmd: -exit - Выйти из приложения


Заполнить новую анкету

В анкете 5 вопросов:
ФИО
Дата рождения (Формат ДД.ММ.ГГГГ)
Любимый язык программирования (Можно ввести только указанные варианты, иначе ошибка: PHP, JavaScript, C, C++, Java, C#, Python, Ruby)
Опыт программирования на указанном языке (Полных лет)
Мобильный телефон

Вопросы должны идти по очереди, после того как пользователь ввёл ответ, выводить следующий вопрос или ошибку.

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

После заполнения всех вопросов, выводится сообщение: “Выберите действие:”, нужно ввести команду для продолжения дальнейшей работы.


Сохранить заполненную анкету

Анкета должна сохраняться в текстовом файле (txt) с именем, которое пользователь указал в ФИО, в каталоге с названием "Анкеты", который должен находится в каталоге приложения.


Структура текстового файла анкеты:
1. ФИО: <ФИО>
2. Дата рождения: <Дата рождения>
3. Любимый язык программирования: <Любимый язык программирования>
4. Опыт программирования на указанном языке: <Опыт программирования на указанном языке>
5. Мобильный телефон: <Мобильный телефон>

Анкета заполнена: <Дата заполнения анкеты>
Показать статистику всех заполненных анкет

Нужно вывести в консоль следующие данные:
Средний возраст всех опрошенных: <Посчитать средний возраст всех тех, кто заполнял анкеты, целое число> (год, года, лет в зависимости от полученного числа, т.е если средний возраст получился 22, то вывести 22 года, если 25, то 25 лет итд)
Самый популярный язык программирования: <Название языка программирования, который большинство пользователей указали как любимый>
Самый опытный программист: <ФИО человека, у которого указан самый большой опыт работы>

Тестовое задание выполнить на языке C#, отправить исходный код и скомпилированное приложение.

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

Добавлено: Пн июл 17, 2017 8:57 pm
arxont
В следующем коде изменить ОДИН знак так, чтобы напечаталось 20 звездочек:

Код: Выделить всё

void Main()
{
	int n = 20;

	for ( int i = 0; i < n; i-- )
	{
		Console.WriteLine(" *");
	}
}

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

Добавлено: Пн июл 31, 2017 6:23 pm
arxont
Разработать ASP.Net MVC/WPF/Win Forms приложение с одной страницей, которая имеет textbox для сообщения и кнопку.
  • По нажатию на кнопку происходит отправка и запоминание сообщения на сервере (хранение сообщений должно работать автономно, без использования сервера баз данных).
  • Реализовать возможность просмотра сообщений текущего пользователя и всех пользователей системы.
  • Страницу вывода всех сообщений пользователей сделать с сортировкой сообщений пользователей по ID или по времени.
  • На сервере запоминается 10 последних сообщений (по умолчанию) для каждого юзера и 20 последних сообщений (по умолчанию) для всех юзеров. Каждому пользователю должен быть присвоен ID – либо автоматически либо вручную.

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

Добавлено: Ср авг 09, 2017 8:51 am
arxont
Забавное было интервью. За два дня до скинули письмо, где написали -
Вопросы на техническом собеседовании будут по следующим вещам. Пробегитесь пожалуйста.
  • Статический конструктор
  • Ref и out
  • Boxing/unboxing
  • Gethashcode
  • List и linkedlist
  • Partial
  • Structlayout и fieldoffset для структур
  • Switch case
  • Yield
  • Анонимные типы
  • Делегаты
  • Замыкания в цикле for
  • Замыкания в цикле foreach
  • Значимые и ссылочные типы данных
  • Именованные и необязательные аргументы
  • Инициализация примитивных типов
  • Интернирование строк
  • Исключения
  • Ковариация и контравариация (.net 4.0+)
  • Коллекции для поиска
  • Конструктор значимых типов
  • Конструкция using
  • Копирование массива
  • Примитивы синхронизации
  • Метод equals
  • Методы расширения
  • Модификаторы доступа
  • Наследование
  • Настраиваемые атрибуты
  • Обобщения
  • Ограничения в обобщениях
  • Перегрузка операторов
  • Перечисления
  • Приведение типов
  • Реализация интерфейса
  • Свойства и индексаторы
  • События
  • События и утечки памяти
  • Статические члены в обобщениях
  • Строки
  • Условная компиляция
  • Финализация
  • Флаги и типы данных
  • Цикл foreach
  • Циклы

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

Добавлено: Чт сен 14, 2017 8:11 pm
arxont
есть у тебя коллекция - модель надо вывести ее разбив на группы в ItemsControl в заголовке групп вывести поле по которому сгруппированно и количество элементов в группе

напиши как будешь делать группировку и как выводить количество элементов группы

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

Добавлено: Чт сен 28, 2017 3:35 pm
lis
arxont писал(а):В следующем коде изменить ОДИН знак так, чтобы напечаталось 20 звездочек:

Код: Выделить всё

void Main()
{
	int n = 20;

	for ( int i = 0; i < n; i-- )
	{
		Console.WriteLine(" *");
	}
}
Убрать пробел тут?

Код: Выделить всё

Console.WriteLine("*");

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

Добавлено: Чт сен 28, 2017 7:27 pm
arxont
lis писал(а):Убрать пробел тут?

Код: Выделить всё

Console.WriteLine("*");
Неа :) Там на самом деле 3 способа решения

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

Добавлено: Пт сен 29, 2017 11:46 am
hjv
Кстати, а сколько раз выполнится цикл for (int i = 0; i < n; i--) ? :?

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

Добавлено: Пт сен 29, 2017 1:53 pm
arxont
hjv писал(а):Кстати, а сколько раз выполнится цикл for (int i = 0; i < n; i--) ? :?
А кто сказал, что сейчас программа работает корректно? Там и есть условие - поменять один символ )

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

Добавлено: Пт сен 29, 2017 2:01 pm
hjv
Т.е. как минимум одна ошибка найдена :D