pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Можно ли установить Docker на Windows 7?

Лучший ответ: Для "комфортной" работы нужно переходить на линукс
А в хелпе тулбокса тебе прямо говорят - тут будет виртуалка с линуксом и ты будешь работать там

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

Лучший ответ: сам попробовал наскоком изучить, получилось не очень хорошо, делали совместный проект, народ просил не пушить меня некоторое время код, а почему, я только месяц назад понял, когда шаг за шагом прочитал учебник по гиту https://git-scm.com/book/ru/v2
по IDE,  думаю во всех современных такая опция есть, я пользую  IDEA https://www.jetbrains.com/idea/  тут хорошо реализовано
после прочтения учебника использую пока только терминал
резюме: рекомендую потихоньку выучить основы по учебнику и затем совершенствоваться
в качестве бонуса: есть бесплатный хороший видео-курс https://geekbrains.ru/courses/66
теперь собственно по сабжу: путем некоторых экспериментов с потерей и восстановлением кода пришел к такой последовательности:
открываем Terminal в нужной папке с проектом и затем вводим последовательно команды:git init
git add --all
git commit -a -m 'first commit'
git remote add origin https://github.com/user/project.git !! поменять https на свой линк на репозиторий
git pull --rebase origin master
git push origin master

Худший ответ: полезности
Вопрос: Достаточен ли мой уровень для junior front-end (№2)?

Лучший ответ: Возможно ли с данным уровнем устроится на работу фултайм
Устроится можно с любым уровнем.

Худший ответ: Устроится можно с любым уровнем.
Ага, если только через знакомых...
Вопрос: Как перенести сайт с WIX на Wordpress/Modx?

Лучший ответ: 1. Выкачать страницы wget'ом.
2. Сверстать дизайн. Рипнуть не получится.
3. Собирать функционал на удобной CMS/Фреймворке.
4. Профит.

Худший ответ: Никто не вспомнил про такой вариант - нанять спеца))) Верстка снимается за день-два, контент день-неделя, если товары, чуть подольше, параллельно настройка движка, суммарно 2 недели и сайт полностью под вашим контролем...
Вопрос: Не работают транзакции при миграциях в Yii2. ??

Лучший ответ: DDL (create, alter, drop) откатить нельзя. Это не Yii и даже не PHP, а MySQL.

Худший ответ: короч в рамках транзакции можно манипулировать с данными, хранящимися в БД, но никак не со структурой самой БД
Вопрос: Оператор // в Python?

Лучший ответ: В Python целочисленное деление округляет вниз, чтобы остаток всегда был неотрицательным, сделано это для удобства. Комментарий Гвидо.

Худший ответ: Если вкратце: берется целое число слева. 
7//3 даст 2, так как ответ 2,(3). То есть до тройки еще не дошло. 
-7//3 даст -3, так как ответ -2,(3). То есть до минус двойки не дошло. 
7//-3 равнозначен -7//3, а -7//-3 равнозначен 7//3.
Вопрос: Новый магазин контента Ростелекома и браузер Opera

Лучший ответ: Вам к pepelsbey по этому вопросу. Тыкать носом насчет Оперы по его части.

Худший ответ: По поводу zabava.ru — очень высадило огорчило, когда они захотели, чтобы купленный альбом я качал по одной песне, плюс в тегах номера треков не проставлены были…
Ну и да, багов у них масса — зарегистрировался с десятой попытки.
Вопрос: PHP. Яндекс Карты. Как определить расстояние между двумя точками по дорогам?

Лучший ответ: Можно считать по гугль картам$from = "Санкт-Петергубг Ленина 5";
$to = "Выборг Ленина 20";

$from = urlencode($from);
$to = urlencode($to);

$data = file_get_contents("http://maps.googleapis.com/maps/api/distancematrix/json?origins=$from&destinations=$to&language=ru-RU&sensor=false");

$data = json_decode($data);
echo "Откуда: ".$data->destination_addresses[0] . "<br/>" .
     "Куда: ". $data->origin_addresses[0] . "<br/>" .
     "Время: ". $data->rows[0]->elements[0]->distance->text . "<br/>" .
     "Путь: ".$data->rows[0]->elements[0]->duration->text;

Худший ответ: Здесь можно посмотреть документацию по получению продолжительности и расстоянию маршрута между двумя точками с помощью CURL 
https://tech.yandex.ru/routing/doc/distance_matrix...
Вопрос: Разница операторов в Python?

Лучший ответ: Эти операторы выполняют одно и то же действие, но <> является устаревшим и отсутствует в Python 3.

Худший ответ: В Python2 есть два оператора не равно. Вы их привели и разницы между ними нет. 
В Python 3 нет оператора <>. Оператор "не равно" в Python 3 обозначается только как !=
Вопрос: Какой оптимальный процессор для программиста?

Лучший ответ: У меня сейчас на работе i5-4xxx загибается иногда, если открыть js файлы более 500 строк кода.
Учитывайте различне инструменты типа gulp, grunt, bower, webpack. Они хотят много, когда сборка проекта происходит.
Скорость подбора окна с автодополнением методов, классов, файлов и тд тоже от проца.
SSD - однозначно да.

Худший ответ: i7, но при >= 8 ОЗУ и SDD однозначно.
Вопрос: Как настроить уникальность значения order_id?

Лучший ответ: А чем вас не устроил автоинкримент ?
Можно так в тип string echo substr(md5(microtime()), mt_rand(0, 50), 6);
// 296ca4
Вообще способов много.

Худший ответ: Что за? Где структура таблицы? Это первичный ключ в таблице или ключ связи? О ЧЕМ РЕЧЬ?
Вопрос: Чего бы сложного сделать на javascript?

Лучший ответ: Таки начни писать тесты.

Худший ответ: Компилятор какого-нибудь языка (а можно еще и язык свой придумать)
Игру в 3Д
Онлайн Blender 3D
База данных
Распознаватель китайских иероглифов
Вопрос: Моддинг USB-кабелей

Лучший ответ: Именно такой как вы искали

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

Лучший ответ: А зачем тут JS можно на CSS .div.info_block > h3:hover{
  color:red;
}

Худший ответ: Так а в чём сложность то? Обработчик на ховер по родительскому диву, внутри идите по детям от $(this), что бы не всплывало на всех элементах  и меняйте им то, что нужно. transition в css задайте, где необходимо, либо используйте .animate();
Черновой вариант$( "div.info_block" ).hover(function(){
    $(this).css("border", "value");
    $(this).children("h3").css({
         "color": "value",
          ...
    });
   $(this).children("img").css({
         "color": "value",
          ...
    });
});
Вопрос: Чем отличается VPS Linus от VPS Windows?

Лучший ответ: операционной системой, Linux берется для сайта, windows   - для Хрумера

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

Лучший ответ: Необычное решение нашел в комментариях к одной статье на хабре. Какой то троль предложил использовать клизму )))) У меня дома лежит как раз новенькая и я попробовал только что на клавиатуре (она у меня скелетон) сдувать ей пыль. Клизма с задачей вполне справляется. Так  как она выполнена из мягкой резины, то и проблема возможных механических повреждений миниатюрной электроники, а так же пробоя статики отпадает сама собой. Так что ставьте иногда своему системнику клизму сжатым воздухом =) и будьте довольны. Всем спасибо, до свиданья.

Худший ответ: Кисточка + пылесос уже 8 лет так свой системник чищу. Вентиляторы у процессора и видеокарты года 2 назад сдохли друг за другом (как будто сговорились ))) ) я открутил боковые вентиляторы у системника и привязал их верёвкой  1 к процессору, а другой к видеокарте и вот уже 2 года всё нормуль )))
Вопрос: Автоматическая (веерная) публикация статей в группах социальных сетей?

Лучший ответ: Для google plus, facebook, twitter, pinterest и linkedin есть ещё bufferapp.com. Более гибкое решение это ifttt.com или zapier.com

Худший ответ: Для google plus, facebook, twitter, pinterest и linkedin есть ещё bufferapp.com. Более гибкое решение это ifttt.com или zapier.com
Вопрос: Как сделать пунктирную линию?

Лучший ответ: Вроде, что то было через настройку outline, ну оно не кроссбраузерное, а так дизайнеру руки оторвать, чтобы знал, что можно, а что нет.
Вроде это htmlbook.ru/css/outline-offset
ну оно не везде работает, в ие точно

Худший ответ: border-style:dotted
но судя по htmlbook.ru/css/border-style dashed -  то, что нужно.
Или проблема в чём-то другом?
Вопрос: Миграция серверов в виртуальную среду?

Лучший ответ: Товарищ, за бюджет в 400 т. р. вы не соберёте ту виртуализацию, какую хотите. Если только у вас там не "распродажа конфиската".
По порядку. HP Proliant DL380 Gen 8 без дисков и с минимальным объёмом памяти стоит больше 445 тысяч, плюс-минус, в зависимости от продавца. За ОДИН сервер.
Далее. То, что называется "СХД" -- будет стоить несколько миллионов рублей (от одного за какой-нибудь InforTrend до N за известные бренды).
Затем, vSphere Essentials Kit не умеет НИЧЕГО, кроме собстственно виртуализации. Соответственно, собрать на ней отказоустойчивый кластер вы не сможете. Чтобы было HA -- нужна Essential Plus Kit. Стоимость на два сервера -- 385 тысяч рублей.
Поэтому:
1) бюджет придётся расширить тысяч на 100.
2) ваш вариант -- это одноюнитовые сервера типа STSS, Aquarius, Kraftway. У STSS на проце E3-1220 v5 4-cores можно собрать сервак с 64 гигами оперативы и без дисков за 145 тысяч рублей. За один. Соответственно, вам нужно минимум два -- итого 290 тысяч рублей.
3) Гипервизор -- любой бесплатный. Как советовали выше -- можно Hyper-V server, он даже в бесплатном варианте умеет делать кластеризацию.
4) вместо "СХД" для построения общего кластерного хранилища покупаете какой-нибудь сервачок с 8 или более дисковыми отсеками, наторкиваете в него дисков и строите общее хранилище. Если выберете гипервизор Hyper-V, то можно просто поставить винду и сделать расшаренную папку по SMB3, Hyper-V умеет такое использовать как общее хранилище. Если же будете делать на чём-то другом (KVM, VirtualBox, Proxmox) -- придётся настраивать доступ к хранилищу по NFS или iSCSI. Мы делаем такие хранилища на FreeBSD + ZFS + multipath iSCSI, всё на родных возможностях FreeBSD, без потусторонних компонентов. Работает отлично, даже автоматический read cache можно запилить на SSD (ZFS-ный L2ARC на него положить).

Худший ответ: Встал вопрос с СХД
Вам надо сперва мониторить нагрузку на винчестеры. Хотя бы байт сколько пишите, читаете. Лучше бы и очередь, заодно. Затем всё проссумировать, определиться с бюджетом и брать что-нибудь стоящее.
Вопрос: Какой способ набраться опыта по разработке на C#?

Лучший ответ: Рецепт прост:
1)Для начала выучить сам язык и FCL на достаточно хорошем уровне
2)Выбрать для себя определенные технологии и начать их углубленное изучение
3)Писать много кода
4)Принимать участие в OpenSource проектах

Худший ответ: Самый верный способ это придумать себе задачу, пытаться ее реализовать.
Когда у вас появятся первые ошибки, тогда можете считать процесс обучения начат.)
Пытайтесь ошибки исправить самостоятельно, если не получается то пишите сюда и гугл вам в помощь.
Ну и конечно же главное это желание!)
Удачи!
Вопрос: Почему не работает addEventListener?

Лучший ответ: На момент выполнения скрипта ещё не сформировался DOM. Вам либо надо дождаться загрузки страницы (onload), либо загрузки DOM (DOMContentLoaded), либо поместить скрипт перед закрывающим body.

Худший ответ: У вас скрипт выполняется раньше, чем создаются кнопки. Уберите его в конец body или заверните в$( document ).ready(function() {
    // Your code
});
или любой аналог этого на чистом JS (без jQuery)
Вопрос: Сайт, где можно попрактиковаться во взломе

Лучший ответ: Еще вот такое было недавно: Упражнения по взлому Linux-систем

Худший ответ: Не знаю что именно Вы имели ввиду но есть, google-gruyere.appspot.com/
Вопрос: Вопрос по работе, что посоветуете?

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

Худший ответ: Хочешь развиваться - не сиди на месте. Беги оттуда раз тебя не поймут на счет этой "проблемы".
Вопрос: Web-дизайнеры как Вы просматриваете свои макеты в браузере?

Лучший ответ: Нужно чтобы картинка из фотошопа встала по центру в браузере?
Плагины для фотошопа были, кажется даже напрямую из фотошопа в браузер с реалтайм-обновлением. Платные и стоили слишком дорого.
1. Посмотри связку картинка в Dropbox -> Marvel(Invision)
2. Сверстай себе html-ку с preview.png по центру :)

Худший ответ: Чтобы не было проблем с центрированием картинки, для макета возьмите такое же разрешение, как у вашего монитора. Если монитор fullHD, то берете разрешение 1920px-17px(размер скроллинга). Таким образом, ширина макета должна быть 1903px. Потом просто сохраняете в .png, открываете в браузере и смотрите.
Это также поможет понять, как сайт будет выглядеть в браузере, если у сайта есть блоки на всю ширину страницы.
Вопрос: Как сверстать косые блоки, у которых есть изображение на фоне?

Лучший ответ: Может поможет

Худший ответ: Помню верстал такое) intercm.net глянь там код.
Ну логика там простая.
Вопрос: На сколько ли плохо писать такой код?

Лучший ответ: Внутри <a> не должно быть вложенных блочных элементов вроде <div> или <p>
Используйте <span> с разными классами и всё.

Худший ответ: <li>
     <a href="index.html">
         <span class="glyphicon glyphicon-rocket"></span>
                На главную
      </a>
</li>
и на пк делаете span float: right
а на мобильном span display:block;
Вопрос: Как реализовать панель управления для менеджера в приложении по заказу еды?

Лучший ответ: времени впритык
Для начала пишите все фичи без которых нельзя обойтись
Заказа
Показ списка товаров
Редактирование товаров в админке, одним админом (авторизация через nginx auth)
Без авторизации - если останется время добавить авторизацию по соцсетям
Без оплаты - не делать вообще
Напишите сценарии использования
Зашел
Нажал на кнопку
Заказал
Получил
Зашел в админку
Увидел заказ
Сменил ему статус
...
По списку юзкейсов определить какие модели нужны для хранения состояний
Номализовать БД
Сделать только адаптивный сайт на том фреймворке, который лучше знаете
Дальше, добавлять функционал
Если останется время - пощупать реакт натив

Худший ответ: Всего два слова - База Данных. Для такого проекта выявите все сущности и их связи, процессы и взаимодействия. Попробуйте описать Ваш проект на листе бумаги, после напишите основные цели, т.е. что должен делать проект. В конце концов возьмите список с основными задачами и из него каждую задачу разбейте еще более на мелкие задачки. Таким образом можно будет выявлять какая технология больше подойдет для решения той задачи, которая стоит перед вами.
Вопрос: С чего начать учить ASP.NET 5?

Лучший ответ: Руководство по ASP.NET 5

Худший ответ: Со стандартов W3C
Вопрос: Как стать Junior Java Developer, имея немалый опыт разработки на этом же языке?

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

Худший ответ: Курсы штука весьма специфичная, и в основном нужны для изучения очень узкой направленности ,потому в твоём случае нужно упираться в книги.
Вопрос: Почему кнопка &quot;home&quot; на iДевайсе срабатывает через раз?

Лучший ответ: Калибровка чувствительности. Загуглите… Кажется, там нужно 10 сек. подержать?

Худший ответ: Недавно пробегало видео про лучшие джейбрейк-твики для iOS (вроде оно). Там был твик, который добавляет многопальцевые жесты а-ля ipad для iphone/ipod, что позволяет полноценно пользоваться устройством без кнопки. Это на случай, если кнопка всё таки выйдет из строя, а ремонтировать накладно.
Вопрос: Как в Excel реализовать поиск и выборку значений по шаблону?

Лучший ответ: Вам поможет расширенный фильтр www.planetaexcel.ru/techniques/2/197 . Внимательно нужно посмотреть табличку критерии и исходя из нее в ячейке написать =*??.??.????*, тогда он будет искать любые значения в таком формате, попробуйте. Главное он автоматически копирует данные в новую таблицу. 
У меня получилось решить подобные задачи с его помощью, надеюсь и вам поможет.

Худший ответ: Если извратиться конкретно с формулами без VBA, то так: ищет в первых 3-х ячейках, дальше изменяйте по аналогии.=ПСТР(A1&B1&C1;ПОИСК("??.??.????";A1&B1&C1;1);10)
Вопрос: Как Вы понимаете junior, middle, senior в дизайне?

Лучший ответ: Знаешь как работать с фотошопом и другими инструментами - трейни
+ умеешь выполнять маленькие задачи (1 день без присмотра) самостоятельно - джун
+ умеешь выполнять средние задачи (1 неделя - месяц) самостоятельно и имеешь опыт 1+ лет - мидл
+ умеешь выполнять любые задачи самостоятельно и имеешь опыт 3+ лет - синьйор

Худший ответ: Разнорабочий/Специалист/Бригадир
Вопрос: Есть ли сервисы, где клиент может оставлять комментарии прямо на макете онлайн?

Лучший ответ: RedPen.io — весьма прост в использовании, не такой громоздкий, как Invision

Худший ответ: revision.ru - "русский Behance"clfh.org - ну, это про юмор о фрилансерах и их заказчиках =)
Вопрос: Где найти человека для тренировки в Yandex.Direct?

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

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

Лучший ответ: Примерно так: jsfiddle.net/IonDen/9Lwzq05m.container {
    position: relative;
    width: 400px;
    height: 400px;
    overflow: hidden;
    border: 1px solid #000;
}
.scroll {
    position: relative;
    box-sizing: border-box;
    width: 420px;
    max-height: 400px;
    padding-right: 20px;
    overflow-y: scroll;
}

Худший ответ: Можно воспользоваться плагином https://github.com/Diokuz/baron
Вопрос: Jade, для чего это нужно?

Лучший ответ: Поймите уже что emmet и jade/sass решают разные задачи.
Emmet разворачивает короткие аббревиатуры в полные выражения во время написания кода, что дает значительное ускорение в работе. Но это всё что он умеет.
Препроцессоры и шаблонизаторы обрабатывают ваш код после его сохранения. Они позволяют аккуратно структурировать код, разделяя его на логически завершенные блоки.
Шаблонизатор позволяет не копипастить кучу карточек товара в каталоге (например), а написать цикл и использовать в нем единственный подшаблон карточки. Если потребуется (а во время верстки обычно требуется ), то меняем код карточки только в одном месте, а не десяток-другой накопипасщенных. Это только пара примеров использования шаблонизатора, но и из них видно, что Emmet сюда ну никак не приплетешь.
Препроцессоры тоже дают кучу плюшек и возможностей: переменные, миксины, условные конструкции и циклы, и много всего (emmet здесь тоже не при делах). Честно говоря, все это много раз пережевано в интернете. Вам следовало бы ознакомится с несколькими статьями по теме, а не вопросы задавать.

Худший ответ: Шаблонизаторы сильно упрощают жизнь при вёрстке нескольких однотипных страниц. С типичными блоками, с несколькими блоками с минимальными различиями.
Вопрос: Интересна ли будет статья по webgl?

Лучший ответ: О да.

Худший ответ: псссс....ДА!
Вопрос: Обязателен ли индекс для внешнего ключа InnoDB MySQL?

Лучший ответ: Обязателен ли индекс для внешнего ключа InnoDB MySQL?
Да обязателенТаблица нормально создается и без индекса. 
При создании таблицы индекс на внешние ключи добавляется автоматически. Некоторые не советуют создавать индексы при проектировании таблиц, только при накоплении нескольких тысяч записей в таблице для ускорения запросов
Тут нужно понимать в чем разница между индексом созданным Вами по любому из полей, и индексом по внешнему ключу. Не рекомендуется заранее создавать индексы, т.к. на этапе разработки просто не понятно какие индексы действительно будут использоваться,на практике, а без каких можно обойтись (тем самым сэкономив время записи данных).  С внешними ключами же история немного другая, они служат для проверки целостности данных, при вставке/редактировании (про всякие там джойны - вообще молчу). А значит каждый раз когда Вы добавляете запись, необходимо найти соответствующую запись по внешнему ключу. Поиск без индекса происходит очень медленно, поэтому его использование в этой ситуации по умолчанию вполне оправдано.Вопрос 1: зачем встроили создание индекса?
Это плата за независимость от СУБДВопрос 2: разве при удалении таблицы индекс и ключ не удаляются вместе с ней? Или в разных СУБД бывает по-разному?
Аналогично с предыдущим пунктом, это плата за независимость от СУБД

Худший ответ: Вопрос 1: зачем встроили создание индекса?
Потому что индекс можно создавать и не по внешнему ключу.Вопрос 2: разве при удалении таблицы индекс и ключ не удаляются вместе с ней? Или в разных СУБД бывает по-разному?
Потому что индексы иногда необходимо удалять отдельно.
Вопрос: Как организовать автоматическое подключение к любой известной беспроводной сети?

Лучший ответ: Напишите скрипт поиска и подключения к сетям в /etc/network/if-post-down.d
Что-то типа такого:
#!/bin/sh

while true
do
  iwlist eth1 scan > /tmp/wiscan.txt
  if `cat /tmp/wiscan.txt | grep -c SSID1` = 1 then
  do
    iwconfig eth0 ssid SSID1
    exit
  done

  if `cat /tmp/wiscan.txt | grep -c SSID2` = 1 then
  do
    iwconfig eth0 ssid SSID2
    exit
  done

  sleep 3
done



Худший ответ: Важно то, что сам по себе Network Manager — не графический инструмент
Вопрос: Как исправить выражение RegExp?

Лучший ответ: А так?"/[^a-z\sа-яё\-]/iu"

Худший ответ: /[^a-zA-ZА-Яа-я_-\s]/u
Invalid range скорее всего из-за неэкранированного "-", попробуйте так:/[^a-zA-ZА-Яа-я_\-\s]/u
А еще лучше так:/[^a-zа-я_\-\s]/iu
Вопрос: Как провайдеры интернета ограничиваю скорость доступа?

Лучший ответ: Сеть оператора ШПД в общем случае довольно простая, по крайней мере по сравнению с мобильными, спутниковыми и магистральными сетями, она состоит из множества коммутаторов, одного маршрутизатора и биллинга. Фактически это большая сеть доступа. Маршрутизатор здесь называется BRAS (ну или dslam если мы о adsl). Так вот конкретно для pppoe на клиентской стороне создается так называемый туннельный интерфейс, и на стороне BRAS аналогичный при успешном подключении абонента. На BRAS на этом туннельном интерфейсе и вешается ограничение. Сами данные по ограничению услуги BRAS берет из биллинга при создании подключения (взаимодействует с ним по RADIUS/TACACS или даже DIAMETER).
Ни один нормальный оператор по умолчанию не будет использовать шейпинг, без каких-либо доп договоренностей везде стоит полисинг. Скажу больше - правило зорошего тона ставить с клиентской стороны в сторону оператора шейпинг, а с операторской в сторону клиента - полисер.
И да, PPPoE уже давно несовременная технология авторизации, сейчас все стараются переходить (и успешно переходят) на IPoE. Но это уже совсем другая история.

Худший ответ: Обычно никак не ограничивают.
Ограничения как правило вносит только оборудование использованное на последней миле.
Вопрос: Как защитить REST API от невалидных запросов?

Лучший ответ: Все что выполняется на стороне клиента, можно разобрать и вытащить секретную информацию. Поэтому любое приложение работающее на стороне клиента по определению является небезопасным и авторизовывать его нет смысла. Это можно будет подделать.
То, что вы хотите можно сделать только с клиентами работающими на стороне сервера.
Я думаю, что вам стоит еще раз переосмыслить свою задачу. Возможно стоит описать ситуацию подробнее, почему вы пытаетесь совместить несовместимое, с одной стороны закрытый API и с другой публичное мобильное приложение.
Это так не работает. Нужно выбирать из двух:
1. Публичный API -> Публичный клиент (выполняется на клиенте).
2. Закрытй API -> Закрытый клиент (выполняется на сервере).

Худший ответ: Возможно использовать IMEI телефона для того, чтобы проверять телефон ли это. Вот здесь есть база IMEI'ов и API к нему www.imei.info/api/imei/docs Однако существуют программы для замены IMEI, а также для его генерации.