pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Какую систему видеонаблюдения лучше приобрести?

Лучший ответ: ВОзьмите оборудование hiwatch. С таким китаем будет проблема и не одна

Худший ответ: Вот много комплектов видеонаблюдения https://mrvision.ru/видеонаблюдение/комплекты-виде... все оборудование с гарантией 2 года.
Вопрос: Как работать с confirm в react?

Лучший ответ: Итого (из комментариев) у топик-стартера настроен eslint и + ошибка в коде.
Решение:
1) использовать window.confirm вместо confirm
2) передавать index (сейчас он у вас undefined)

Худший ответ: взгляните сюда fiddle.вроде бы все нормально работаетdeleteItem(event) {
    const conf = confirm(`Are you sure?`);
    let number = parseFloat(event.target.parentNode.getAttribute("data-key"));
    let newTodos = this.state.todos;
    if (conf) {
      newTodos = newTodos.splice(newTodos.indexOf(number), 1);
      this.setState({ todos: newTodos });
    } else {
      alert(`ok we won't delete it `);
    }
  }
а почему бы не падать index прямо из .map().было бы намного правильнее чем искать в атрибутах
React не рекомендуем вам хранить данные в DOM атрибутов. Даже если у вас есть, атрибуты данных, вероятно, являются более оптимальным подходом, но в большинстве случаев данные должны храниться в состояние компонента реагировать или внешние хранилища.
Вопрос: Hyper-V не поддерживaется?

Лучший ответ: ЕСЛИ включен Hyper-V в биос, и ЕСЛИ компонент установлен в windows... То
Нашёл решение проблемы. Как я понял для безопасности винда как бы сама запускается в вируталке, поэтому выдаёт такое сообщение. Эта функция называется Credential Guard.
Для того чтобы отключить эту фишку нужно: Программы и компоненты -> Включение или отключение компонентов Windows -> Hyper-V -> Платформа Hyper-V -> Низкоуровневая оболочка Hyper-V (убрать галку)
Сайт stackoverflow....цитата оттуда

Худший ответ: Самого важного нет, версии операционной системы.
Если речь о Windows 10:
Проверьте следующие требованияWindows 10 Корпоративная, Профессиональная или для образовательных учреждений
64-разрядный процессор с поддержкой преобразования адресов второго уровня (SLAT).
Поддержка расширения режима мониторинга виртуальной машины (технология VT-c на компьютерах с процессорами Intel).
Не менее 4ГБ оперативной памяти.
Вопрос: Что купить новичку, чтобы работать с arduino?

Лучший ответ: Дежурный совет для таких случаев - любой Ардуино Кит с Алиэкспресс. Но учтите, что это именно на попробовать. Из этих китов может быть проблематично создать конкретное готовое изделие. В нём всего вроде много, а чего надо и не окажется. Поэтому альтернативный вариант - почитать соответствующие сайты/форумы и выбрать конкретный не сильно сложный проект, который захочется повторить (машинка, часики, метеостанция, что угодно) и закупить детали под него.

Худший ответ: Купите оригинальную ардуину (не подделку, которая раза в 2-3 дешевле). Это поможет вам избежать изначальных траблов с драйверами.
Купите несколько диодов, wifi модуль, и например датчик движения.
Вопрос: Cамоподписанный ssl extended validation сертификат внутри корпоративной сети?

Лучший ответ: Есть вероятность, что никак. Если посмотреть на сертификат, имеющий EV (например Банка Тинькофф - EV есть), то я там не нашел никаких OID, указывающих на EV. Скорее всего, EV или не EV - решает CA. Браузер однозначно к нему обращается проверить статус по OCSP, как минимум.

Худший ответ: Статья просто замечательная! Но это при наличии домена разумеется. А с OpenSSL это как реализовать? Как выпустить rootCA сертификат и подписанные им сертификаты для серверов, чтобы там был признак EV?
Вопрос: Насколько безопасно сохранять модель в отдельном потоке?

Лучший ответ: Я бы начал с БД. Проанализировал план запроса, оптимизировал запрос. Выявить причину по которой БД долго выполняет запрос - первостепенно.

Худший ответ: Вполне вероятно, что тут уже можно подумать над какими-то инструментами для работы с фоновыми задачами и отдавать что-то "долгоиграющее" туда.
Но, если по конкретно по делу, то вам нужно иметь ввиду, что каждый поток будет открыт со своим коннектом к БД, который потом нужно будет закрыть руками внутри блока после сохранения:Thread.new do
  model_instance.save
  ActiveRecord::Base.connection.close
end
Либо действия внутри потока совершать с использованием уже имеющегося соединения из пула:Thread.new do
  ActiveRecord::Base.connection_pool.with_connection do
    model_instance.save
  end
end
Вопрос: Как понять рекурсию в Python?

Лучший ответ: Как понять рекурсию в Python?
здесь есть ответ

Худший ответ: А питон тут причем?) Рекурсия это рекурсия, это не плюшка какого либо языка, это математическое понятие. Она везде одинакова. В чем собственно проблема? Функция вызывает саму себя. В вашем случае она будет вызывать саму себя в самой себя(да звучит так себе), уменьшая переменную b(ваш степень) пока не будет верна проверка "if b == 0:".
Вопрос: Знаете ли вы чаты, где можно пообщаться с начинающими программистами?

Лучший ответ: Список интересных групп, каналов и ботов телеграма. Чаты Telegram для программистов и разработчиков, гиков, айтишников, сисадминов и девопсов, а также прочих неравнодушных к компьютерам и программированию.
https://github.com/goq/telegram-list/blob/master/R...

Худший ответ: Самое живое общение - в Discord-каналах. Вроде у некоторых сервисов обучения программированию они есть. Но вообще лучше общаться с опытными, а не с начинающими.
Вопрос: Переписал стандартный скроллинг. Есть ли фундаментальные замечания к коду?

Лучший ответ: Конечно есть. Ваш код совершенно не расширяемый и не читабельный.
Прежде чем вы продолжите дальше, я рекомендую вам разобраться в паттернах проектирования.
- Начните с этого цикла сниппетов: shichuan.github.io/javascript-patterns
- Продолжите учебником: https://learn.javascript.ru/oop
- Завершите книгой Стояна Стефанова JavaScript. Шаблоны

Худший ответ: Да, грязный код, но это не говорит о том что его нельзя отрефакторить. Чтобы написать чистый код, мы сначала пишем грязный код, а затем рефакторим его.
Robert Martin
Вопрос: Как наиболее безболезненно перевести мою одноранговую сеть на доменную?

Лучший ответ: 1. Поднять DHCP, прописав выдачу уже имеющихся IP с привязкой к MAC.
2. Поменять настройки на клиентах, переключив со статических адресов на DHCP.
3. Разработать новый план адресации, подготовить новые конфиги DHCP и DNS.
4. В нерабочее время перенастроить DHCP-сервер на выдачу IP по новому плану, поменять настройки DNS.
5. Заменить адреса там, где они должны быть статическими (серверы, шлюзы, принтеры).
6. По необходимости перезагрузить клиенты или перезапросить на них IP.

Худший ответ: Я бы пореккоменовал отказаться от Windows и в силу дороговизны и привязки к железу,  и в силу тормознутости, и использовать следующую связку: 
Mikrotik + Synology
Первый для маршрутизации, VPN и прочего сетевого, второй для AD, хранения профилей и файлохранения. Это, в том числе, отвечая на "безболезненно".
Более дорогие Synology нынче позволяют подимать виртуальные машины на себе, не говоря о десятках прочих сервисов от чата и облака, до CRM.
Вопрос: Проясните проблему с автозагрузкой composer?

Лучший ответ: 1. Вы vendor/autoload.php подключили?
2. Если вы про эту библиотеку, то там в composer.json autoload вообще не настроен.

Худший ответ: разве Composer не должен автоматически это делать?
Если автор библиотеки не умеет пользоваться композером - то это не проблема композера.
Если автолодер в подключаемой библиотеке не настроен, но она капец как вам нужна - пропишите автолоадинг для классов этой библиотеки в своем composer.json.
Вопрос: Как сделать оформление главного экрана наподобие того, что дали?

Лучший ответ: Можно на чистом css сделать:
бокс, внутри 4 бокса повернутые через transform, с overflow: hidden;
Анимация, где контент выезжает на том же transform: translate. 
Ну а дальше играем с размерами и позиционированием. 
Не забываем про transition.

Худший ответ: Данный вами пример сделан с помощью SVG графики, с использованием библиотеки www.createjs.com/tweenjs
Вопрос: Пропадает мотивация к изучению python, правильно ли я делаю?

Лучший ответ: Но, я прекрасно понимаю, что делает определенная строка кода, что нужно изменить, чтобы заработало так, как нужно мне и т.д. Но не могу написать все сам с нуля, что-то вылетает из головы, что-то забываю, и снова приходится подглядывать.
Это называется "иллюзией компетентности", ваш мозг вас обманывает.
Важно правильно работать с учебным кодом. Не запускать скачанный с сайта издательства код, а набирать его самостоятельно, после прочтения главы, и пытаться запустить. Если запуск не получается, то главу вы не поняли и её надо перечитать. После того, как запуск удался, можно сравнивать свой код с кодом автора. Стоит поэкспериментировать с кодом, внести в него несколько изменений, чтобы убедиться, что вы действительно понимаете, как он работает, а не просто успешно повторили заученные действия.
P.S. У вас заголовок вопроса расходится с текстом. Непонятно на что именно отвечать.

Худший ответ: Согласен с Ильей в части своего хоть небольшого, но проекта. Из моей практики, сколько бы книжек ни читал, сколько бы туториалов ни делал, это все в воздухе зависает, если это не приложить к чему-то реальному, .т.е. своему проекту.
Вопрос: Как сверстать текстовое облако?

Лучший ответ: Если сильно торопитесь.

Худший ответ: https://codepen.io/pangen91/pen/XyVXOa
Это кусок кода из моего "проекта".
Смысл сделать родительский элемент флексовым, ему уже задавать все размеры, а комментбабл оставить без размеров.
Вопрос: Как получить gist с github в phpstorm?

Лучший ответ: будете смеяться, но для этого нужно ставить доп. плагин https://plugins.jetbrains.com/phpstorm/plugin/7236...

Худший ответ: Здравствуйте!
Смеяться не буду, потому как русские комментарии выводятся кракозябрами, и как побороть - не нашли возможности. Отписался в комментариях к плагину, разработчику. Пока тишина. Если есть ответ - помогите пожалуйста.
Вопрос: Возможно ли полностью поместить сайт в строку URL?

Лучший ответ: Это извращение и как любое извращение не должно существовать.
Возможно даже нарушает какое-нибудь RFC.
Есть давно проверенные механизмы - заголовки,query string. Используйте их для генерации.

Худший ответ: Очень странный вопрос. Для начала, стоило бы спросить самого себя, "зачем?" Вот действительно, каков практический сценарий использования, который вы себе представляете?
Что же касается возможности реализации, то с этим есть одна существенная проблема: чтобы декодировать содержимое такого URL и превратить его в страницу, нужен "загрузчик" этого содержимого, то есть физически существующая страница с пустым body и неким кодом на JavaScript в заголовке, который будет читать URL, декодировать его и встраивать в DOM-дерево страницы. Таким образом, прямой ответ на вопрос, возможно ли поместить код страницы полностью в URL - нет, это невозможно, так как нужен загрузчик кода из URL.
Вопрос: Как реверсят протоколы клиент-серверных приложений?

Лучший ответ: тут нет единственно верного решения. Условно протоколы можно разделить на 3 группы:
- json\soap\xml. Там уже все описано, даже мозг включать не надо; 
- текстовые протоколы без описания структуры. Придется немного подумать, но весь текст у тебя перед глазами, выявить закономерности довольно просто. Записываешь, что настраивал на клиенте, смотришь как изменился запрос и ответ сервера. На крайняк декомпилируешь клиента и смотришь разбор протокола :) 
- бинарные протоколы. Вот тут реально хардкор. Если не получиться декомпилировать код клиента, то можно зависнуть надолго. Нужно будет строить предположения о структуре данных, проводить огромное количество экспериментов. И если для простых протоколов это еще реально, то для сложных проще заплатить кому-то из разработчиков, чтобы слили структуру. Например, мы реверсили протокол автомобильных весов. Клиентской программы не было, за нее просили несколько сот тысяч рублей, больше чем стоимость весов. Но в течение пары дней подобрали структуру и успешно расшифровали протокол, интегрировали весы в систему. А вот с протоколом  навигационного оборудования это не прокатило- слишком сложный протокол, очень много переменных. Оказалось дешевле закупать другие приборы с открытым протоколом.

Худший ответ: В дополнение к ответу Артем Воронов стоит еще добавить, что помимо данных в открытом виде, существет еще потоковое шифрование траффика. Самый распространенный пример - https, где данные представляются в зашифрованном виде. Так же существет куча "движков" для потокового симметричного шифрования траффика. В этом случае, неплохо быть или стать продвинутым математиком.
Самый простой вариант для примера, запустить утилиту tcpdump на интерфейсе выхода в интернет для https:tcpdump -i eth0 'port 443' -X
и в браузере открыть какой-нибудь https://goo.gl
В остальном, чтобы понять, что отправляется нужно понять, как формируется структура данных при передаче.
Поэтому пишите свои клиент-серверные программы, желательно на сях, и смотрите как выглядит траффик.
Так же, стоит узнать о том как данные хранятся в памяти, например, что байты слова будут расположены в обратном порядке, что обычно строки передаются с предшествуюшим словом из количества байт в строке.
Для примера дизассемблируйте предварительно скомпилированную программу:int main(int argc, char** argv)
{
  static int var = 0xcc00ffee;
  return 0;
}
К прочтению: https://www.reddit.com/r/ReverseEngineering/commen...
Вопрос: Почему при 100% загрузке процессор не выдает максимальную частоту?

Лучший ответ: Потому что частота в Turbo Boost поднимается при условии, что утилизируются не все ядра процессора. За счет их простоя растет мощность других ядер.

Худший ответ: Есть подозрение, что у вас в списке отображается не частота процессора, а частота графического процессора (который HD). Хотя там по спеке должно быть 1300Mhz макс для этого, а показывает 1500+
Лучше попробуйте другое ПО, например CPU-Z, вдруг косяк именно в нём.
Вопрос: Гарантирует ли сим-карта другой страны защищенность от перехвата смс товарищем майором?

Лучший ответ: Не гарантирует.
Ваша карта будет работать в роуминге через оборудование на территории РФ, соответственно, доступ к SMS у местного оператора связи будет. Лучшим вариантом будет регистрация в сервисах на эту карту другом в самой Англии.

Худший ответ: Если SIM-карта используется для получения SMS в той стране, откуда она родом (не в роуминге) и ни разу не регистрировалась в России в роуминге - то эту дыру можно исключить.
Съездили, прямо там активировались по SMS, приехали. SIM-карту храним в ящичке на крайний случай.
Вопрос: Где почитать про паттерн Стратегия в PHP?

Лучший ответ: Недавно публиковали хорошую и подробную статью на хабре 

Худший ответ: Стратегия (шаблон проектирования)
Вопрос: Сколько кошельков Qiwi можно иметь?

Лучший ответ: Сколько угодно.
Просто если киви будет знать что все кошельки зарегистрированы на одного человека - лимит будет один, и гонять нет смысла.
А если кошельки будут зарегистрированы на разных людей - заблокируют за подозрительные операции, и попросят подтвердить личность.
Не сможете - не получите денег.

Худший ответ: За официальный ответ не скажу, но на практике многие спокойно держат несколько анонимных кошельков чтобы обойти лимит в 15000р. 
Также есть популярное решение - завести кошелёк на украинский номер (+380), и гонять ещё и через них, а не ограничиваться российскими. Многие обменники так работают.
Вопрос: Где и как набить руку на django?

Лучший ответ: Как накачать мышцы? Идея того, что бери гантели и качай, для меня не работает, так как я слабый, а гантели тяжёлые.
Для старта достаточно прочитать официальное руководство, а набить руку можно только практикой.

Худший ответ: нередко под "набить" подразумевается "покопипастить"
Вопрос: Yota через удлинитель включается и сразу выключается, так каждые 2 секунды. Как фиксить?

Лучший ответ: Скорее всего проблема в том, что не хватает питания модему. Нужно дать доп.питание ему, или заменить провод.

Худший ответ: И правильно сказали: Мышка и флешка почти ничего не потребляет. А модем ещё как. 
Если в удлинителе тоненькие провода, то на трёх метрах при таком токе уже может быть достаточно большое падение напряжения, чтобы модем работал не устойчиво.
Вопрос: Почему datetime.now().time() показывает неправильное время?

Лучший ответ: А чье время показывает? В системе время показывает корректно? Проверьте время в интерактивной консоли питона, если там верно, значит в вашей программе где-то переопределен часовой пояс

Худший ответ: Помогла смена часого пояса.
Вопрос: Как определить достаточную мощность БП?

Лучший ответ: Столько, сколько кушает железо + потери на преобразование, 5-10-15% и более, в зависимости от качества БП, и от нагрузки.

Худший ответ: Расчет мощности блока питания vindavoz.ru/jelezo/574-raschet-moschnosti-bloka-pi...
Вопрос: Как вызвать звонок tel:89279272727 на пк но что бы возов пошел на телефоне?

Лучший ответ: Или реализуй нажатие через телефон непосредственно, или подумайте по поводу IP телефонии для ваших ПК и мини-коллцентра :)

Худший ответ: Алгоритм я думаю такой:
1. На ПК жмется ссылка, которая отправляет запрос серверу
2. Сервер уже дергает моб-приложение и начинает звонок
Вот только есть хренова туча НО:
1. даст ли телефон начать вызов, без участия пользователя?
2. будет пауза между всеми этими действиями 2-10 секунд
3. зачем вообще это надо? Если человек хочет сделать звонок с ПК, он нажмет ссылку на ПК. Если он хочет сделать звонок с мобильного, то он сделает с мобильного.
Как по мне, вам не нужно этой херней маяться, а просто сделать нормальное мобильное приложение. А еще проще/лучше взять готовую CRM в которой все это уже реализовано, и интегрировать ее с сайтом.
Вопрос: Как хранить данные, которые нужны везде и всегда на android?

Лучший ответ: Статический класс-контейнер, уж более быстрого и легковесного варианта быть не может.придется в каждом onCreate тратить ресурсы и время
Посчитайте, сколько конкретно ресурсов и времени, скорее всего, окажется совсем не критично.

Худший ответ: Singleton
Вы там посмотрите кучу реализаций, глянете что да как, лично я предпочитаю такую версию Singleton-аclass enum MySingleton{
 INSTANCE;
// дальше данные
}
Вопрос: Один и тот же MAC на нескольких IP. Как найти источник проблемы?

Лучший ответ: Окей гугл, mac vendor.
Заходим на https://macvendors.com/ и видим, что это mac Микротика.
Вам удалось поймать самого себя за хвост :)
В поисках таинственного девайса вам бы помогло, если бы все свитчи были управляемые (по цепочке отслеживать, на каком порту тот или иной mac). Без управляемых свитчей - методом тыка, точнее методом вытыка и втыка коннекторов (и пинговать левый ip-адрес при этом).

Худший ответ: Запустить wireshark, настроить прослушивание портов  67 и 68, выполнить запрос DHCP, должны ответить все серверы.
Вопрос: На каком сайте можно бесплатно скачать flat иконки?

Лучший ответ: иногда использую www.flaticon.com есть возможность выбрать цвет, формат, размер.

Худший ответ: Я использую icons8.com
Вопрос: На чем вести учет ИТ-оборудования на всем их жизненном цикле?

Лучший ответ: GLPIУстановка

Худший ответ: Я тоже за redmine :)
Вопрос: Откуда здесь проценты?

Лучший ответ: Относительно дефолтного значения (16px) - в итоге получаем 10px.

Худший ответ: Относительно размера шрифта, который прописан у браузера в настройках. Если юзер ничего не менял, то по умолчанию это всегда 16px. Но некоторые люди (например, слабовидящие) меняют - тогда отсчет идет от того значения.
Вопрос: Почему происходит такая некорректная раздача адресов роутером?

Лучший ответ: Как настроили и подключили таки и раздает.
Из вопроса не понятно в чем заключается некорректность раздачи, и что значит раздает не от себя.

Худший ответ: роутеы от двух операторов обе подключены в лан, 2 рой роутер раздает интернет через вайфай
Вопрос: Почему с ПК нету пинга, а с роутера есть?

Лучший ответ: Скорее всего тебе нужно раздавать маршрут на твой ПК. 
Покажи таблицу роутинга с микротиков и с ПК

Худший ответ: В маршрутах не прописан pref-source, Плюс если ты делаешь туннель и хочешь чтобы сети видели друг друга, на концах туннеля лучше прописать статику (вместо vpn_pool)
Вопрос: Установка proxmox и RAID?

Лучший ответ: В сети наткнулся на такую статью: https://serveradmin.ru/ustanovka-i-nastroyka-proxmox/ - может она даст Вам ответы на вашивопросы

Худший ответ: Собираюсь делать всё абсолютно тоже самое.
Как всё прошло? Граблей не было?
Софтрейд пилил при установке debian или mdadm?
Какой статьёй пользовался как инструкцией?
Вопрос: Почему может не запускаться ПК?

Лучший ответ: Купил вчера новый пкПри таких данных одна дорога - в сервис.
А вообще перед тем как гадать на тему почему не запускается неплохо бы POST коды послушать или посмотреть.
Ибо как раз там и сообщается в чем причина - может процессор не определяется, может памяти нет.

Худший ответ: Если POST молчит и замена БП не помогает. Значит не стартует материнка. Горит ли индикация питания на материнке? Если не горит. Питание не поступает. Если горит, но не стартует. Возможно проблема в кнопке, нужно попробовать отвёрткой запустить мать. Если и это не помогло. Мёртвая материнка.
Вопрос: Поиск сайтов по маске?

Лучший ответ: https://www.google.com.ua/search?q=site%3A*test.org
site:без_пробела_маска
У вас
https://www.google.com.ua/search?q=q=site%3A+*test.org

Худший ответ: Для русскоязычных сайтов можно использовать LetSearch.ru
Например: site:test*.*
Вопрос: Вложенные роуты в React Router 4. По ссылке 'user1/commit1' срабатывает компонент для 'user1/'. Как это можно сделать корретно?

Лучший ответ: Как это можно исправить?
Добавить exact - вижу, это вы и сами сообразили. Ещё можно изменить порядок роутов (рендерится первый подходящий):

<Switch>
  <Route exact path="/" component={HomePage} />
  <Route path="/:user/:commit" component={CommitPage} />
  <Route path="/:user" component={UserPage} />
</Switch>
Что стоит изучить, чтоб разобраться в вопросе?
Документацию.

Худший ответ: Используйте exact, как вам уже подсказали, и это ничуть не топорно. У вас в динамическом роуте за :user принимался весь остаток url'a. Так что да, это корректно, только в первом роуте exact необязателен.
Вопрос: Определить, что точка внутри фигуры или нет?

Лучший ответ: Вот решение и формула, код.Задача о принадлежности точки многоугольнику

Худший ответ: Сумма углов между тестовой точкой и ближайшими точками фигуры должна быть 360 градусов. Берем по очереди все пары точек фигуры, определяем углы, суммируем и удивляемся
Вопрос: Подойдут ли два монитора?

Лучший ответ: Нет.
У E5300 вообще нет видеоядра и потому этот процессор в принципе никак с монитором взаимодействовать не может.
Если на вашей материнской плате есть видеовыходы - значит видеоядро встроено в материнскую плату, обычно это в те давние времена было в составе северного моста. Соответственно уточнять необходимо по спецификации материнской платы.
Два монитора - скорей всего да, с тремя помнится бывали трудности. Но обычно можно поставить какую-нибудь простую дискретную видеокарту.

Худший ответ: Нет.
У E5300 вообще нет видеоядра и потому этот процессор в принципе никак с монитором взаимодействовать не может.
Если на вашей материнской плате есть видеовыходы - значит видеоядро встроено в материнскую плату, обычно это в те давние времена было в составе северного моста. Соответственно уточнять необходимо по спецификации материнской платы.
Два монитора - скорей всего да, с тремя помнится бывали трудности. Но обычно можно поставить какую-нибудь простую дискретную видеокарту.
Вопрос: Где и как учить Angular.js 2?

Лучший ответ: найдите вот этот курс: 
[Udemy] Angular 4 - The Complete Guide [2017, ENG]
+ курс от John Papa: Angular 2 First Look (не важно что 2 версия, там общие принципы подчеркнуты)
и конечно же офф дока + стайл гайд: https://angular.io/guide/styleguide
дальше ставите цель и вперед, на баррикады :)
p.s. на русском все что видел, печалька, ни одна книга не ложится на стайл гайд, просто некий кривой пересказ доки. Так что и английский подтянете заодно)

Худший ответ: Рекомендую Metanit, канал CodeDojo на YouTube.
Вопрос: Что использовать для создания контактов на Android?

Лучший ответ: https://developer.android.com/training/contacts-pr...
Это по контактам. По перехвату звонка погуглите android call receiver

Худший ответ: можно, например, погуглить "custom account type" и "syncadapter"