Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Какой фреймворк сетки на flex лучше использовать?

Лучший ответ:
Если привыкли к бутстрапу, возьмите из него только сетку.
Можете попробовать Flexbox grid
flexboxgrid.com

Худший ответ:
если я правильно понял, то

https://get.foundation/sites/docs/flex-grid.html

@import 'foundation';

// @include foundation-grid;
@include foundation-flex-classes;
@include foundation-flex-grid;
Вопрос: Почему ИИ в играх не обучается?

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

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

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

Худший ответ:
Возможно проблема с кнопкой включения.
Если повторится, попробуйте нажать посильнее и в разных местах.
Как вариант.
Вопрос: Нужна помощ купил проц на мини сервак intel xeon e3 1240v6, сокет на материнке и процессоре подходят но устанавливаю не чего не работает?

Лучший ответ:
Обычно сначала проверяют конфигурацию на совместимость, а потом уже - покупают:
https://www.gigabyte.com/Ajax/SupportFunction/Getc...

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

Лучший ответ:
Классические шифры полагаются на то, что никто не догадывается, как их расшифровать, а подбор вручную может быть не очень простым делом. И то, на самом деле, некоторые из них ломаются очень просто. Например, шифр простой замены ломается частотным анализом, а шифр сдвига - просто перебором разных вариантов сдвига, число которых не превышает длины алфавита.
С появлением вычислительной техники всё изменилось. Неважно, каким запутанным для человека является шифр, машина может очень эффективно проверить хоть миллион разных "классических" вариантов с самыми разными алгоритмами и ключами. Тут даже алгоритм скрывать бесполезно, если его можно угадать подбором и комбинированием.
Основа современной криптографии - вычислительная сложность. Можно даже всё знать об алгоритме шифрования - но за разумное время расшифровать не получится. Но старинные методы шифрования "символ-в-символ" вычислительно очень просты и никак не годятся в современном мире.

Худший ответ:
3 пункт более наглядно опишите.
Если алфавит поделить на две части, то в первой и второй будет по 16 букв. Как дальше происходит ваше шифрование? И зачем нам первая часть шифра?
Вопрос: Существуют ли вакансии JS-программиста без обязанности верстать?

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

Худший ответ:
В теории да, но на практике нет. Максимум вы можете делегировать вёрстку макетов кому-то другому, вот только этот кто-то другой точно не будет заботится об удобстве вёрстки для вас, как программиста.
Вопрос: Путь становления back-end разработчиком?

Лучший ответ:
Да ничего особенного. Берёшь Django и:
1) Пишешь сервис погоды. По введённому городу - погоду с API погоды. (выбирай)
2) Вместо перезагрузки рендеренной страницы делаешь AJAX запрос с JQuery, к примеру. Банально заменяя кусок html
3) Переделываешь свой фронт и бэк так, чтобы по AJAX-запросу не кусок html отдавался, а JSON с данными, а на фронте - по этим данным перерисовывался твой виджет погоды.
4) Заменяешь самопальную view, отдающую JSON на view из Django Rest Framework. 
5) Добавляешь кэширование запросов к своему и внешнему API
6) Прикручиваешь Celery для тоо, чтобы запросы к внешнему API шли по расписанию и у тебя была свежая инфа.
7) Реализуешь websocket/django-channel для того, чтобы доставлять изменения погоды на страничку пользователям авоматически (можно уже оформить погодный виджет в виде встраиваемого на сайт клиента)
8) Разбираешься с Docker, AWS и прочим для деплоя
Вуаля! Ты бэкенд-разработчик (и немножко фронт - но без этого, поверь, ну никак вообще - ты должен понимать, что там происходит хотя б в общий чертах). И немножко даже Devops. На Миддла не замахивайся, конечно, но как продвинутый джуниор - можешь претендовать и показывать всем свой крутой сервис погоды :)
Можешь по вкусу добавить пользователей, сессии, OAuth, JWT авторизацию и т.д. Тут уж главное - не сдерживать себя :-)

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

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

Худший ответ:
Монитор и комп воткнуты в один и тот же "пилот"? Этот пилот с контактами заземления?
Как вариант перевернуть вилку в розетке у системника.
Вопрос: Как справиться с синдромом самозванца на новом месте?

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

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

Лучший ответ:
Почитайте про CQRS и DDD .

Худший ответ:
Сегодня я задумался разделять модели на 4 части (PostCreatedModel, PostUpdatedModel, PostDeletedModel, PostFindModel). Мне кажется, что в будущем так будет легче расширять код. Или лучше не дробить модель на части? Кто что думает об этом? :) это бред, возникший в пьяном угаре.
Полное непонимание МВС.
Модель - одна. Всегда. Это класс, отожествляемый с предметом реального мира (Товар, Сервер, Строение) или абстрактной сущностью, необходимой для решения задачи  (Заказ,  Доступ, Роль и тд).

Операции с моделью выполняет другой слой. В классических фреймворках - это реализация паттерна ActiveRecord, внедренная разработчиками фреймворка в саму модель, ЧТО СОЗДАЕТ ИЛЛЮЗИЮ, ЧТО МОДЕЛЬ - ЭТО ВСЕГО НАВСЕГО ДРАЙВЕР К БД. Это в корне не верно. Есть другие схемы, например Data Mapper, когда модель не умеет сама себя CRUD-ить, а передается в качестве "аргумента" в независимую от неё структуру классов. Но сути это не меняет:

Никаких  PostUpdatedModel быть не должно, модель ВСЕГДА одна.
Как она заносится в БД, обрабатывается и КТО выполняет эти операции - диктует, как правило, архитектура конкретного фреймворка. Надо просто смотреть документацию и примеры.
Вопрос: Как правильно присвоить локальное значение переменной в C#?

Лучший ответ:
float result;

Если пользователь введет в качестве операции не что-то с { +, -, *, / } - выйдет неопределенное поведение т.к. result будет не инициализирован в момент
string value = $"Результат: {result}";

Либо делайте
float result = 0f;

Либо (что правильней) - не допускайте возможности такой ситуации вообще
if (o == "+")
                {
                    result = add(f, s);
                }
                else if(o == "-")
                {
                    result = subtraction(f, s);
                }
                else if(o == "*")
                {
                    result = multiplication(f, s);
                }
                else if(o == "/")
                {
                    result = division(f, s);
                }
                else
                      throw new Exception($"Unexpected operation '{o}'");

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

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

Худший ответ:
Я бы посоветовал взять один из популярных ЯП python, c# да хоть руби. Популярный что-бы было у кого спросить на stackoverflow или на тостер и просто пробовать писать программы типо 'угадай число' или ты вводишь имя а программа приветствует тебя, потом из этих маленьких кусочков будут получаться более сложные вещи. Всяких туториалов в ютубе много. И на счёт алгоритмов и структур - ведь вначале за это не нужно заморачиваться, нужно просто радоваться от рабочих программ, которые будут все сложнее и сложнее, а потом наступит момент, когда вы поймёте, что нужно и алгоритмы подтянуть, но к этому уже будет осознанный подход.
Вопрос: Как начать писать сайт на чистом Python без фреймворков?

Лучший ответ:
Изучаешь CGI, WSGI и ASGI, создаёшь файл и пишешь код в соответствии с полученными знаниями.

Худший ответ:
отсюда
если все понимаешь - вперед
если нет и опять тянет к ПХП - лучше начни с фреймворков
Вопрос: Почему скорость, измеренная speedtest.com и yandex.ru/internet отличается втрое?

Лучший ответ:
Почему скорость, измеренная speedtest.com и yandex.ru/internet отличается втрое?А почему поезд из  Москвы до Владивостока идет дольше чем до Новосибирска?

В одном случае вы измерили скорость до одного из серверов яндекса
В другом случае вы измерили скорость до одного из серверов  speedtest.com
Выберите любой другой сервер - и скорость будет другая.
Логично?

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

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

Худший ответ:
а если без модулей, то мне удалось через globals().items():
class Test:
	def GetName(self):
		for i, j in globals().items():
			if j is self:
				return i
Вопрос: Законно ли использование неактивированной Windows 10?

Лучший ответ:
Незаконно.
И пробного периода в Windows 10 нету.
5. Авторизированное программное обеспечение и активация.
Вы имеете право использовать данное программное обеспечение, только если у вас имеется соответствующая лицензия и программное обеспечение было должным образом активировано с использованием подлинного ключа продукта или другим разрешенным способом.
https://www.microsoft.com/en-us/Useterms/Retail/Wi...

Худший ответ:
Законно ли использование неактивированной Windows 10?Да.
Закон не обязывает вас активировать Windows.

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

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

Худший ответ:
Дизайнеру важно хоть что-то понимать в программировании. Реальность такова, что дизайнеров раздражают разработчики главным образом потому, что они не понимаем их мир. То же самое касается и непонимания разработчиками дизайна - дизайнеров они тоже недолюбливают. Вот хорошая статья на эту тему
Вопрос: Почему пустой вывод в PDO запросе?

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

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

Лучший ответ:
messages.pin в документации.
message_id=ID сообщения которое хотите закрепить, оно есть в объекте сообщения называется: message_id.

Худший ответ:
Маловато конкретики в вопросе.
Вопрос: Bash-script — SSH подключение?

Лучший ответ:
можно установить sshpass и с ним писать скрипт.
Или на expect написать обработчик

Худший ответ:
да без проблем десяток строк кода
https://www.shellhacks.com/ru/ssh-execute-remote-c...
так моно подключиться
соответственно вам нужно сделать цикл в котором вы будете бежать по этим файлам и выполнять команду.
вот пример цикла.
Тут я захожу в бд получаю список баз и каждую из них  отдельно бэкаплю. 
for i in `mysql -uroot -pпароль -e'show databases;' | grep -v information_schema | grep -v Database`; do mysqldump -uroot -pпароль $i > /var/backup/mysql/$i/`date +%Y-%m-%d`-$i; gzip /var/backup/mysql/$i/`date +%Y-%m-%d`-$i;done
grep -v - исключает из массива
Вопрос: Почему сайт индексирует Яндекс, но не индексирует Google?

Лучший ответ:

Добавить сайт в Google Search Console
Подключить гугл аналитику
Мой сайт гугл не хотел индексировать, пока не закупил несколько ссылок в статьях на тематических сайтах. Хотя это, возможно, совпадение, потому что ссылок купил штук 5-7 всего
Заметил, что если на странице мало текста (меньше 2 000 символов), то гугл тоже индексируют плохо
Есть подозрение (не уверен), что яндекс индексирует русскоязычные сайты быстрее, потому что ориентирован на страны СНГ

Кстати, а сколько вы уже ждете индексацию? Может, гугл еще просто не успел ваш сайт обойти

Худший ответ:
Добавили свой сайт в google search console? Если нет, добавьте.
Вопрос: Нужно ли проверять каждое обращение к БД на php?

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

Большинство складывателей букв на РНР об этом не задумываются вообще, и очень хорошо что тебе пришел в голову этот вопрос. А ответ на него очень простой:

Проверять обращения к БД не нужно вообще
(за исключением нескольких специальных случаев, когда есть определенный сецнарий обработки ошибки)
Если же такого сценария нет, то никак проверять не нужно. Просто потому, что обращения к БД ничем не отличаются от любого другого кода. 
И поскольку ты не проверяешь каждый include или там оператор деления, то не нужно и проверять запросы к БД. Их надо оставить в покое. И первый, и каждый по отдельности, и все 5 разом. 

А вот что нужно сделать - это договориться с РНР, чтобы он сам сообщал тебе об ошибках в запросах.  Для mysqli надо написать перед коннектом 
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
Для ПДО при соединении выставить в настройках соединения

PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION

Всё. Больше ничего для обращений к БД делать не надо.

А вот обработчик ошибок, общий для всего кода, а не только для работы с БД, настроить желательно.
Чтобы  AJAX-скрипт подписки получал соответствующий НТТР статус при любой ошибке, которая может возникнуть на сервере. 
Ну и разумеется  AJAX-скрипт подписки должен проверять НТТР статус, и обрабатывать ответ только если статус= 200
Пример обработчика можно посмотреть здесь

Если же надо убедиться, что все пять запросов выполнились без ошибок,  то для таких целей служат транзакции.
Суть транзакции именно в том, что либо выполнияются либо все запросы, либо ни одного.
Если заключить все 5* запросов в транзакцию, то если при выполнении одного из них произойдет ошибка, то изменения, сделанные остальными, автоматически откатятся!

*На самом деле в транзакцию имеет смысл заключать только запросы, изменяющие данные. То есть все, кроме первого.

Соотсветственно, если ПДО настроен на выброс исключений, то при ошибке запроса
- пдо выбросит ислючение
- которое будет поймано обработчиком ошибок
- который выведет код ошибки и завершит работу РНР скрипта
- при завершении скрипта РНР закроет соединение с БД
- БД при закрытии соединения автоматически откатит незавершенную транзакцию

причем без обработчика ошибок будет всё то же самое, только клиенту уйдет код не 500 а 200

то есть для того чтобы убедиться в том что все запросы выполнились корректно, надо

1. выставить для ПДО режим исключений
2. перед первым запросом написать $pdo->begin();
3. после последнего запроса написать $pdo->commit();

Худший ответ:
1 и 2 делаются одним запросом к таблице подписки_пользователей с уникальным ключом (кто, на_кого). 
3 и 4 делаются триггером AFTER INSERT.
Проверка необходимости в 5 делается проверкой количества добавленных строк после запроса.
Итого, один запрос к БД, который может вернуть ошибку только при технической ошибке доступа к базе данных, при которой, IMHO, лучше выбросить исключение.
Вопрос: Через что взламывают сайты?Применяется ли JavaScript?

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

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

Лучший ответ:
Ну смотри. У меня 10 серверов на убунте. Зачем мне твои знания по фряхе и нетбсд?

Худший ответ:
Ну, давай начнем с того, что Unix-а как такового не существует, есть его потомки в виде BSD-подобных и пара дистрибутивов, которые показывают тебе "тот самый" UNIX - но они скорее для ознакомления и разработки, нежели для прода.
С Linux на самом деле все просто, есть дистрибутивы Enterprise уровня и есть сертификация специалистов. Я тебе спокойно назову двух вендоров, у которых есть коммерческий линь (RHEL и SUSE) и курсы + экзамен, чтобы проверить/повысить компетенцию сотрудника, а вот по BSD ничего подобного не встречал.
Вопрос: Надо ли выключать роутер на ночь?

Лучший ответ:
Ничего не случится, конечно.

Худший ответ:
Если роутер безпроводной, то стоит выключить. Сон будет лучше и приятнее, и здоровье лучше.
О негативном воздействие думаю все наслышаны.
Вопрос: Используете ли вы Visual Studio Code для профессиональной разработки на Python?

Лучший ответ:
Да - используем.

Худший ответ:
Для небольших проектов использую. Так же удобно для Remote разработки (когда исходники и запуск на удаленной машине через ssh), PyCharm такого не умеет.
Вопрос: Как найти подмену в кириллице на латинские?

Лучший ответ:
Регуляркой [Аа-Яя] [Aa-Zz]

Худший ответ:
$text = "Привeт, как делa? (жирные выделил замененные на латинские)";

function detect_unicode($text)
{
	$out = "";
	$flag = false;

	for($i = 0; $i < strlen($text); ++$i)
	{
		if(mb_check_encoding($text[$i], 'UTF-8') && !preg_match('/([^a-zA-Zа-яА-Я])$/u', $text[$i]))
			$out .= "<b>$text[$i]</b>";
		else
		{
			$out .= $text[$i];
			$flag = true;
		}
	}

	return $flag ? $out : $text;
}

echo detect_unicode($text);
Вопрос: Как отслеживать все AJAX запросы посланные из IFRAME / перехват AJAX запросов?

Лучший ответ:
Никак. Браузер не тупой.

Худший ответ:
плагином в браузере, каким-нибудь tempermonkey инжектите свой скрипт в чужой сайт, зменяете их метод ajax или чем они шлют и смотрите
Вопрос: Пожалуйста покажите пример кода JavaFX (графический интерфейс ) и java под web в чем разница?

Лучший ответ:
Эта тема исчерпывающе описана в книге "Чистая архитектура" Роберта Мартина. В частности, глава 21 посвящена тому, что архитектура приложения никак не связана с платформой запуска и используемым фреймворком.
По поводу "переучиваться между десктопом и вебом" - звучит, как "переучиваться между отверткой и молотком".  Придется ли освоить новые инструменты? Безусловно. Но это не значит, что уже освоенный багаж знаний станет обузой. И десктоп, и веб, и мобильная разработка имеют некий общий знаменатель. А детали реализации рано или поздно заменяют друг друга, даже в пределах одной платформы.

Худший ответ:
Разница во всём. Там не только пакеты другие, там даже архитектурные принципы другие. Каноничный пример web-приложения на Spring - PetClinic. Оно же для JSF+EJB.
Вопрос: Можете ли вы посоветовать IDE для вёрстки и разработки проектов на PHP по моему описанию?

Лучший ответ:
По поводу вот того "красивого" промолчу, эстетика - штука субъективная все-таки. А по функциональности и дебагу - только PhpStorm. Без вариантов. Не обсуждается.

Худший ответ:
Visual Studio CodePHP DebugXdebug
Надо настраивать и убедиться, что работа проекта и дебаг проходят на одной версии пхп. Если с этим плохо, то плати денежку за PHPStorm.
Какая-то инструкция на русском https://habr.com/ru/post/310708/
Вопрос: Какой Браузерный движок лучше использовать для парсинга страницы, получаемой в результате обработки JS?

Лучший ответ:
Сделать надстройку над Headless Chromium

Худший ответ:
Сделать надстройку над Headless Chromium
Вопрос: Почему много людей в IT недовольны своей работы?

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

Худший ответ:
НО меня поражают люди которые имея большой опыт в IT отговаривают всех сюда идти
когда люди видят рекламу курсов с заработком от $1000 (откуда вообще цифра, хз) за создание сайтов на вордпрессе, начинают думать что так и есть, начинают толпами изучать вордпресс и чесать в вайти, и что у мамкиной подруги сын программист он машину купил (а машина в кредит на 10 лет). а те, кто отгаваривают - правильно делают, потому что и так понаплодили "программистов на html", которые сидят на месте и не развиваются, и отправляют отклики за еду на фрилансе (в среднем наблюдаю около 20-ти откликов на создание сайта), в следствии чего русскоязычный фриланс стал помойкой. и такая ситуация не только в сфере программирования, также в сфере таргетинга и еще в многих других сферах.
Вопрос: Как перебрать все текстовые узлы на странице?

Лучший ответ:
через TreeWalker брал бы только NodeFilter.SHOW_TEXT – текстовые узлы

Худший ответ:
(node_text.includes('хуй'))
Нельзя так делать.
У тебя будет ошибка на словах "Хуйхуа", "подстрахуй меня" и прочее
Вопрос: Как сделать доступ к dns сети docker из хоста?

Лучший ответ:
нужен какой то сервис-дискавери, в котором будут регистрироваться запущенные контейнеры, а также который умеет быть DNS сервером.  
Consul на хосте, и consul-registrator в докер.

Худший ответ:
Вот тут  https://dev.to/karlredman/resolve-docker-hostnames... есть пример использования  dns-proxy-server, но сам не пробовал.
Consul,  как посоветовал Дмитрий, более популярен.
Вопрос: Кикие библиотеки изучать для написание программы с интерфейсом?

Лучший ответ:

но вот как это все за программировать без понятия



основы C# неплохо освоил


Несостыковочка. Джедайский путь направит вас

Худший ответ:
Лучше используйте WPF. Тут руководство с примерами
P.S. В частности начните с разделов 3,4,6, 15(если работали с бд, если не работали начинайте учить  прямо сейчас), 20
Вопрос: Как правильно создать массив строк?

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

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

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