28 cайтов, на которых можно порешать задачи по программированию

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

Обложка поста
Обложка поста

Парсинг и обработка веб-страницы на PHP: выбираем лучшую библиотеку

Задача спарсить и обработать необходимую информацию со стороннего сайта встает перед веб-разработчиком довольно часто и по самым разнообразным причинам: таким образом можно заполнять свой проект контентом, динамически подгружать какую-то информацию…

События и курсы

Обложка поста

Видеозаписи турнирных боев между роботами

Одно из новых необычных развлечений, которое появилось в XXI веке — это битвы роботов. Самые разные шоу и соревнования устраиваются по всему миру, чтобы как профессиональные, так и любительские команды собирали своих…

Обложка поста

Подборка международных сайтов с вакансиями для программистов

Хотите работать в Мюнхене или Барселоне? Делать проекты удаленно для канадской компании, сидя на вилле на Бали? Сайты из нашей подборки могут вам помочь.

Вакансии

Обложка поста

Объясните разницу между шаблонами в C++ и дженериками в Java

Многие программисты полагают, что шаблоны C++ и дженерики (например в Java) — это одно и то же, ведь их синтаксис похож: в обоих случаях можно написать что-то вроде List<T>. Чтобы…

ППП, ППК, ПКК, ПП и другие

Популярная задача с собеседований Amazon. Мы русифицировали её, но смысл остался тот же. Вам нужно продолжить последовательность.

Обложка поста

Задача на копирование списка

Есть однонаправленный список из структур. В нём random указывает на какой-то еще элемент этого же списка. Требуется написать функцию, которая копирует этот список с сохранением структуры (т.е. если в старом…

Обложка поста

Как использовать погнутую монету

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

Обложка поста

Что не так в этом отрывке кода на С++?

Есть следующий код, но в нём имеется некоторая проблема. operator int() const { return *this; }…

Обложка поста
Обложка поста

Cколько мячей для гольфа войдет в школьный автобус?

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

Обложка поста

Pure virtual function call

Вопрос по С++. Что за ошибка «pure virtual function call»? В какой ситуации она может быть сгенерирована? Предоставьте минимальный код, приводящий к ней. Те, кто столкнулись с этой ошибкой в…

Классическая задачка с собеседований Google: продолжите последовательность

Классическая задача с собеседований Google, в которой вам нужно продолжить последовательность чисел. Подробно разбираем все варианты решений в нашей статье.

Обложка поста

Java web-фреймворки

Несомненно, Java сейчас является одним из самых популярных языков, для него существует множество подключаемых инструментов. Мы подготовили для вас подборку web-фреймворков для Java, которые облегчат вам разработку сайтов.

Обложка поста
Обложка поста

123 задачи с IT-собеседований с разбором решений

Самые популярные задачи с IT-собеседований — более 100 логических задач, IT-кейсов и заданий по разработке для профессиональных программистов (с ответами!).

19 лет истории KDE: шаг за шагом

KDE — одна из самых популярных оболочек рабочего стола, когда-либо существовавших. Она является свободной и бесплатной для использования. 19 лет назад, 14 октября 1996 года, немецкий программист Matthias Ettrich начал…

Логическая задача про самолёт

Разбираем логическую задачу про самолёт из книги «Действительно ли Вы достаточно умны, чтобы работать в Google?» Проверьте себя и посмотрите решение!

Обложка поста

Как вычислить 2 в 64 степени, не пользуясь калькулятором?

Разбираем несколько вариантов вычисления 2 в 64 степени без калькулятора. Как посчитать примерно и быстро или найти точное число, с ходом решения и ответом.

Обложка поста
Обложка поста

В чём разница между string и String в C#?

Ответ на самом деле очень прост: string — это просто псевдоним (alias) для System.String т.е. технически, никакой разницы нет. Так же, как и нет разницы между int и System.Int32. Что…

У вас есть аналоговые часы с секундной стрелкой. Сколько раз в день все три стрелки часов накладываются друг на друга?

Сколько раз в день все три стрелки аналоговых часов накладываются друг на друга? Решение задачи и ответ, который хотят услышать на собеседовании в Google.

Обложка поста

В вашем распоряжении 10 тысяч серверов в дата-центре с возможностью удалённого управления и один день, чтобы получить миллион долларов. Что вы для этого сделаете?

Ответ можно давать в двух направлениях.

Обложка поста

Задача про блендер

«Вас уменьшили до размеров 5-центовой монеты и бросили в блендер. Ваш вес уменьшился так, что плотность вашего тела осталась прежней. Лезвия начнут вращаться через 60 секунд. Ваши действия?»…

Обложка поста
Обложка поста

Лучшие статические анализаторы регулярных выражений

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

Задачка на основы криптографии с подробным разбором

Как удостовериться, что у друга есть ваш номер телефона так, чтобы никто об этом не узнал, причём нельзя спросить его напрямую? Поясним условия подробнее. Например, вы хотите удостовериться, что у…

Обложка поста

Pangu выпустили первый джейлбрейк для iOS 9

Сегодня ночью китайская команда хакеров Pangu представила первый джейлбрейк для iOS 9. Джейлбрейк работает на Windows и совместим с версиями iOS 9.0, 9.0.1 и 9.0.2. В сети уже есть обновление приложения Cydia, а это…

Таблица для определения квалификации разработчика

При приеме на работу компании в требованиях указывают уровень квалификации, которому должен соответствовать нанимаемый разработчик. Определить ее вам поможет эта таблица. По ней вы можете оценить уровень своих знаний в…

Обложка поста

Бьерн Страуструп о первом компиляторе C++ и будущем языка

Первому компилятору C++ — CFront 1.0 — недавно исполнилось 30 лет. В этом интервью Бьерн Страуструп рассказывает о том, что поменялось с тех пор, и каким он хотел бы видеть…

Человекочитаемые коды ответа HTTP для Python

status.py — удивительно простая библиотека для Python (меньше 100 строк кода), добавляющая человекочитаемые статусы ответа HTTP. Сравните сами. Вот так выглядит код без status.py: class Example(RequestHandler): def post(self): # делаем запрос…

Обложка поста

Что должны делать юнит-тесты

Создание юнит-тестов — своего рода искусство. Для того, чтобы написать хорошие и, главное, полезные тесты, нужны годы практики. При тестировании приложения вам помогут несколько простых вопросов: Что вы тестируете? Что…

25 интересных фактов о старых компьютерах

1. Apple Macintosh и Commodore Amiga 1000 имеют подписи разработчиков, которые они закинули внутрь корпусов этих компьютеров. 2. GRiD 1101 — дедушка всех современных ноутбуков. Он стоил больше $8000 в…

Обложка поста

Хитрости с битовыми операциями на примере языка Си

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

Обложка поста

Некоторые странности Python: объяснение

Недавно мы публиковали ссылку на статью о некоторых странностях Python. Но не все так просто: у этих странностей есть вполне логичное объяснение. Например, в случае с перемножением чисел и строк:…

Поисковик для программистов

Searchcode — универсальный поисковик исходников по различным репозиториям от Github до Fedora Project. В базе Searchcode примерно 7 миллионов проектов, и около 20 миллиардов строк кода.

Обложка поста