Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Смысл и предназначение обычного бинарного дерева? Какова погрешность измерение времени программы при помощи Stopwatch'ера?

Лучший ответ:
Бинарные деревья это обычно деревья поиска. Просто бинарные деревья, по-моему, не используются. Единственное, что на ум приходит, это hash tree(Merkle tree) в криптографии. В общем, правила будут такие, какие задашь в имплементации.
Вопросы, ну например, что такое высота дерева? (Здесь и далее за дерево считай BST). Каково асимптотическое поведение основных операций над деревом? Как их улучшить? Что такое сбалансированное дерево? Какие реализации сбалансированных деревьев поиска ты знаешь? Какие из них используются в стандартной библиотеке твоего основного языка? 
Можно придумать пачку вопросов про обход: как обойти дерево по слоям(в ширину)? В глубину? Как проверить, что бинарное дерево является деревом поиска? 
Ну и потом можно спросить, какие небинарные деревья ты знаешь?

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

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

Про stopwatch ничего не знаю, что это такое даже.

А вопросы на бинарные деревья - они неинтересные и тривиальные (сколько детей? Минимально возможная высота дерева? Сколько промежуточных вершин при данном количестве детей и выстое?)
Вопросы надо задавать про конкретную структуру данных - какие операции с ней можно выполнять и как долго они работают. Сколько памяти нужно для хранения.
Вопрос: Найти утилиту/расширение для анализа производительности сайта?

Лучший ответ:
Пользуюсь этим
https://developers.google.com/speed/pagespeed/insi...

Худший ответ:
https://www.checkbot.io/
Что может?✓ SEO TESTS: Broken links, missing or long page titles/descriptions/H1s, duplicate content, invalid HTML/CSS/JavaScript, canonical URLs, image ALT tags, robots.txt, mobile scaling, 404 pages, temporary redirects, sitemap setup & URL names.

✓ PAGE SPEED TESTS: Minification, compression, caching, render blocking or duplicate CSS/JavaScript, redirecting URLs & redirect chains.

✓ WEB SECURITY TESTS: Security headers, HTTPS, HSTS, mixed content & insecure password forms.
Вопрос: Как правильно начать изучение linux?

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

Худший ответ:
Советую использовать виртуалки (virtualbox или hyper-v, например)
Вопрос: Возможно ли создать бота, который будет из каналов в телеграмме, пересылать сообщения, пользователям?

Лучший ответ:
Да, возможно.
Инструкций полно в интернете, начните с этого: https://habr.com/ru/post/262247/.
Перед тем как начать, вам нужно определиться с рядом вопросов:1. Где будет хоститься бот. Это очень важно, т.к. в России Telegram заблокирован, а значит бот на Российском хостинге нуждается в подключении к зарубежным VPN или надежном Proxy сервере. В любом случае это гемморой, проще сразу хоститься зарубежом.2. HTTPS и SSL сертификат. Без наличия SSL сертификата Bot не сможет принимать входящие WebHook соединения. Из бесплатных есть Let's Encrypt.3. Язык программирования Каждый выбирает что ему удобнее и ближе. Советую обратить внимание на PHP и Python, для которых есть готовые API библиотеки.4. Алгоритм работы бота 
- Какие сообщения вы хотите пересылать? Из Телеги в Телегу? Это одно... Из Телеги во Вконтакт или наоборот - придется изучать API Вконтакта.
- Следует обратить внимание на приватность, не все боты в группах телеграм могут читать сообщения (во-первых у @BotFather настраивается, во-вторых в самой группе куда добавлен бот админами группы).
- Вы хотите абсолютно все сообщения пересылать, или как-то фильтровать их? Возможно хватит простых функции поиска подстроки в строке, а может понадобятся регулярные выражение regexp? В любом случае денек-другой стоит посвятить изучению регулярок...
Из того что Вы описали, я бы сделал простого бота на JavaScript с бесплатным хостингом в гугл таблицах (https://script.google.com/). Там можно "опубликовать скрипт", а ссылку скормить серверу телеграм как WebHook. Тогда скрипт будет отрабатывать каждое входящее сообщение. При небольшой нагрузке хватит бесплатных лимитов, + не надо заморачиваться с РКН, SSL и настройкой хостинга.

Худший ответ:
бот не может получать посты из чужих каналов
тут нужен клиент апи, например Telethon
Вопрос: Почему после блокировки учетки в AD+Exchange, пользователь получает\отвечает на письма?

Лучший ответ:
Активность по AS может длиться до 24х ччасов.
Что б мгновенно закрыть доступ дисейблитете юзеру доступ по AS в свойсвах ПЯ!

Худший ответ:
Это не баг, а фича.
Лечится блокировкой устройств в ActiveSync.
https://docs.microsoft.com/en-us/archive/blogs/mes...
Вопрос: Какой посоветуете максимально полный и корректный англо-русский (и наоборот) словарь / переводчик IT-терминов?

Лучший ответ:
Попробуйте этот https://lico.ru/o_kompanii/stati/prochee/tolkovye_... 
и вот еще https://computer-eng.slovaronline.com/

Худший ответ:
лингво
Вопрос: В чём отличие между char* и char[]?

Лучший ответ:
Разница в том, что в первом случае компилятор видит, что строковые литералы одинаковы, и генерирует только одну строку, и присваивает str1 и str2 указатели на неё. Во втором случае он не может так сделать, потому что массивы не константны, и в дальнейшем могут изменяться независимо. Поэтому указатели разные.
Однако в общем случае поведение такого кода полностью зависит от реализации компилятора и от опций, поэтому лучше так не делать вообще. Clang пишет: array comparsion always evaluates to false.

Худший ответ:
В случае выделения на стеке или в глобальных переменных - разница очень большая. char* - это просто указатель. Как тут правильно сказали - у вас будет два указателя на один и тот же строковый литерал.char[] - создание массива на стеке. Соответственно, у  вас там будут хранится не два указателя, а два массива. Вы сравниваете их и они очевидно не равны.
Вот пример: https://ideone.com/pIhUvq. Как видите, в одном случае у нас 64-битный указатель, а в другом - массив.
А вот в параметрах функции - действительно, большой разницы нет.
Вопрос: Подключаемся к VueJS проекту с большой кодовой базой. Какие есть инструменты для «code visalisation» чтобы ускорить изучение чужого кода командой?

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

Худший ответ:
Вопрос хоть и в теме про Vue.js, но теме не менее, может кому будет интересно. Есть такой проект, называется Getaviz, развивается университетом Лейпцига (Германия) - https://github.com/softvis-research/Getaviz
Задача как раз состоит в том, чтобы визуализировать код (2д, 3д). На данный момент поддержки JS нет, но вроде как должна скоро появиться.
Вопрос: Работа с txt файлом, как читать большое количество значений в txt?

Лучший ответ:
Используйте базу данных

Худший ответ:
Python работа с БД
Вопрос: В каком направлении двигаться эникею в 35+?

Лучший ответ:
В сторону предпринимательства. В этом возрасте уже пора.
Либо devops/программирование.

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

Лучший ответ:
Попробуйте переписать с массивами фиксированной длины. Во всех реализациях по вашим ссылкам вершины нумеруются строками и куча массивов типа distance и visited на самом деле являются словарями, или как это в js называется. Это работает сильно медленнее тупого массива, пронумерованного от 0 до n.

Вам понадобится один словарь для перенумерации вершин в числа. Потом преобразуйте гарф на массив массивов, вместо этого сложного объекта.

И уже на нем гоняйте дейкстру. Должно по карйней мере в пару раз ускорится. А то и во все 10.

Худший ответ:
Вариант 1:
 Можно реализовать самостоятельно на js, но не использовать те фичи, которые снижают производительность.
Вариант 2:
 Реализовать алгоритм на Rust и скомпилировать код под wasm.
Например есть такая либа: https://crates.io/crates/pathfinding, которую можно заиспользовать для этого
Вопрос: Превратить дисплей ноута в монитор?

Лучший ответ:
Отломать от ноута дисплей и присобачить к персоналке?
Нужно купить адаптер LVDS-DVI, поддерживающий матрицу из ноута, и подключить. И как-то приколхозить питание подсветки.

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

Лучший ответ:
Путь любого разработчика начинается с поискового запроса "whatever-programmer roadmap".
Даже на Тостере должно быть.

Худший ответ:
Для старта андроида можно посмотреть видео и поделать домашки из Android Academy (начиная с первых) https://www.youtube.com/channel/UCmkVThwbjthEg2RR4...
Вопрос: Могут ли быть вместе WinAPI и libcurl?

Лучший ответ:
Да, можно

Худший ответ:
Лучше не валять дурака, а сразу сделать так, чтобы окошки программы были на Qt, а http запросы были тоже на Qt.
Вопрос: Куда движется индустрия?

Лучший ответ:
1) Индустрия электроники огромна. Сказать, что вот прямо сразу весь мир прыгнул на 32 битные армы - это солгать. Более правильно сказать, что популярные блоггеры с производительностью пулемета штампуют статьи об stm32, при этом уровня "мигаем ледом".

2) С точки зрения разработчика, микроконтроллер - это инструмент. Каждый инструмент должен соответствовать задаче и быть до конца понятен тому, кто его использует. Я никому не пожелаю начинать обучения с STM32 - путанная документация и библиотека, которая состоит из макросов, вызывающих макросы, кроме укачивания при многочасовом скроллинге в попытках докопаться до истины, никаких эмоций не вызывает.

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

Основные принципы электроники сейчас - максимально запихивание перифирии в один чип. Этот тренд можно проследить с 1970х - начинали с огромных плат, где процессор - отдельно, память - отдельно, АЦП - снова отдельно, куча корпусов для развязки устройств на шине и так далее. Постепенно все эти запчасти стали помещаться в один корпус. Например - ESP8266 - это процессор, память, wi-fi и куча другой периферии, засунутые в один корпус.

Это дает снижение энергопотребления, повышение производительности, удешевляет платы.

Худший ответ:
Индустрия движется в сторону 4 нм. 
Отсюда вытекает: скорость, экономичность, функциональность и стоимость.
Учитывая, что я до сих пор не могу нагрузить на 100% (своими задачами) Atmel 328, то понятно что применение 32-х разрядных контроллеров для МОЕЙ задачи не целесообразно.
То есть "Алгоритмически" все останется как есть, а вот Размер и Цена - будут снижаться. Быстрдействие, напротив,  будет кратно увеличиваться.
Вопрос: Передача массива в функцию?

Лучший ответ:
printMAS (&MAS);//будет ошибкой! Почему?
Будет ошибкой только с точки зрения соответствия типов, потому что тип выражения &MAS -- int (*)[5]. Значение же адреса будет одним и тем же.Вот такие инструкции же работают...
Потому что значение адреса передаётся в них через ... и интерпретируется внутри как void *, т.е. тип исходного адреса больше не имеет значения.

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

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

Худший ответ:
Всё содержимое сайта должно как-то хранится на двух языках. 
Можно отмечать на странице все "мультиязычные" элементы, и при переключении языка — обновлять их на лету. Для этого нужно чтобы JS загружал откуда-то весь контент страниц на двух языках. И дополнительно использовать Intl для разных дат, списков, и всего такого.

Но лучше если всё содержимое веб страницы будет генерироваться на сервере в соответствии с выбранным языком. Тогда для переключения языка нужно будет передавать на сервер запрос с параметром. Например это можно оформить как префикс к URL example.com/en/some-path
Вопрос: Что нужно знать про работу интернета программисту?

Лучший ответ:
Внешний IP-адрес покупается (арендуется) у вашего интернет-провайдера. Остальное - настраивайте по своему желанию!

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

Лучший ответ:
У небольшой горстки Избранных под рукой есть Гугль, откликающийся на древнее и могущественное заклинание: "barcode generator library".

Худший ответ:
Хорошая либа есть под десктопную джаву. Под андроид не попадалась.
https://github.com/woo-j/OkapiBarcode
Вопрос: Как верстать макет?

Лучший ответ:
Как в таком случае поступать, если верстаю с ноута? В %-тах через пропорцию высчитывать размер блоков (исходя из моего монитора). Как правильно?
Правильно верстать как обычно, на время верстки задав телу фиксразмер мин 1920px (чтобы полоса прокрутки была).
По идее нужно верстать адаптивно, допустим взяв за основу ваше разрешение 1366, и когда вы откроете ваш проект на мониторе с разрешением больше, чем ваш - все будет нормально, если вы поставите ограничение на проценты и не будете задавать жесткие width, т.е. пользуйтесь min и max.
Поскольку сейчас уже чуть ли не телевизорами пользуются 4K, то пользуйтесь этим сервисом: https://screenfly.org/
Или купи БУ монитор за 2500 рублей и продай потом обратно)

Худший ответ:
В хроме есть возможность эмуляции устройства. ChromeDevTools https://developers.google.com/web/tools/chrome-dev... можно эмулировать и устройства с большим разрешением.
Вопрос: Как указать настройки SMTP при отправке сообщения для php mail?

Лучший ответ:
никак, она не для этого предназначена.
используйте phpmailer, swiftmail и все такое.

Худший ответ:
никак, она не для этого предназначена.
используйте phpmailer, swiftmail и все такое.
Вопрос: Как написать SDK по канону?

Лучший ответ:
одна задача - один класс. 
один класс - один файл. 

а дальше все зависит от собственного чувства прекрасного.

Худший ответ:
Конечно ты можешь написать одним классом, но это будет god object, и хорошим такой подход никто не назовет.
Пока люди делают маленькие проекты для себя - они могут писать как им нравится. Но когда проект большой, и код показывают другим людям (заказчикам/клиентам/whatever) то приходится следовать правилам хорошего тона, ага.
Вопрос: Почему при удалении строки в Spring Boot с помощью JPA выводит ошибку?

Лучший ответ:
Здравствуйте!
То что вы видите 403 ошибку (Forbidden) особо ни о чем не говорит.
1) Если у вас подключен Spring Security, то проверьте может ли пользователь совершить нужный вам запрос. @PreAuthorize("hasAuthority('ADMIN')") Пользователь должен быть админом
2) Проверьте правильно ли вы обрабатываете post || get запрос.
3)  В этом участке кода тоже ошибка. Вы сперва удаляете admrem, а потом пытаетесь сохранить удаленный admrem.
for (AdminProductions admrem : rmadm){
            adminProductRepo.deleteById(admrem.getId());
            adminProductRepo.save(admrem);
        }

Скорее всего это лишнее
adminProductRepo.save(admrem);

4) Тут тоже может быть проблема. Например, в camelCase.
deleteByAdminproductname()
Потому, что у вас сущность называется AdminProduct и поле name
А структура запроса у вас:
Adminproductname
Тоже что-то не так...

Ну в конце концов, поставьте точки остановки, включите дебаг и посмотрите какая ошибка прибегает на сервер. Может быть у вас запрос даже не доходит до контроллера из-за ошибки в Spring Security

Худший ответ:

Вот с этого участка не работает))
Вопрос: Смотрите я делаю такую штуку для себя типо,приходы и уходы(денег),но там происходит какая то ошибка,что не так?

Лучший ответ:
couldn't open "add.gif": no such file or directory
Такая картинка не существует

Худший ответ:
прописывай всегда полные составные пути: директория_файла + имя_файла
Вопрос: Как ограничить доступ к скрипту (Боту) в определенное время?

Лучший ответ:
Сделайте промежутки с 10:00 до 23:59 и с 00:00 до 02:00 ночи.
Условно вам надо где цифры - добавить ещё пару переменных
if ((date ('H:i') >= 10:00) && (date ('H:i') <= 23:59) || (date ('H:i') >= 00:00) && (date ('H:i') <= 02:00)) {
       exit ("start - stop");
 }

Худший ответ:
Можно решить добавлением пары проверок:

$start = "10:00";
$stop = "02:00";
$current_time = "01:01"; // $current_time = date('H:i');

$result = false;

if ($start >= $stop) {
    if ($current_time >= "00:00" && $current_time <= $stop) $result = true;
    if ($current_time >= $start && $current_time <= "23:59") $result = true;
} elseif ($current_time >= $start && $current_time <= $stop) {
   $result = true;
}

if ($result == true) exit ("start - stop");
Вопрос: Letsencrypt сertbot docker получение с сертификата wildcard?

Лучший ответ:
Нельзя получить wildcard сертификат через webroot плагин. Используйте один из dns плагинов или manual.

Худший ответ:
Богдан, чтобы не заниматься ручным обновлением сертификата, прописывая TXT записи в DNS, нужно использовать поддерживаемый DNS, типа cloudflare или cloudns. Общий смысл в том, что certbot (или какой-нибудь acme.sh) будет обращаться по API к DNS, используя некий логин и пароль или токен, чтобы создавать необходимые TXT-записи, они будут проверяться на стороне letsencrypt, после чего будет выпускаться wildcard-сертификат. В таком случае wildcard-сертификаты будут нормально обновляться автоматически.
Вот тут, например, можно найти список поддерживаемых DNS-провайдеров
В этом случае команда для выпуска сертификата через certbot будет выглядеть примерно так (на примере cloudflare):certbot certonly --dns-cloudflare \
  --dns-cloudflare-credentials ~/.secrets/certbot/cloudflare.ini \
  --dns-cloudflare-propagation-seconds 10 \
  --server https://acme-v02.api.letsencrypt.org/directory \
  --preferred-challenges dns-01 \
  --noninteractive \
  --agree-tos \
  --email <your_email@address> \
  -d <your-domain.name> \
  -d <*.your-domain.name>
Вопрос: Какой язык полезно будет учить в сочетании с Java?

Лучший ответ:
К Java скорее нужен не второй язык, а технологии, которые применяются вместе с ней: Java+Android, Java+Spring, Java+SQL, Java+Docker, Java+Hibernate, Java+Concurrency.
P.S. Ну если язык, то Kotlin.

Худший ответ:
Вы написали слишком много желаний, включая освоить это все за несколько месяцев до трудоустройства.
Еще раз "высокий порог входа" означает, что это сложно, что это трудно.
Что для освоения материала нужно не просто потратить время, а все это время прилагать серьезные усилия.
Вы уже начинаете распылаться - например еще не начав учить, поставили Линукс. Вы поняли что именно вы поставили? Зачем? Как вы будете им пользоваться? Поняли как именно вы создали разделы, сколько места вам необходимо? Какой своп?
Если нет, то вы просто потратили время, нажав next-next-next - установка современного с дефолтными настройками не сложнее установки Windows.
Чтобы стать java разработчиком не просто почитайте книжки или статьи о Java, а углубитесь в практику.
Когда вы сами сможете написать рабочее приложение, тогда начнете больше понимать что именно вам нужно учить, а именно - что изучение технологий занимает гораздо больше времени, чем изучение синтаксиса языка. А без технологий вы никому не нужны.
Вопрос: Как вы оцениваете предложения от неизвестных компаний?

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

Худший ответ:
Исключительно в ходе диалога, с HR по телефону - отсеивается 50% предложений, остальные уже при встрече.
На встрече ты можешь оценить офис компании (попросить экскурсию),  пообщаться и сделать выводы, как заметили выше - "собеседование - процесс двусторонний".
Вопрос: Насколько моя конфигурация сервера подходит для 1С?

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

Худший ответ:
Заменить i3 на i7, добавить еще 16Г памяти, и не париться с глобальной заменой всего?
Да, и убедиться, что в Электропитании выставлен режим "Высокая производительность"
Вопрос: Как отключить встроенную графику в играх и приложениях?

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

Худший ответ:
Встроенная графика будет так и так использоваться, потому что дискретный GPU пишет кадр в фрейм-буфер встроенной, к которой обычно подключен дисплей. По крайней мере реальное переключение вывода я не видел уже давно.
Ну и опять же всё зависит от охлаждения. Если CPU и GPU висят на одной тепловой трубке, то они так и так будут греть друг друга.
Вопрос: Как установить let's encrypt сертификат в docker совместно с nginx и certbot?

Лучший ответ:
Проблема в неправильном выборе инструмента. Для решения этой задачи гораздо лучше подходит Traefik: он умеет динамически подхватывать контейнеры, которым необходим доступ извне, автоматически получать let's encrypt сертификаты, роутить запросы на основании имени домена / пути, и выступать в качестве load balancer-а. Настраивается гораздо проще, чем Nginx: вся конфигурация - несколько строк.

Худший ответ:
Вы используете nginx как прокси, просто возьмите компаньона. 
https://m.habr.com/ru/post/445448/ советую к прочтению.
Вопрос: Как хранить пароли пользователей так, чтобы админстратор в дальнейшем имел доступ к любой учетной записи?

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

Худший ответ:
Вместо хэширования использовать шифрование. Если хотите его показывать.