pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Как разослать всем уведомление, не циклом?

Лучший ответ: Делаете составной уникальный ключ (`user`, `ho`) , после чего всё сводится к двум запросам
INSERT INTO `mail` (`user`, `to`, `text`, `time`)
  SELECT 2, `id`, :text, :time
    FROM `users`
    WHERE `id`  != 2;

INSERT INTO `contacts` (`user`, `ho`, `delete`, `time`)
  SELECT *
    FROM (
      SELECT `id`, 2, 0, :time
        FROM `users`
        WHERE `id` != 2
      UNION ALL SELECT 2, `id`, 0, :time
        FROM `users`
        WHERE `id` != 2
    ) AS `t`
  ON DUPLICATE KEY UPDATE `delete` = 0, `time` = VALUES(`time`);
А вообще, какой-то жуткий легаси у вас. Библиотека mysql_ уже давно почила в бозе.

Худший ответ: Запустить в фоновом режиме. Например через Crontab. Сто сообщений хостинг даже не почувствует.
Вопрос: Стоит ли добавлять несложные проекты в github?

Лучший ответ: Да делай как хочешь. Никто тебе не мешает удалить впоследствии проект или репозиторий.
Можешь объединить, можешь распределить. Гитхаб - это твой личный сервис, а не портфолио. Захочешь сделать портфолио - можно будет либо еще один гитхаб сделать, или этот потом почистить. Не парься, это не высший вопрос.

Худший ответ: Если не нарушают никаких авторских прав или законов - то ничего не мешает
Вопрос: Тернарный оператор, ?? вместо ?:, зачем?

Лучший ответ: //Null-коалесцентный оператор нужен когда переменная может быть не определена, дабы не делать проверку на isset
$bar = $foo ?? 'default';   //default
$bar = $foo ?: 'default';   // Undefined variable $foo

Худший ответ: Это совсем разные вещи.

?? - это null coalescing operator
?: - это ternary operator с первым выражением, эквивалентным выражению в левой части оператора.
Вопрос: Как блокируют сайты?

Лучший ответ: в каждой стране по разному.
но по сути это делают провайдеры по запросу властей, в основе лежит технология DPI. 
тупо фаерволом блокируют домен и всё... это вкратце если

Худший ответ: По разному. 

Вариант "для бедных" - это перехват DNS-запроса, когда провайдер перехватывает DNS-запрос и в ответ на запрос "какой адрес у сайта rutracker" отправляет адрес своей заглушки. 
Плюсы: дешево, не требует особого оборудования, скорее всего не поломает трафик
Минусы: наипать несложно, достаточно использовать DoH или иметь VPS в Забугории, куда туннелить DNS-траффик
Поэтому зачастую еще страхуются, блокируя по IP

Вариант "для продвинутых" - плюс к предыдущему ставят DPI, который анализирует трафик

Вариант "для параноиков" - плюс к предыдущему сертификаты, MitM и блокировка выхода без них
Вопрос: Можно ли как-то подменить свой IP адрес на сервере НЕ используя proxy или vpn?

Лучший ответ: Нормальные сайты не доверяют ip которые приходят в X-Forwarder-For
Поэтому единственный надёжный способ смены ip это vpn/proxy так как сервер всегда видит фактический адрес с которого сделано соединение, как правило он лежит REMOTE_ADDR и подделать его нельзя.

Худший ответ: Добавлю к nokimaro:
Также вы можете использовать  SSH-туннель.
Если задача в том, чтобы внутри системы не было VPN/прокси, то вы можете подключить машину к физическому/виртуальному маршрутизатору по локальной сети, который, в свою очередь, глобально подключен к удаленному хосту как прокси/VPN-клиент или использует удаленный VPN-шлюз только для MAC-адреса вашей машины в локальной сети.

Без использования одного из средств выше реальной смены IP не произойдет.
Вопрос: Куда поступить, если в области все плохо?

Лучший ответ: Закончить 11 класс, с 9 по 11 изучать программирование - за 2 года прокачаться до джуна по навыкам, после 11 класса искать стажировку, работу за хлеб, после трудоустройства, идти в вуз на заочно. Либо в обратном порядке - сперва заочный вуз, и дальше работать(желательно по профессии).

За 2 года можно себя неплохо прокачать в каких нибудь очень нужных языках, где конкуренции не 1000 человек на место. Например качнуть Java.

Худший ответ: Поступайте в военный ВУЗ. Полное гос.обеспечение - обучение, питание, жилье, одежда, стипендия (примерно 15тыс) и гарантированное трудоустройство после окончания.
Вопрос: Почему гигабитный свитч выдаёт не более 100 мб/c?

Лучший ответ: Помогла смена скорости в настройках сетевой карты (в диспетчере устройств) с автоматической на гигабит. 
За ответ - спасибо Andrey Barbolin 

Было:


Стало:


Худший ответ: Одни вопрос и он скорее всего ответ - а роутер разве поддерживает гигабитный WAN порт? посмотри в админке роутера что пишет про WAN

Сомневаюсь что потребительский роутер способен NAT-ить гигабит, на это нужен хороший процессор.

p.s. гигабитные роутеры дают гигабит для локальной сети, в т.ч. до роутера (например если поставить в него диск для файлов)
Вопрос: Что такое постоянная коммутация для коммутации пакетов?

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

Динамическая идет по инициативе одного пользователя с хоста А до другого хоста Б, в том объёме который нужен (о позволяет тех возможность) инициатору. 
Соединение тут происходит свободно с другими участниками сети, если на сеть не наложены иные ограничения (хост в другом vlan например).
Пример: Обычная офисная сеть, ты решил подключиться по удаленке на комп коллеги.

Худший ответ: Процитирую INTUIT.RU: Основы сетей передачи данных.

Постоянная и динамическая коммутация

Как сети с коммутацией пакетов, так и сети с коммутацией каналов можно разделить на два класса:


сети с динамической коммутацией ;
сети с постоянной коммутацией.

В сетях с динамической коммутацией:


разрешается устанавливать соединение по инициативе пользователя сети;
коммутация выполняется только на время сеанса связи, а затем (по инициативе одного из пользователей) разрывается;
в общем случае пользователь сети может соединиться с любым другим пользователем сети;
время соединения между парой пользователей при динамической коммутации составляет от нескольких секунд до нескольких часов и завершается после выполнения определенной работы — передачи файла, просмотра страницы текста или изображения и т.п.

Примерами сетей, поддерживающих режим динамической коммутации, являются телефонные сети общего пользования, локальные сети, сети TCP/IP.

Сеть, работающая в режиме постоянной коммутации:


разрешает паре пользователей заказать соединение на длительный период времени;
соединение устанавливается не пользователями, а персоналом, обслуживающим сеть;
период, на который устанавливается постоянная коммутация, составляет обычно несколько месяцев;
режим постоянной ( permanent ) коммутации в сетях с коммутацией каналов часто называется сервисом выделенных ( dedicated ) или арендуемых ( leased ) каналов;
в том случае, когда постоянное соединение через сеть коммутаторов устанавливается с помощью автоматических процедур, инициированных обслуживающим персоналом, его часто называют полупостоянным (semi-permanent) соединением, в отличие от режима ручного конфигурирования каждого коммутатора.
Вопрос: Как избежать ошибки database is locked?

Лучший ответ: Sqlite так устроена - читающих соединений может быть много, но пишущее - только одно в каждый момент времени. Причем по умолчанию пишущее соединение заблокирует и всех читателей.
Чтобы читатели не блокировались, нужно включить WAL
db.execute("PRAGMA journal_mode=WAL")

При этом пишущее соединение по-прежнему будет в каждый момент одно. Если это вас не устраивает, вы выбрали неправильный инструмент, и надо смотреть в сторону нормальных серверных СУБД (mysql, postgresql).
Теоретически могло бы помочь выставление большего таймаута (но я не вижу, как его вообще менять в aiosqlite) или отлов ошибки "database is locked" и повторные попытки.

Худший ответ: Как избежать ошибки database is locked?
Избавиться от SQLite
Вопрос: Что лучше осваивать для быстрого входа в работу и заработка — тестирование или разработка (python)?

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

Худший ответ: Но так и не остался в этой сфере, не хватало мотивации, терпения. Сейчас более уже серьезно думаю обрести специализацию в IT. 
С чего ты решил что если тебе не хватило мотивации тогда, то хватит сейчас?
сейчас вот завершаю один из курсов степика по пайтон-разработке. Задачки в большинстве удается решать. 
Неудивительно, степик это детский сад.
Что лучше осваивать для быстрого входа в работу и заработка — тестирование или разработка (python)?
Ничего из этого.
Вопрос: Как снять блокировку ip на своем сервере?

Лучший ответ: В логах Nginx не вижу реакции на попытку подключиться к сайту со своего IP.
Что я упускаю? Упускаете, что браузер ответил: dns probe finished nxdomain. А это проблема DNS. Браузер даже не отправлял запрос к Nginx, потому что не знает, куда отправлять. В логах Nginx нет реакции, потому что и не было запроса к Nginx.

Для диагностики на винде открываете командную строку и выполняете nslookup доменное-имя-вашего-сайта
Там будет видно, к какому DNS-серверу обращается винда (и этот сервер не знает про ваш домен).

Худший ответ: Дело в итоге оказалось в отсутствующей SOA записи в настройках DNS и особенностях софта провайдера
Вопрос: Чтение и запись лога разными программами?

Лучший ответ: Добавлю к ответу rPman про флаг FileShare описан немного контр-интуитивно. Флаг FileShare устанавливает права на доступ к файлам другим потокам.
То есть, для потока, который пишет в файл, нужно ставить FileShare.Read - позволить другим читать файл
Для потока, который читает из файла, нужно ставить FileShare.ReadWrite - позволить другим читать и писать в этот файл.

Худший ответ: нужно открывать файл на запись с указанием прав на чтение, пример с FileStream
Вопрос: Как работать с файловой системой в Spring Boot?

Лучший ответ: Но потом, когда я загружу проект на сервер, то там же другая файловая система, другие директории и т.д. - как с этим быть?
Ну во-первых, как отметил коллега Dmitry Roo нужно использовать относительные пути.
Во-вторых, у вас должны быть несколько файлов конфигурации (с разными профилями). Например, для dev upload.path будет /home/Desktop/uploads, а для prod профиля будет uploads/ и т.д.

Во-вторых - а как быть с безопасностью? Как-то же надо фильтровать то, что мне загружают? А то скрипт какой-нибудь загрузят или ещё что-то. Как это вообще отслеживать?
Обычно, делают проверку MIME type, как на клиентской стороне, так и на стороне сервера.

Например, средствами js можно запретить загрузку других файлов, кроме image/* и т.д.
Тоже самое делаю на сервере. Проверяют формат загруженного файла и если он не соответствует ожидаемому MIME type, то выбрасывают исключение и удаляют файл.

Как отслеживать оставшееся место на диске? 
Смотря, что подразумевается в данном случае. Если хостинг, то java.nio подойдет. А если это amazon s3 или другой сервис, то смотрите документацию к REST API.

Худший ответ: Но потом, когда я загружу проект на сервер, то там же другая файловая система, другие директории и т.д.
Для этого придумали относительные пути, конфигурационные файлы, симлинки и т.д...

как быть с безопасностью? не давать пользователю загружать что попало. То что пользователь загрузил - никогда не запускать.

Как отслеживать оставшееся место на диске?
Java io
Java nio
Вопрос: Нужно ли создавать отдельный профиль в соцсетях с имитацией фанатичного отношения к работе?

Лучший ответ: Да, тебе показалось.
Никто не просит ссылки на соцсети.
В любом случае, ничто не мешает сказать, что у меня нет аккаунта в соцсетях.
Хотя, ссылку на соцсети Linkedin, Github  или stackoverflow вполне можно оставить, там я есть
В итоге многие создают такие вот фейки-аккаунты в пиджачках, а порой и вообще без личных фоток, и все отведено только под работу. Репосты на тему работы, паблики на тему работы и т.д. 
Это уже клиника. Скажи этим людям, чтобы больше так не делали. Аккаунт где всё про работу говорит о том, что у человека проблемы с головой, либо что это фейковый акк. В реальности таких людей не бывает. Кроме Илона Маска, где он постоянно только о работе и пишет ;)

Худший ответ: зачем тогда работодатели вообще просят ссылки на аккаунты... Причем часто просят ссылки на Instagram. Что они там хотят увидеть? Посты о программировании?

Я видел три ситуации:


В компании боятся, что сотрудник своими публичными действиями повлияет на их репутацию и хотят убедиться, что он уже соответствует местным ценностям и не будет вести двойную жизнь и делать вид, что на работе он другой человек. Для некоторых компаний это важно. Ну и от должности зависит, чем она выше, тем это важнее, т.к. человек может в глазах общества стать представителем компании в сети. Особенно это стало людей беспокоить в последние годы, когда все подряд на все обижаются и набрала популярность культура отмены. Никто не хочет влипнуть в какие-то локальные терки с небольшими, но очень громкими группами активистов разных направлений.
В компании уже сталкивались с реально неадекватными сотрудниками, и в сторону кадровиков уже возникал вопрос "а как вы его вообще наняли, если по соц сетям и так было понятно, что не стоит связываться". Теперь приказ - всех проверять, без проверки - не пущать.
Кадровики услышали, что где-то так делают и решили тоже так делать. Без причины. Просто потому, что так нужно. Объяснить они это не могут. Профессионализм в любой профессии - это скорее исключение, чем правило. У HR в силу публичности профессии это просто сильнее бросается в глаза, чем у каких-то других профессий.


А по поводу горящих глаз, личного бренда, публикаций, участия в жизни сообщества и.т.д. - таких людей мало и находят их чаще через это самое сообщество, а не через резюме. Там сама воронка отбора может быть отдельной от основного найма.
Вопрос: Влияет ли на скорость вычисления сколько знаков в double?

Лучший ответ: Обычно - не влияет. Во-первых, все эти числа в двоичной записи имеют практически одинаковое количество занятых бит - вся мантисса. Во-вторых, операцию выполняет аппаратный блок - ему параллельно единицы ли там или нули в битах. 

Но, если процессор не умеет в операции с числами с плавающей точкой, то будет программная эмуляция - и там уже может зависеть.

Худший ответ: Алгоритм там не простой, но итеративный, а количество итераций зависит от значений бит. А значит количество знаков после запятой влияет на скорость умножения, причем не только их количество, но и значения самих цифр. И в добавок ко всему делаются проверки на переполнение, корректировки, установка флагов и тд.
window.edu.ru/resource/957/74957/files/A_d_p.pdf (стр. 73)
Вопрос: Как создать кастомное кроссплатформенное окно на си?

Лучший ответ: Надо либо использовать библиотеки GTK, QT и т.п., либо писать свою реализацию под каждую ОС

Худший ответ: Буквально недавно было обсуждение здесь https://qna.habr.com/q/1241266

Если кратко - то под каждую платформу - надо писать какой-то #ifdef ....#endif. Тоесть ваш код 
будет в объеме умножаться на число платформ которые надо поддержкать. Сколько их щас?

В чистом виде язык "C" не имеет какого-то стандарта на отображение графики.
Вопрос: Какой тип диска выбрать в proxmox при создании виртуальной машины и почему?

Лучший ответ: Все ответы выше не верные.

Ставить надо рекомендованый SCSI
(A SCSI controller of type VirtIO SCSI is the recommended setting if you aim for performance )
Нужна будет исошка виртио
https://fedorapeople.org/groups/virt/virtio-win/di...
что да как, здесь расписано
https://serveradmin.ru/rekomendaczii-best-practice...

И вообще лучше почитать, что к чему, и что значат разные пунктики при создании машины, их не так и много.
https://pve.proxmox.com/wiki/Qemu/KVM_Virtual_Machines

Худший ответ: SATA самый совместимый.
Вопрос: Почему я не могу найти работу в data science?

Лучший ответ: У мень есть трехлетний опыт работы (+знания) с Python и его ds библиотеками (учебные/личные проекты, курсы, книги). Я знаю мат. статистику, мат. анализ, линал и самые популярные алгоритмы машинного обучения (учеба в ВУЗе, курсы, книги, личные проекты), знаю SQL. Также уровень английского - C1. Образование: бакалавриат - физика, магистратура - прикладная информатика.
В опыт работы, обычно, считают только коммерческий опыт.

 Также уровень английского - C1
Обычно, такой крутой уровень английского нужен только для работы в западных компаниях, либо если должность подразумевает регулярное общение на английском языке.
Ну и его также нужно как-нибудь подтверждать. Например международным экзаменом, или опытом работы/учёбы в Европе/Америке

Что я делаю не так? Подскажите, пожалуйста
Фиг знает - вы же не сказали, что вы делаете)

Из общих советов:

Детализируйте свой опыт.
	Что именно входит в эти три года: Учёба, работа в конкретных компаниях, какие технологии в разные года использовали, и для чего.
Описывайте конкретные навыки (не просто знаком с библиотеками, а конкретно на каком уровне)
	В идеале, с примерами. Раз вы специализируетесь на DS, то имеет смысл выложить какие-нибудь свои исследовательские работы на Kaggle, и дать ссылки на них в резюме.
Когда выполняете тестовые задания, уточняйте все неочевидные моменты, которые можно толковать двояко - правильно заданные вопросы дают плюсик на собеседовании.
Во время собеседования не только отвечайте на вопросы, но и обязательно задавайте: о компании, задачах, зарплате, и вообще о всём, что вас интересует - снова вспоминаем плюсик про правильные вопросы.
После собеседования и тестового задания обязательно просите обратную связь - так вы хотябы будете знать, почему именно вам отказывают (ошибки, нехватка навыков, недостаточное впечатление, или может вообще уже закрыли вакансию другим человеком)

И самое главное - не отчаивайтесь, и не думайте, что проблема всегда именно в вас (так и до депрессии не далеко)

Худший ответ: Датасаентист работает с данными так же, как ученый в любой другой сфере. Он использует математическую статистику, логические принципы и современные инструменты визуализации, чтобы получить результат.

А вы точно изучили профессию ? Это ваша работа построить математическую модель устройства на работу в интересующей сфере. Набирайте статистику. Стройте предположения. Оценивайте значимость 
параметров.
Вопрос: Какое хранилище лучше использовать для бекапов в России?

Лучший ответ: Объектное, S3-совместимое хранилище от Яндекса или маилру, или ещё от кого.

В чём профит по сравнению с потребительскими облачными дискаси:
1. Можно выбирать между горячим и холодным хранением.
2. Гарантированный уровень доступности
3. Плата берётся только за тот объём, который хранится и используется.
4. В принципе нет ограничения на обём. Нужно 100 терабайт хранить - это легко можно организовать.
5. С S3 очень хорошо интегрируются всякие автоматизированные инструменты.

Худший ответ: криптовалюта siacoin или аналоги, цены гуляют от 0$ до 5$ (по умолчанию ноды случайно выбираются, в среднем 1-2$) за терабайт в месяц (там есть еще стоимость за трафик загрузки и выгрузки отдельно) есть куча сопроводительного инструментария (например fuse файловая система, работающая без прогрузки блокчейна), по умолчанию работает в режиме как dropbox/onedrive/googledisk/... (синхронизирует содержимое каталогов), и есть простенький http rest rpc
Вопрос: Сопротивление диода оптрона — как узнать?

Лучший ответ: По сути у открытого диода нет сопротивления и ток через него определяется исключительно балластным резистором  
Ну если сильно хочется можете определить по закону Ома разделив напряжение падения на протекающий ток. Напряжение на открытом светодиоде будет всегда одинаковым 0,8-2,5В в зависимости от технологии изготовления

Худший ответ: В "протезной" схеме - напряжение на выходе оптрона меряется относительно луны (общий провод входной части схемы), а не земли (общий провод выходной части схемы).

Сопротивление светодиода... можно прикинуть по fig. 1 в этом документе: https://www.vishay.com/doc?81181
Вопрос: В каком направлении выбрать тему ВКР?

Лучший ответ: Тему для Видовой Космической Разведки лучше уточнить у преподавателя

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

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

Если так, то предлагаю с самим полем ничего не делать, пусть себе будет текстовое и со всякой фигнёй. А для использования создать ещё одно, вычисляемое, поле, в которое класть очищенное и приведённое к числовому значение.

Т.е. если сейчас имеется
CREATE TABLE users (
    ...
    phone VARCHAR(255),
    ....
);
то выполняем
ALTER TABLE users ALGORITHM = INPLACE
    ADD COLUMN phone_num BIGINT UNSIGNED AS (REGEXP_REPLACE(phone, '[^0-9], ''')) VIRTUAL,
    INDEX idx_phone_num (phone_num);

Что это даёт? 

Выражение вычисляемого поля чистит строковое значение от всего, что не цифра, после чего значение преобразуется в тип данных поля, т.е. BIGINT UNSIGNED. Отлично, число получено.

Поле объявлено как VIRTUAL. Это означает, что его значение не хранится в таблице, а вычисляется каждый раз, когда оно потребуется. Но мы создаём по этому полю индекс. Соответственно сервер может не вычислять значение, а извлечь его из индекса. Ещё лучше, если это поле будет включено в композитные индексы вместо поля phone - тогда вероятность, что сервер будет извлекать значение из индекса, увеличится.

Конечно, можно было бы сделать поле STORED и не морочиться с индексом. Но тогда процесс изменения структуры таблицы будет достаточно длительным, потому что такая операция не может быть INPLACE и требует COPY. Впрочем,  это может оказаться более подходящим в определённых условиях.

Да, следует помнить, что в это поле нельзя записывать значения ни при INSERT, ни при UPDATE - такая операция приведёт к ошибке. Так что  про запросы без указания списка полей придётся забыть... ну и SELECT * - тоже забыть.

Худший ответ: То что вы хотите не является задачей базы данных. Эта работа должна выполнятся в коде программы предшествующем сохранению в базу