Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как быстро реагировать на новые задачи на биржах фриланса?

Лучший ответ:
Искать заказы на других площадках, кроме ад.кг
Ловите из моей подборки:
	• Биржи фриланса СНГ
		○ https://primelance.com — агрегатор фриланс-бирж.
		○ https://freelance.ru/
		○ https://freelansim.ru/
		○ https://YouDo.com
		○ https://fl.ru/
		○ https://freelancehunt.com/
			§ Статистика цен https://freelancehunt.com/statistics/rates/currency/rub
		○ https://www.weblancer.net/
		○ www.free-lance.ru
		○ https://yukon.to — пока бесплатная (январь 2018) 
	• Биржи фриланса международные
		○ https://www.upwork.com
		○ www.freelancer.com
		○ https://www.peopleperhour.com
		○ https://www.guru.com
		○ fiverr.com
		○ https://envato.com
		○ https://talent.hubstaff.com
		○ https://remoteok.io
		○ https://weworkremotely.com
		○ https://www.cybercoders.com
		○ https://djinni.co
		○ https://www.toptal.com
		○ https://www.linkedin.com
		○ https://elance.com — куплен upwork
		○ https://odesk.com — куплен upwork

Худший ответ:
У первого всегда больше шансов.
Вопрос: Что за болтик в комплекте с материнской платой asus h170?

Лучший ответ:
для фиксации накопителя в разъёме m.2

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

Лучший ответ:
Как не убить свой новый жд?Не допускать ударов и вибрации.Обеспечить нормальное питание.Не допускать перегрева.Использовать диск в соответствии с предназначением.
Все остальное - неважно.

Худший ответ:
Система была разбита на 800 Гб под винду, и 200 Гб под линукс. 
Надо наоборот.Как влияет частая переустановка ОС, изменение тип файловой системы (например с NTFS на EXT4), использование 2 ОС с разными типами файловых систем и тд. 
Вообще никак.P.S. ещё, что я заметил, то при загрузке операционной системы, жесткий диск непривычно активно и громко работает при загрузке линукс.
Это потому, что на соседнем разделе винда.
Вопрос: Как разрешить спортивный семейный IT спор?

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

Худший ответ:
Вам логично выбрать libgdx или нативное android приложение. Слишком объемную игру затевать не стоит, иначе не доживете до релиза. От месяца до трех достаточно для первого раза.
По поводу девушки, слишком много разговоров, но мало действий. Не открою секрет, если скажу, что надо разное пробовать, и правило 10 тысяч часов никто не отменял. Через 10к часов и выяснится, есть ли "жилка" или нет, ну или хотя бы на полпути. Начать можно с того, что Вы сами очень хорошо знаете. Я всё чаще в последнее время начинаю себя называть "решателем проблем программным путём", т.к. у меня нет ни математической, ни алгоритмической теории вообще. 
возможно, стоит доверить обучение профессионалам. Еще Вы совместно можете алгоритмами и математикой заняться, codeforces/codewars в помощь.
Вопрос: Нужно ли front-end разработчику изучать back-end?

Лучший ответ:
Оттачивать фронтенд и знание английского. 
У нас работают фронтендеры, они PHP вообще не знаю, но знают принципы реализации бекенда (т.к. на JS работают).
Пишут шикарные приложение под наши API.
Товарищи полностью концентрируются на фронтовой части и именно это дает им преимущество. 
Сильного специалиста в своей области, найти довольно сложно. Не стоит в наше время сидеть на 2х стульях.

Худший ответ:
Коротко: Нет. 
Стоит сосредоточится на front-end и на том, как front-end взаимодействует с back-end (http запросы, заголовки и т.д.). 
Возможно было бы не плохо понимать основы синтаксиса языка, но это просто как бонус.
Вопрос: Как «превратить» статичный сайт в «динамику»?

Лучший ответ:
Замыкаем все в .htaccess на index.phpRewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L,QSA]
В index.php обрабатываем $_SERVER['PATH_INFO'] ( var_dump в помощь ) и, в зависимости от того, на какой адрес перешли, генерируем мета-теги и инклудим соответствующий php-файл. Например, если в PATH_INFO /contacts, то include('contacts.php') и так далее.
В contacts.php используем include('header.php'), include('footer.php'), но это можно в index.php делать, а потом инклудить только форму контактов сразу, или другой контент из другого файла
И далее по аналогии

Худший ответ:
Если страниц много, то js скриптом можно вставлять. Но в идеале через ide прогнать и заменить
Вопрос: Как решить проблему ввода русского текста в консоли KDE?

Лучший ответ:
dimmidrol, дело не в шрифтах. Тем не менее, спасибо! Ваш комментарий подтолкнул к сравнению шрифтов разных профилей bash, а также разных пользователей системы. Оказалось, что если запускать терминал от имени суперпользователя через kdesu konsole, описанная проблема отсутствует, раскладка переключается, кириллица печатается как надо. Сравнение конфигурационных файлов, относящихся к терминалу, двух пользователей выявило странную лишнюю строчку в файле .inputrc у основного пользователя:set convert-meta on
Что бы это не значило, убрал - проблема исчезла! УРА!!!

Худший ответ:
а шрифты для терминала какие? Была когда-то такая проблема, шрифты поставил (только давно это было, не помню какие) и проблема исчезла.
Вопрос: (*.sh;*.php)Как сделать что бы скрипт сам запрашивал права администратора?

Лучший ответ:
команда sudo вас спасёт.

Худший ответ:
sudo + expect. но не секьюрно, как и отключение ввода пароля администратора.
Вопрос: Если материнская плата сгорела(и пахнет сгоревшим), подлежит ли она гарантийному обслуживанию?

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

Худший ответ:
Многое зависит от магазина и производителя: нормальные конторы меняют без проблем, всякие недобросовестные "рога и копыта" - будут отпираться и пытаться развести на деньги. Реальный случай: собирал ПК - купил все железки, после установки винды был полный фриз на этапе теста производительности. На следующий день повез обратно и как итог: замена ЦП (скорее всего неисправное одно или более ядер), материнской платы из-за проблем с USB контроллером, видеокарта на стенде приемщика пошла полосками на экране (признак отвала GPU/памяти) - и её тоже заменили (хотя изначально там были проблемы с поддержкой нужного разрешения), а так же пришлось менять еще и корпус. Другой случай - через несколько лет эксплуатации производитель материнской платы выпустил обновление БИОС, которое окирпичивало мать - и это тоже гарантийный случай. Так что лучше покупать в надежных магазинах.
Вопрос: Опыт работы с командной строкой в Linux, какой именно linux?

Лучший ответ:
Там не такая большая разница и она в основном в старотом наборе ПО, репозиториях, ключах компиляции и далее, далее, далее. bash (интерпритатор командной строки) везде один и тот же - так что зная один линукс, освоить другой будет не трудно

Худший ответ:
Это значит: "Опыт работы с консолью Bash". 
Ядро и дистрибутив линукса - любой, хоть pidora.
Вопрос: Агентства на upwork — какие обязательства, если вступил?

Лучший ответ:
У вас проблема с коммуникацией. Вы должны эти впоросы задавать тому, кто вас приглашает. Устроить созвон и задать эти вопросы. 
Главное требование: Вовремя задавать нужные вопросы и за базар отвечать. 
Уйти можно в любой момент, если нет активного контракта. За контракты отвечает менеджер. 
Каждому человеку дается свой заказ и свой рейтинг. Однако, и групповая ответственность есть. Если зафакапить, то в среднем рейтинг хреновый будет у всех. С другой стороны если косячить, но все пройдет хорошо, то это скорее всего не отразится.

Худший ответ:
Никаких обязательств нет
Все обязательства только перед заказчиками
Вопрос: Как правильно поступить при создании ИМ?

Лучший ответ:
Если сайты раньше не делали - возьмите готовый WooCommerce шаблон и настройте его под себя. Самый лучший вариант в данном случае

Худший ответ:
Имхо, многое зависит от целей, с которыми вы создаете ИМ. Если с целью потренироваться, то это одно, если с целью товар продавать, то это другое.
Для торговли - море платформ разной степени удобства и тарифных сеток. У моих знакомых вполне себе здравствующий бизнес по продаже бу детских колясок. И они вообще сайтом не заморачиваются. Все размещают на авито. Так что, если надо быстро начать продавать и получать прибыль, то создание отдельного сайта надо вести параллельно с размещением торговых предложений на других площадках.
А потренироваться - да... WP+WC - нормальная связка. Или Joomla+Joomshopping...
Бутстрап - CSS фреймворк. Это инструмент. Нужен он вам или нет, решать вам. При применении к месту он облегчит жизнь. И в силу его популярности, шаблонов его использующих, пруд пруди.
Вопрос: Как подключиться к wifi после Ethernet?

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

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

Лучший ответ:
Привет приятель. На Go можно написать все что угодно.
Но, тут нужно понимать что ты конкретно хочешь от проекта. Если это не масштабируемый интерпрайз проект лучше пиши его на php. Это я для отступления хоть и не совсем по теме.
А так лови полезные ресурсы:
https://github.com/golang/go/wiki/SuccessStories
https://github.com/golang/go/wiki/FromXToGo
https://www.youtube.com/watch?v=dLfGx_E131U
https://www.youtube.com/watch?v=KQcWXRlAiyA
https://www.youtube.com/watch?v=9u2zGBSkTCI&list=P...

Худший ответ:
https://github.com/avelino/awesome-go
Выбирай любую идею и в бой
Вопрос: Как избежать слежки от Яндекса?

Лучший ответ:
Проблема гораздо глубже чем Яндекс. Все поисковики, соцсети и прочие сервисы отслеживают поведения пользователя с помощью всяких метрик, виджетов и прочих.
Есть крутой проект Brave Browser от создателя мозилы и яваскрипта - Брендана Айка. По умолчанию блочиться вся реклама и все трекеры. Работает это лучше всяких расширений блокировщиков рекламы.
Есть поисковик который не хранит историю и не занимается всяким слежением duckduckgo. В целом конечно пока не замена гуглу, но некоторые ссылки в гугле и яндексе забанены, а duckduckgo находит.

Худший ответ:
С добрым утром - установил приложений от яндекса и хочешь чтобы за тобой не следили?
1) Удали их нафиг. Какие там приложения, что прямо позарез нужны и которые нельзя открыть на ноуте?
2) Соц сети - не будь залогиненым. 
3) И пользуйся ublock'ом
Вопрос: Как верстать изображения с выносными названиями её элементов?

Лучший ответ:
Можно картинкой вставить. Просто. Быстро. Размер шрифта начинает отличаться от остальной страницы при адаптивном уменьшении картинки. Печаль для дизайнера-перфекциониста. А еще буквы могут начать мылиться. Это вообще печаль. Если нужно добавить/убрать стрелки - придется перерисовывать картинку. Это неприемлемо, если к ним привязана какая-то еще логика и они показываются не всегда.
Можно использовать связку SVG+CSS:
- Берется SVG с viewbox='0 0 100 100'.
- Основная картинка вставляется в виде image.
- Стрелки рисуем в векторе (это просто дуги из одной точки в другую с маркером на конце).
- Если нужно сделать их двухцветными, как в вашем примере - делаем маску по картинке и применяем ее к стрелкам.
- Надписи верстаем отдельно (div`ами) и абсолютно позиционируем сверху. Координаты будут соответствовать им же в svg (от 0 до 100). Это нужно для того, чтобы сохранять размер шрифта при адаптивном уменьшении всего этого.
Дальше при необходимости мы можем легко из css или js показывать или скрывать надписи и стрелки.

Худший ответ:
в пнг
Вопрос: Как попасть в среду postgress на debian?

Лучший ответ:
su - postgres
psql
задать пароль для postgres в консоли постгри
потом уже логиниться без переключения на пользователя можно

Худший ответ:
Рутовый доступ к базе предоставляется для пользователя postgres (системный, без пароля, авторизоваться можно через sudo):sudo -u postgres psql
Вопрос: Почему (-1) это true?

Лучший ответ:
Потому что оно не ноль :)

Худший ответ:
Ну... это долгая история, но во многих языках, логика построена так, что числа отличные от нуля - есть положительные (true), при приведении их к булевому типу. В этом есть иногда смысл, но на пальцах объяснить это (вырвав из контекста) - относительно сложно.
Если хотите изменить логику, можно сделать какую-то сокращенную проверку, типа такой:var b = (a > 0);
Тогда, b будет false, если a будет меньше или равно нулю.
Вопрос: Angular 4+. Можно ли сказать что поддержка проектов с ним в среднем проще чем React?

Лучший ответ:
1. Использовать в продакшене Angular для вашей команды, это большие риски. Не факт, что вы с ходу напишите что-то поддерживаемое.
2. По поводу легкости поддержки вам только кажется. Если у вас возникли трудности в поддержке React проектов или миграции 15 --> 16, то виной тут только недостаточная квалификация вашей команды. Стек React/Readux отлично масштабируется и поддерживается.
3. TypeScript давно активно и успешно используется с React.
4. RxJS это совершенно другое мышление, не факт, что сходу ваша команда начнет писать, что-то нормальное.
5. Если проект большой и серьезный, то не стоит его начинать без Senior Angular Developer в команде, ваш работодатель может потерять кучу денег, на ваших экспериментах. Даже если вы и будете по мануалам, статьям писать что-то хорошее, вы будете делать это значительно медленней.
6. Хотите изучить Angular и научиться писать на нем хорошие и поддерживаемые приложения?  Есть эффективный способ: изучите основы и идите работать в сильную опытную команду.
Angular это выбор Enterprise. Фреймворк хорошо использовать в больших компаниях, где его зачастую и применяют. Обкатывать на коммерческом проекте неопытной командой не рекомендую. Сам быстро в нем освоился потому, что до этого писал мобильные приложения на Java(DI, Rx, статическая типизация, сервисы, сходств много и ничего принципиально нового).
С другой стороны если ваше руководство готово платить за ваше обучение и даже дать дополнительное время, то можно воспользоваться этой возможностью. Я такие возможности всегда использовал.

Худший ответ:
1. Проекты могут быть какие угодно. С Angular тоже можно использовать MobX, Redux, Ngrx и т.д., хотя они не являются обязательными, часто обходятся средствами самого фреймворка.
2. Angular2+ без TS это редкостная экзотика. Плюс тут в том, что уровень разработчиков будет немного выше, а минус - проектов немного меньше. Больше сложных и долгоиграющих проектов. А мелкие и быстрые начинают уходить в сторону Vue
3. Да, радикальных изменений нет. Ломающие изменения бывают, но их можно быстро поправить.
4. Можно работать с Ангуляром, зная лишь азы Rxjs. И расширять знания по необходимости. Это инструмент из тех, что можно использовать почти сразу, и в дальнейшем использовать лучше и шире по мере освоения.
Вопрос: Хорошие ресурсы для изучения алгоритмов?

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

Худший ответ:
Отличный книжец, в котором описаны алгоритмы довольно понятно и с примерами https://www.ozon.ru/context/detail/id/135297188/
Вопрос: Какие 3D программы лучше использовать для моделирования электронных устройств?

Лучший ответ:
О! Любимая тема попалась :) Я присоединюсь к первому комментатору, но от себя добавлю кокретики именно по вашей задаче.
1. Моделирование таких объектов - дело простое. Берете Blender, простые примитивы, масштабируете как нужно и компонуете. Анимация используется самая простая - объектная. Уроков в ютубе полно.
2. Для качественного создания материалов, а я смотрю тут у вас используются хромированные материалы с кубомапами и т.д. - лучше воспользоваться заготовками. Скачиваете дистрибутив Blend4Web, там есть бесплатная библиотека материалов (живой пример материалов). Выбираете нужный и присоединяете к объекту.
3. Экспортируете в html и показываете заказчику.
4. Рендерите анимацию, скриншоты в Blender или создаете веб-плеер с Blend4Web - тут уже решать вам.
P.S. Ели я правильно понял про назначение этих моделей.

Худший ответ:
О! Любимая тема попалась :) Я присоединюсь к первому комментатору, но от себя добавлю кокретики именно по вашей задаче.
1. Моделирование таких объектов - дело простое. Берете Blender, простые примитивы, масштабируете как нужно и компонуете. Анимация используется самая простая - объектная. Уроков в ютубе полно.
2. Для качественного создания материалов, а я смотрю тут у вас используются хромированные материалы с кубомапами и т.д. - лучше воспользоваться заготовками. Скачиваете дистрибутив Blend4Web, там есть бесплатная библиотека материалов (живой пример материалов). Выбираете нужный и присоединяете к объекту.
3. Экспортируете в html и показываете заказчику.
4. Рендерите анимацию, скриншоты в Blender или создаете веб-плеер с Blend4Web - тут уже решать вам.
P.S. Ели я правильно понял про назначение этих моделей.
Вопрос: Как происходят уведомления на разных сайтах, теория?

Лучший ответ:
Со стороны питона это решается Celery. К PHP даже есть привязка.

Худший ответ:
Загуглите, что такое rabbitmq/ironmq/итд.
В общем - очереди (queues).
Вопрос: Пересаживаться ли на linux или достаточно установить docker, оставаясь на винде?

Лучший ответ:
Все просто-
Работать надо в той системе где удобно- вам удобно работать в Windows, значит в ней и работайте.
А вот проект над которым вы работаете нужно запускать в той среде, в которой он будет работать.

Худший ответ:
Сам лично привык работать под Windows, там и софт привычный и его, как правило, больше. Пробовал пересесть на Ubuntu как home OS, но не понравилось, да еще и не разобрался с тем, как подключить второй монитор, воткнутный во встроенную видеокарту.
А городить зоопарк из виртуалок перестал с появлением WSL в Windows 10.
Уже советовал его в одном из вопросов.
А до него и правда хватало софта под Windows, вроде Open Server, правда ставил все это дело отдельно, просто один конфиг делал универсальный и иногда редактировал.
Вопрос: В чем разница специальностей ИТ направлений?

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

Худший ответ:
В учебной программе и ее можно посмотреть на сайте университета
Вопрос: Кто может помочь с алгоритмом?

Лучший ответ:
линейным же уравнением описывается, бро ( в реальности полиномиальным, т.к со временем просмотры идут на спад, но раз нужен линейный, то дальше читай )
f($end, $start, $now, $count) = ($count * $end- $start * $count) / ($now - $start) 
f($end, $start, $now, $count) = ($count * ($end- $start)) / ($now - $start)
f(x) = ax + b, f(x) - количество предсказываемое лайков, x - время a, b - коэффициенты
Предполагается, что в самом начале нет лайков:
20000a + b = 10000
5000a + b = 0
b = -5000a
20000a - 5000a =10000
15000a = 10000
a = 0.666
b = -3333.3
Следовательно:
лайки(время) = 0.666 * время - 3333.3
лайки($end) = 56 607
В общем виде:
$now * a + b = $count
$start * a + b = 0
-b = $start * a
$now * a - $start * a = $count
a($now - $start) = $count
a = $count / ($now - $start)
b = -($start * $count) / ($now - $start)
f($time) = ($count * $time - $start * $count) / ($now - $start) 
f($time) = ($count * ($time - $start)) / ($now - $start)

Худший ответ:
wov  = (Весь отрезок времени)/100;
fpp =  $now / $wov;
$count * $fpp
Вопрос: Postgres не обновил sequence при вставке с PK?

Лучший ответ:
В отличии от мускуля, где автоинкремент встроен в потроха на уровне движка, сиквенс - это просто некий отдельно лежащий счетчик 
Для того, что бы он работал как автоинкремент - нужно каждый раз получать значение конкретного счетчика, делается это путем назначения default значения на первичный ключ таблицы в виде вызова функции nextval.
id integer NOT NULL DEFAULT nextval('"some_id_seq"'::regclass)
default значение отрабатывает только если это поле не было передано во вставке или было передано со значением default.
Т.е., если вы вставляете в таблицу в явным указанием id - default не выполняется, сиквенс не меняется. Так что в этом случае нужно явно проставить значение счетчика через setval

Худший ответ:
Потому что не был вызван nextval. За ненадобностью.
Раз не нужно было генерировать новое значение, то зачем его дёргать зря?
Вопрос: Существует ли документация или справочник по Unity полностью на русском?

Лучший ответ:
Прошу прощения за то, что поздно. Возможно вы уже наши выход, но, если что, вот офф уроки по Unity, переведённые на русский язык:
https://www.youtube.com/playlist?list=PLpyssslyeRz...

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

Лучший ответ:
Вот ключ для поиска: lambda x: int(re.search(r'\d+', x).group(0))import re

a = ['maz/2/arini', 'ya/16/streb', 'lovel/5/as']
key = lambda x: int(re.search(r'\d+', x).group(0))

print min(a, key=key)  # Минимальное число
print max(a,  key=key)  # Максимальное число
print sorted(a,  key=key)  # Сортировка

Худший ответ:
https://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D1%80%D... как вариант. Обрежь сиволы кроме чисел и отсортируй
Вопрос: Curl ожидание ответа сервера?

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

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

Лучший ответ:
Не уверен на 100%, но попробуйте:
1) в шаге template добавить register
2) посмотреть что там в переменной
Я бы ожидал там увидеть отдельные записи для changed.
3) если прокатит, то использовать результат register в with_items для шага запуска скриптов
Второй вариант - использовать notify и handler docs.ansible.com/ansible/playbooks_best_practices....
P.S. второй вариант будет правильнее и лаконичнее.

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

Лучший ответ:
это называется SSO
далее гуглите этот термин + свой ЯП.

Худший ответ:
Вы наверняка видели кнопки "зайти при помощи гугла", "зайти через вк" и тому подобное.
Это oauth, реже openid.
Если оба сайта ваши, то можно проще. На mysite1.ru логинится пользователь, для него заводится сессия, все как обычно. Когда он открывает страницу mysite2.ru, там подключен какой нибудь js файл, например mysite1.ru/auth.js, но по этому адресу не статический js файл, а скрипт. И если запрос пришел с куками уже авторизованного пользователя, он выдает персонифицированный js-код, который производит авторизацию на mysite2.
Вопрос: Как заблокировать сайт в браузере? без расширений и наверняка?

Лучший ответ:
через hosts

Худший ответ:
если вы пользуетеь windows то в "семейной безопастности" или внести его в запрещённые правила в брандмауэр
Вопрос: Какой алгоритм использовать для нахождения пути в здании?

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

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