Всё про Алгоритмы и Структуры данных
7.8K subscribers
342 photos
36 videos
5 files
3.09K links
Мы не претендуем на оригинальность контента, мы лишь собираем материал из открытых источников.

Ссылка: @Portal_v_IT

Сотрудничество, авторские права: @oleginc, @tatiana_inc

Канал на бирже: https://telega.in/c/structuredata
Download Telegram
Как бигтехи кошмарят вас на собеседованиях

Успешно пройти секцию по профильным хардам, но смачно опозориться на логической задаче с часами? Классика бигтеха

Автор этой истории побывал на собесе в ❤️ и рассказал всю правду о клоунаде, которая там происходила

Вита Заебумба | Путь корпората — топовый канал про IT, сферу найма, трешовые собесы и работу в корпорациях. Просто кладезь кулстори не только от автора, но и от подписчиков

Истории, которые уже успели стать бестселлером:

Поймала интервьюеров за руку на собесе в Ягодках 🛍
Что будет с рынком найма в 2026 году + полезные материалы
Эффект Писюхи, или как я столкнулась с эйджизмом в найме
Aston, разлогинься, или как продать свою жопу в рабство
Если твой руководитель ведет себя так, беги оттуда

Но тут не только про поржать. Здесь вы узнаете:

🔹Как писать резюме так, чтобы вас звали, а не морозили
🔹Что вообще происходит с рынком
🔹Как обойти 90% кандидатов
🔹Как не продешевить и не выйти с собеса с чувством, что вас поимели

Подписывайтесь на @vitazaebymba
Please open Telegram to view this post
VIEW IN TELEGRAM
Как я пытался сделать идеальный нечёткий поиск (и почему в итоге пришлось писать 5 уровней скоринга)

Недавно я рассказывал на Хабре про архитектуру своего пет-проекта — клипборд-менеджера Beetroot на стеке Tauri + React + Rust + SQLite. В комментариях тепло приняли отказ от прожорливого Electron и систему бэкапов БД, но за кадром осталась, пожалуй, самая алгоритмически болезненная часть разработки десктопной утилиты — поиск.

В моей ежедневной базе 1000+ записей: куски кода, URL-ы, стектрейсы, SQL-запросы, переписки из мессенджеров. Поиск по всему этому должен работать мгновенно и попадать точно в цель.

Сначала я пошёл по простому пути: подключил популярную библиотеку Fuse.js и думал, что задача решена. Но реальные данные буфера обмена оказались для неё патологическим кейсом.

Эта статья — про путь от «просто подключи готовую либу» до самописного 5-уровневого движка с мерж-скорингом. Два дня, 8 итераций, пара красивых продуктовых багов по дороге.

https://habr.com/ru/articles/1010086/

Алгоритмы и Структуры данных
ChatGPT 5.4 Pro: обзор, бенчмарки, сравнение

Помните, как пару лет назад мы восхищались тем, что нейросеть может написать связный абзац? А год назад – что она осилила код без синтаксической ошибки? Сегодня планка взлетела так высоко, что уникальные способности моделей превращаются в стандартный пакет услуг.

OpenAI выкатила GPT‑5.4 Pro. И если раньше слово “Pro” в названии часто означало просто “чуть больше токенов и подороже”, то теперь это действительно профессорский уровень. Модель берёт сложнейший тест ARC-AGI-2 с результатом 83,3% (против 54% у предшественницы), решает задачи из FrontierMath, которые ещё недавно казались крепостью для ИИ, и... случайно находит в интернете забытую научную статью 2011 года, чтобы срезать путь к ответу.

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

https://habr.com/ru/companies/bothub/articles/1011040/

Алгоритмы и Структуры данных
🔥1
Можно ли торговать, не анализируя рынок? Небольшое исследование

Я иногда наблюдаю за людьми которые зарабатывают на рынке. Достаточно часто они выкладывают годовые результаты или даже налоговые отчёты с миллионными выплатами. И при этом все в основном стесняются рассказывать о своих стратегиях даже чуть‑чуть. Правда это вполне естественно, ведь если стратегия приносит деньги зачем о ней говорить?

Правда и то, что со стороны других людей (не наших многомиллионных героев) ситуация может выглядеть по‑другому.

Представьте детский сад. Один ребёнок приносит коробку конфет. Он её открывает. Показывает всем. Но делиться не собирается.

https://habr.com/ru/articles/1010348/

Алгоритмы и Структуры данных
В заповедной Карелии, среди сотен озёр и густой северной тайги, на берегу Онежского озера расположился бутик-отель "Заонежье".

Здесь архитектура деликатно вписана в ландшафт: фасады из северного дерева и лемех отражают традиции Русского Севера.
Каждое окно обращено к воде, позволяя бесконечному озёрному горизонту стать частью интерьера.
Тринадцать видовых номеров и четыре гостевых дома с дровяными каминами создают атмосферу приватности и спокойствия, а ресторан "Руна" предлагает авторскую гастрономию из локальных продуктов.
Пространство отеля продумано для размеренного отдыха: пирс, панорамный зал, экотропы и уединённые места для медитации среди леса.

Гостям доступны путешествия к острову Кижи, рыбалка, прогулки на каяках,запах и катерах, велосипедные прогулки, и тишина бескрайних пейзажей.

Проект отмечен международными и российскими архитектурными премиями, включая победы в LIV Hospitality Design Awards, Archiwood, ADD Awards и Rethinking The Future Awards.

Бутик- отель "Заонежье" предоставляет возможность почувствовать природу в её первозданной тишине и гармонии, при этом сохранить привычный комфорт.
2
Множество Мандельброта. Суперсэмплинг 8x8 (64 прохода) — впервые в мире

Вот так. Впервые в мире. Суперсэмплинг (SSAA) — ресурсоемкий метод сглаживания, увеличивающий число выборок на пиксель для повышения качества изображения. При значении 8x (N=8) сцена рендерится в разрешении, в 8 раз превышающем целевое, по обеим осям, создавая 64 (или 8 х 8) выборки на пиксель. Изображение просчитывается в более высоком разрешении, а затем принудительно уменьшается до разрешения дисплея, устраняя лесенки и улучшая чёткость. Это очень высокая нагрузка! Это не 1920 на 1920 пикселя а в 8x8 больше - 15360 на 15360 пикселя! Такое никто, кроме меня, делает в мире. Для множество Мандельброта.

https://habr.com/ru/articles/1010052/

Алгоритмы и Структуры данных
Две скрученные фигуры разрешают многовековую топологическую загадку

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

Представьте, что наше небо всегда покрыто толстым слоем непрозрачных облаков. Не имея возможности увидеть звезды или рассмотреть нашу планету сверху, узнали бы мы когда-нибудь, что Земля круглая?

Ответ — да. Измеряя определённые расстояния и углы на поверхности Земли, мы можем определить, что Земля — это сфера, а не, скажем, плоская или кольцеобразная фигура, — даже без спутникового снимка.

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

https://habr.com/ru/companies/first/articles/1010700/

Алгоритмы и Структуры данных
Множество Мандельброта. Суперсэмплинг 2x2 (4 прохода). DwmFlush — синхронизация с монитором 60 fps

Множество Мандельброта. 80-бит FPU x87. OpenMP - параллельным программированием на уровне многопоточности. Синий, зеленый и красный - синусоидальными и косинусоидальными волнами: 127 + 127 cos(2 PI a / 255) и 127 + 127 sin(2 PI a / 255). DwmFlush - синхронизация с монитором 60 fps. Суперсэмплинг 2x2 (4 прохода). Делал я. Посмотрите - движется! Я сделал на g++. Свободно распространяемого компилятора языка C++. Скачайте и посмотрите! Это экзешник, в ГитХаб.

https://habr.com/ru/articles/1011430/

Алгоритмы и Структуры данных
Как я ускорил Python-скрипт в 42 раза, убрав один незаметный цикл

Иногда тормоза в коде выглядят как что-то сложное: тяжёлые алгоритмы, огромные базы данных, медленный диск. Но чаще всё намного банальнее — один неудачный цикл, который выполняется миллионы раз.

Недавно я столкнулся именно с такой ситуацией. Нужно было обработать большой лог-файл — около 8 ГБ — и извлечь из него статистику по пользователям. Скрипт работал почти 9 минут, хотя логика казалась предельно простой.

https://habr.com/ru/articles/1011582/

Алгоритмы и Структуры данных
Lattelua — когда Lua уже мало

Если вы хоть раз встраивали Lua в свой проект — будь то игровой движок, высоконагруженный веб-сервер на OpenResty или конфигуратор сложного сетевого оборудования — вы знаете, за что мы его любим:)
А любим мы его — за компактность, быстроту, встраиваемость и предсказуемость. Не любим — за аскетичный синтаксис, отсутствие привычных конструкций и постоянное «изобретение велосипеда».

Эта статья — обзор диалекта Lattelua: зачем он нужен, чем отличается от других диалектов, и почему его особенно удобно использовать в уже существующих проектах, где Lua — встраиваемый язык.

https://habr.com/ru/articles/1011614/

Алгоритмы и Структуры данных
Сложные вычисления — в минимальном объёме памяти

По закону Мура плотность транзисторов на микросхеме удваивается каждые 24 месяца. Производительность CPU, GPU, TPU и NPU растёт уже несколько десятилетий, что привело нас вплотную к задачам эмуляции мозга и Сверхинтеллекта.

https://habr.com/ru/companies/ruvds/articles/1011548/

Алгоритмы и Структуры данных
Не биты, а тетраэдры: как я построил геометрический движок состояний и ускорил точную задачу в 555 раз

Мы привыкли думать о вычислениях как о битах, регистрах и арифметике. А что, если базовой единицей вычисления сделать не бит, а локальную геометрическую конфигурацию тетраэдров? В этой статье я покажу дискретный тетраэдрический движок состояний, симметрийную канонизацию, аттракторы, иерархические jump-таблицы и реальные замеры на RTX 3090 — с измеренным exact-ускорением в 554.92 раза на одной и той же задаче.

https://habr.com/ru/articles/1011646/

Алгоритмы и Структуры данных
Последний экзамен человечества: насколько «умен» ИИ?

Отличительной особенностью научного подхода является отсутствие веры на слово. Любое утверждение не может считаться фактом, пока не будет установлена его истинность. А для этого необходимо задать множество вопросов, провести множество измерений, тестов, моделирований и т. д. Все, что есть во Вселенной, осязаемое или нет, может быть в той или иной степени измерено. Не исключением являются знания, которые проверяются как в школах, так и в университетах с помощью специально составленных экзаменов. С появлением генеративных ИИ не утихаю дебаты об уровне их знаний и достоверности той информации, которую они выдают на запрос. Те тесты, которые ранее считались показательными, более не могут полноценно оценить ИИ. По этой причине ученые из Техасского университета A&M (Колледж-Стейшен, Техас, США) разработали «Последний экзамен человечества» - всеобъемлющий текст знаний по различным направлениям для ИИ. Из каких вопросов состоял тест, и как себя показали самые популярные генеративные ИИ? Ответы на эти вопросы мы найдем в докладе ученых.

https://habr.com/ru/companies/ua-hosting/articles/1011190/

Алгоритмы и Структуры данных
Нескучное программирование. Обобщения (ч.2)

Это не отдельная статья, а продолжение статьи про теорию объектов в с++, почему объекты в плюсах такие какие есть. Все завершенные главы я также выкладываю на github'e в английском и русском варианте. Продолжаем разбираться в теории С++...

Отдельного разговора заслуживает идентичность объектов, потому что в реальном мире конкретные сущности обладают идентичностью и Сократ останется Сократом независимо от того, перекрасил ли он волосы, сменил адрес или умер, а государство остаётся тем же государством, даже если меняет флаг, конституцию или размер населения.

https://habr.com/ru/articles/1011012/

Алгоритмы и Структуры данных
Почему Python + Numba обгоняет C? Эксперимент с алгоритмом прогонки

Все знают: если нужно быстро считать – пиши на C. Python – для прототипов, но в продакшене он тормозит. Однако с появлением NumPy и JIT-компиляторов (Numba) границы стираются. Более того, в некоторых случаях Python может даже обогнать наивную реализацию на C.

https://habr.com/ru/articles/1012122/

Алгоритмы и Структуры данных
Умножение матриц: пример использования расширения ARM SME2 в Apple M4 Pro

В конце 2020 года я купил MacBook Pro 13 на процессоре Apple M1, очень хотелось испытать процессоры на архитектуре ARM. Почти сразу на чипе Apple M1 был найден вычислительный блок для матричных операций Apple AMX. Для Apple AMX не было документации, он не использовался в Apple Accelerate, но несколько энтузиастов занимались реверс-инжинирингом и анализом производительности ("https://github.com/corsix/amx").

В 2024 году вышли компьютеры на базе семейства процессоров Apple M4, у которых блок AMX задействован для выполнения инструкций из Scalable Matrix Extension 2 (сайт ARM недоступен в РФ) (ARM SME2).

В статье рассмотрим использование расширения ARM SME2 на примере умножения заполненных матриц. Увидим, как выжать максимум из процессора и получить прирост производительности в десятки раз.

https://habr.com/ru/articles/1012528/

Алгоритмы и Структуры данных
Бродим по лабиринту

Оптимизация поиска выхода из лабиринта представляется относительно простой задачей. Но она подразумевает накопление данных, обучение, если угодно.
Как только возникает потребность накапливать данные, стоит исходить из того, что этих данных станет много и придётся прибегнуть к технологиям из области баз данных.
Здесь представлена робкая попытка разобраться в теме.

https://habr.com/ru/articles/1013192/

Алгоритмы и Структуры данных