Как стать автором
Обновить
4
0.2
Александр @Question_man

Пользователь

Отправить сообщение

Популярные задачи для собеседований бэкенд-разработчиков на Go и их решения

Время на прочтение7 мин
Количество просмотров56K

Я живу в Ташкенте, и когда учился в университете — начал учить Python, чтобы писать ботов. Боты — это узбекский хлеб, у нас на них построено вообще все. Например, никто не делает приложения для заказа еды, все только в мессенджерах. 

Я учил язык по статьям из интернета — просто брал каркас и дальше дописывал, смотрел где что падает, постоянно решал задачи на leetcode. Писал я тогда ужасно, но что было, то было. Мне нравилось, но чем больше я углублялся, тем сильнее раздражали скорость выполнения, ограничения параллелизма и динамическая типизация.

Тогда я решил попробовать Go.

Читать далее
Всего голосов 36: ↑29 и ↓7+31
Комментарии17

Java Digest #18

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров3K

Всем привет! 👋 👋 👋 👋 Мы — Java-разработчики Т-Банка: Андрей, Арсений, Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом.

В этом выпуске обсуждаем последние обновления в экосистеме Java и популярных инструментах для разработчиков — от уменьшения размера хедеров объектов и новых API для файлов классов до новинок в IntelliJ IDEA. Делимся полезными статьями и видео об ускорении сборок, работе с JPA и Elasticsearch и даем рекомендации по разработке собственного Kafka Connector. Не пропустите интересные подкасты и практические примеры! 

Читать восемнадцатый выпуск
Всего голосов 23: ↑22 и ↓1+22
Комментарии0

486-го хватит всем

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров59K

В конце технического интервью, если кандидат ответил на вопросы и справился с задачами, у нас есть время для свободных вопросов, которые можно задать команде или кому-то из интервьюеров. Эту практику я переносил из компании в компанию, и она всегда помогала разрядить обстановку или вывести человека на разговор, если он был напряжен во время общения. Вопросы могут быть любые, кроме личных или тех, что под NDA. Обычно кандидаты задают технические вопросы по стеку, пайплайнам, иногда пытаются задать каверзные вопросы, особенно по плюсам, чтобы проверить нас. Иногда мы не можем ответить на них. Вопросы в стиле Google — например, «почему таблетки круглые?» — тоже встречаются, но недавно на одном из интервью прозвучал вопрос, на который вроде все и знали ответ, но никто сразу не смог его дать. Вопрос звучал так: «Какие общие технологии и решения появились в процессорах с времён 486, которыми мы часто пользуемся?»

Вопрос действительно интересный — что нового появилось, чем мы пользуемся каждый день? Что умеют современные процессоры, чего не могли процессоры год или два назад, пять или десять лет назад, сорок лет назад? Мы просто используем миллиарды транзисторов, даже не зная, как они работают. Покопавшись в Википедии, на сайте Агнера Фога и в документации Intel, я составил список того, что появилось и используется в современных процессорах. Всё, что указано ниже, относится в основном к x86 и консолям, если не указано иное. Поскольку консоли после третьего поколения PlayStation — фактически ПК с минимальными отличиями, речь дальше пойдёт в основном о ПК. История имеет склонность повторяться, и многое из того, что мы сейчас имеем, вводилось не один раз, просто под разными названиями.

Читать далее
Всего голосов 104: ↑103 и ↓1+140
Комментарии208

Причуды отрицательного времени

Время на прочтение9 мин
Количество просмотров11K

В декабре 2021 года я опубликовал в этом блоге статью «Большой Взрыв и песочные часы или куда на самом деле течет время», собравшую несколько десятков комментариев и более 39 тысяч просмотров. В ней я коротко рассказал о том, какие математические и космологические модели допускают существование вселенной-близнеца, которая после Большого взрыва развивается по оси времени в противоположном направлении от нашей Вселенной. Теперь я вернусь к этой теме и расскажу, какое место в современной картине мира занимает феномен «антивремени», и как он связан с физической несимметричностью наблюдаемой Вселенной. Существует три наиболее явных аспекта такой несимметричности.

Читать далее
Всего голосов 44: ↑41 и ↓3+57
Комментарии17

Уменьшать срок или платёж, что выгоднее: наглядное сравнение способов досрочного погашения кредита

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров107K

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

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

Читать далее
Всего голосов 112: ↑102 и ↓10+117
Комментарии330

Производные дробного порядка и экспоненциальная производная

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров11K

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

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

Если продифференцировать функцию - то получится её производная. Если сделать это дважды - получится вторая производная. Но если ли что “между”? Конечно же есть, и именно про такие объекты написана эта статья.

Читать далее
Всего голосов 41: ↑40 и ↓1+55
Комментарии15

Числа с фиксированной запятой для NES/DENDY

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров6.4K

Консоль Dendy в первую очередь ассоциируется с относительно простыми играми (Super Mario Bros, Duck Hunt, Battle City и т. д.), которые обычно не требуют сложных расчётов и обходятся целочисленной математикой. Но как только нужно сделать трёхмерную графику или сложную физику, сразу появляется потребность в точных вычислениях и дробных числах.

Самым простым и быстрым способом программного представления дробей являются числа с фиксированной запятой (Fixed‑point числа). О реализации такой арифметики для NES/Dendy мы и поговорим.

Читать далее
Всего голосов 23: ↑23 и ↓0+37
Комментарии20

Зарубежная банковская карта в 2024: где оформить онлайн, сколько стоит, как пополнять?

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров68K

Привет, Хабр! Меня зовут Мила, когда‑то я работала аналитиком в банках, а нынче делаю авторские туры в Африку. По работе мне постоянно приходится отправлять деньги за границу, оплачивать отели, трансферы, билеты онлайн и оффлайн.

Хочу поделиться опытом оформления одной конкретной карты банка Казахстана. Данный банк, опасаясь санкций, публично отрицает возможность открытия счетов для нерезидентов ОНЛАЙН. Поэтому помогающие конторы стараются не ссылаться на реальное название банка, а заменять его на псевдонимы: «зелёный банк», «свободный банк», «банк воландеморт». Так что тссс! мы все понимаем, что король голый, но вслух ни‑ни.

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

Итак, поехали.

Читать далее
Всего голосов 63: ↑49 и ↓14+44
Комментарии120

Транзакции в БД на Go с использованием многослойной архитектуры

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров7.2K

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

Однажды, я столкнулся с инцидентом на проде и обратился за помощью к самому опытному инженеру. Он пришел на помощь и с легкостью изменил значение в БД с помощью... ручного обновления. 🤯 Проблема заключалась в том, что набор SQL-обновлений не был выполнен внутри транзакции.

Работа в новой компании — это всегда увлекательно. Я осознал, что даже если какой-то аспект кажется простым, например, SQL-транзакции, его легко упустить из виду.

SQL кажется чем-то, что мы все хорошо знаем, и мало чем может удивить. (Ему уже 50 лет!) Возможно, пришло время пересмотреть подходы, так как мы уже прошли фазу хайпа по поводу NoSQL, и снова возвращаемся к “используйте просто Postgres”, а иногда и к “SQLite тут за глаза”.

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

Основной принцип многослойной архитектуры заключается в разделении критически важных частей кода (логики) от деталей реализации (например, SQL-запросов). Одним из способов достижения такого разделения является паттерн «Репозиторий». Однако, наиболее сложным аспектом такой архитектуры является обработка транзакций.

Читать далее
Всего голосов 14: ↑13 и ↓1+15
Комментарии10

Интегральные резисторы или О чем молчат в спорах про проектные нормы

Уровень сложностиСредний
Время на прочтение20 мин
Количество просмотров13K

Споры про проектные нормы, их необходимость или ненужность, их реалистичность и сравнение между собой нанометров разных фабрик всегда были частью микроэлектронного коммьюнити. В России эти споры еще острее, потому что в ход идут доводы про импортозамещение, технологическую независимость и много других очень важных и умных слов. В этих разговорах, правда, постоянно упускается, что размеры транзисторов действительно критичны только для современных цифровых микропроцессоров, а вот для других классов микросхем, “где тонкие нормы не нужны”, техпроцесс должен обладать рядом других полезных свойств, помимо факта своего наличия, чтобы быть нужным и успешным. В разработку и обновление “устаревших” техпроцессов фабриками вкладываются существенные деньги, и более навороченный "толстый" техпроцесс – серьезный довод для разработчика уговаривать начальство сменить фабрику для нового проекта.

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

Правильно, ничего! Но есть нюансы.
Всего голосов 101: ↑101 и ↓0+131
Комментарии18

Как цифровые наркотики мешают мне нормально мыслить и достигать своих целей

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров20K

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

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

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

Кто-то назовёт ситуацию привычным словом «прокрастинация», однако проблема гораздо глубже. Она связана с культурой производства аддиктивных цифровых продуктов. Продукты, вызывающие доверие, интерес, любовь и комфорт у пользователей которые хороши для кратного ежегодного роста стартапов, но наносят критический вред наиболее экономически активной части населения. О том, что они делают с детьми, у которых не сформированы навыки критического мышления мне даже страшно задумываться. Я искренне считаю, что наряду с развитием искусственного интеллекта, который уже отлично умеет выявлять наши слабости и глубинные потребности, развитие технологий в перспективе пары десятков лет приведёт нашу цивилизацию к идеокртии. Это будет странный мир, общество разделится на две части — цифровые наркоманы и люди, отрицающие продвинутые технологии. И я не могу с уверенностью сказать, в какой из этих групп мне самому хотелось бы оказать. Наверное, эта статья является чем-то вроде манифеста.

Читать далее
Всего голосов 72: ↑65 и ↓7+69
Комментарии74

Выгодоприобретатели блокировки Youtube

Время на прочтение18 мин
Количество просмотров179K

Недавно возникшая тема с блокировкой (замедлением) Youtube коснулась практически каждого жителя РФ. При этом до сих пор нет ни одного прямого официального заявления о причастности к этой блокировке. Ни одно государственное ведомство не созналось в блокировке, открестился Google, открестились провайдеры интернета. На этом фоне мне показалось важным не только выявить и указать всех причастных, прямых и косвенных, но и установить, кто и в каком отношении является выгодоприобретателем от этой блокировки. Выявить, о каких денежных потоках идет речь и куда они в конечном итоге идут.

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

Читать далее
Всего голосов 417: ↑400 и ↓17+458
Комментарии452

Научно-исследовательский кружок по ИИ в робототехнике для студентов и взрослых

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров3.4K

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

Посмотреть на то как роботы учаться ходить
Всего голосов 23: ↑23 и ↓0+28
Комментарии0

Программирование — это вообще не просто!⠀

Время на прочтение19 мин
Количество просмотров48K


Привет, Хабр!


Идея статьи появилась, когда я начал повсюду замечать якобы подтверждения мифа, что «программирование — это просто»‬‬.


В новостях «восьмилетняя девочка, которая второй раз в жизни занимается программированием, наклепала чат-бота за 45 минут»‬ (ага, да!).


Курсы предлагают мне за 10 месяцев с нуля стать миддл+ (ага, да!).


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


Читать дальше →
Всего голосов 208: ↑198 и ↓10+225
Комментарии113

Алгоритм сравнения отпечатков пальцев: комбинация классических алгоритмов

Уровень сложностиСложный
Время на прочтение18 мин
Количество просмотров3.9K

Про алгоритмы распознавания по отпечаткам пальцев человека написано много статей. Описание алгоритмов обработки и сравнения отпечатков пальцев включено во многие учебники по компьютерному зрению и обработке цифровых изображений. Целью этой заметки не является дать исчерпывающую информацию по алгоритмам распознавания отпечатков пальцев, а на примере решения задачи сравнения отпечатков пальцев показать, как можно использовать и комбинировать между собой классические алгоритмы Сomputer Science (обход графа и нахождение наибольшей общей подпоследовательности) для решения практической задачи.

Читать далее
Всего голосов 17: ↑17 и ↓0+20
Комментарии4

Три способа оптимизировать работу с памятью на Go с помощью memory pools

Время на прочтение10 мин
Количество просмотров6.2K

Привет, Хабр! Меня зовут Александр Иванов, я разрабатываю средства управления сетевыми элементами сотовой связи и пишу на языке Go в YADRO. Однажды я работал над приложением, которое испытывало пиковые нагрузки каждые 10 минут, но выполнить обработку памяти быстро мешал Garbage Collector. Чтобы решить эту проблему, я изучил несколько способов реализации memory pool и провел испытания скорости работы. 

В этой статье расскажу, как уменьшить влияние GC на выполнение программы и покажу бенчмарки для разных memory pools. Объясню, какая из реализаций подойдет вашему проекту, а когда лучше не использовать memory pools и полагаться на встроенные механизмы рантайм-окружения Go.

Читать далее
Всего голосов 40: ↑40 и ↓0+54
Комментарии20

Размерность Минковского и Two Nearest Neighbours (TwoNN)

Уровень сложностиСложный
Время на прочтение7 мин
Количество просмотров5.3K

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

Итак, давайте разбираться!

Читать далее
Всего голосов 25: ↑25 и ↓0+34
Комментарии25

Большие и чёрные (ящики): что мы знаем о том, как «думают» нейросети?

Уровень сложностиСредний
Время на прочтение30 мин
Количество просмотров57K

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

Узнать →
Всего голосов 149: ↑148 и ↓1+178
Комментарии82

[Пятничное] Теория Жоп

Время на прочтение5 мин
Количество просмотров233K

Эту полу-шуточную теорию о проектном управлении я излагал коллегам по ИТ цеху лет 15 назад, и тогда же неоднократно слышал советы загрузить этот текст на Хабр, но руки не дошли. На днях, разгребая старые файлы наткнулся на свои записи и решил все таки поделиться ими с Вами. Частое употребление ключевого слова к сожалению, неизбежно и не отделимо для целостности этого текста, прошу принимать или нет 'as is'. Итак...

Каждая карьера развивается от Жопы к Жопе, и никак иначе. Хочешь повышения - ищи Жопу и принимай, как говорят в Америке, "challenge". Если Вам предлагают возглавить новый проект, либо занять какую то должность, да что угодно - знайте, там Вас ждет Жопа. Иначе не предложили бы, а сами бы справились. Равно как и если Вы ожидаете избавиться от надоевшей Вам сейчас деятельности, надеясь вырваться из "этого ада" и заняться "чем то новеньким" - будьте готовы встретиться с Большой Жопой.

Читать далее
Всего голосов 399: ↑388 и ↓11+473
Комментарии107

Google CTF 2024 Quals — auxin2

Уровень сложностиСложный
Время на прочтение11 мин
Количество просмотров628

Определенный организаторами в "миски" auxin2 оказался любопытным таском из разряда эзотерического программирования - в данном случае виртуальной системы varvara, работающей на машине uxn. Во время соревнования мне удалось решить ее первым (в составе MSLC), хотя это заняло большую часть первого дня - условия были довольно прямолинейными, но разобраться в особенностях набора инструкций незнакомой машины и обойти ограничения было более чем интересно для подробного описания решения.

Разбор кейса
Всего голосов 3: ↑3 и ↓0+6
Комментарии0
1
23 ...

Информация

В рейтинге
2 558-й
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Зарегистрирован
Активность