Search
Write a publication
Pull to refresh
42
0
Send message

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

Reading time1 min
Views224K
image

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

«Мы выяснили, что головоломки — пустая трата времени. Они не могут ничего предсказать, и в процесс собеседования включены только для того, чтобы дать возможность интервьюеру почувствовать себя умнее», сказал вице-президент компании по работе с персоналом Ласло Бок в интервью New York Times.
Читать дальше →

Не повторяйте моих ошибок на собеседовании

Reading time5 min
Views357K
image
Я — разработчик с чуть более чем 10 годами опыта разработки и опытом прохождения нескольких раундов собеседований каждый год-два.
Пост написан под впечатлением двух предыдущих постов на смежную тему — Как я искал сотрудников или Как не надо проходить собеседования и Как я искал работу или Как не надо проводить собеседования. И хотя в этих постах освещены наиболее насущные проблемы соискателя и работодателя, рискну высказать свое мнение, которое основано на лично набитых шишках и помогает взглянуть на проблемы под другим углом.

Также рискну обрисовать пути решения проблем, состоящие в том, чтобы поменять то, что можно поменять (в основном — себя), а не то, чего изменить нельзя (скажем, рынок труда).

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

Я предлагаю взглянуть на корень ошибки (да-да, это ошибка). Если соискатель получает слишком много приглашений — значит, он неправильно составил резюме. Ведь именно резюме послужило причиной лавинообразного интереса.
Читать дальше →

Photoshop CC взломали всего за один день

Reading time1 min
Views162K


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

Читать дальше →

The Division — консольный проект, который может быть выпущен на ПК

Reading time2 min
Views27K


В комментариях к предыдущей и весьма спорной публикации «Фактура убила текстуру?», где был, упомянут проект «The Division», прозвучало мнение о низкой доле ПК рынка в отношении консолей.
Ubisoft предложила геймерам особенный путь привнесения этой игры на рынок персональных компьютеров. Посредством петиции. Об этом нам сообщил известный британский ресурс Rock Paper Shotgun.

На данный момент желающих увидеть игру на ПК уже 94,423. Чем больше (богаче на голоса) она будет – тем выше шанс увидеть игру и на ПК.

Для достижения цели не нужны бумажники, кредитки, или предоплата – просто поучаствуйте в петиции. Это легко и быстро.
Читать дальше →

Исключение для библиотек времени исполнения GCC или почему в Clang до сих пор отсутствует поддержка OpenMP

Reading time2 min
Views8.5K
Используете GCC в проекте с закрытым исходным кодом? Применяете OpenMP? Вы же в курсе, что библиотека libgomp, с которой компонуются все OpenMP программы, распространяется на условиях GPLv3? Будьте так добры, откройте ваши исходники…
Читать дальше →

Как заставить мир аплодировать стоя. Делаем стартап популярным

Reading time4 min
Views24K
Представьте, что мир — это концертный зал, а ваш только что запущенный стартап — это шоу, которое секунду назад завершилось, и публика вот-вот начнёт рукоплескать вам стоя, либо отделается вялыми хлопками в разных углах зала. Почему по-настоящему гениальные спектакли искушённая публика иногда встречает сдержанно и даже холодно, а некоторые посредственные — криками «Браво»? Как сделать так, чтобы ваш стартап оценили по достоинству, и даже лучше? Как заставить мир аплодировать вам стоя?

image

Профессор Мичиганского Университета Scott E. Page, известный по курсу Model Thinking на Coursera, в соавторстве с John H. Miller в 2004 году предложили изящную модель «Standing Ovations», которая с помощью клеточного автомата описывает, будет ли зал аплодировать стоя, в зависимости от некоторых факторов. В этой статье я сначала опишу модель максимально упрощённо, а затем, под катом, перейду к небольшим математическим и околоматематическим выкладкам, к построению клеточного автомата, а в конце — к выводам применительно к стартапу и другим сферам жизни.

На секунду представьте себя в зрительном зале в волнительный момент опускания занавеса. Что может заставить вас встать и начать аплодировать? Во-первых, разумеется, вам должен понравиться спектакль. Во-вторых, вы, скорее всего, будете чувствовать себя неловко, если окажетесь единственным человеком в зале, аплодирующим стоя (равно как и если все вокруг встанут, а вы будете сидеть). Значит, необходимо, чтобы некоторая часть аудитории уже решила встать. В-третьих, если вы пришли на спектакль с друзьями или семьёй, и кто-то из них встал, то вы, вероятно, захотите его поддержать и встанете тоже. В-четвёртых, вам виден не весь зал. В зависимости от места, которое вы занимаете, вам могут быть видны только первые ряды партера, половина зала или, если вы сидите в первом ряду, то вообще никто кроме ваших соседей. Следовательно, в первую очередь на ваше решение влияет только та часть зала, которая вам видна.

Таким образом, можно выделить четыре фактора, влияющих на то, встанете ли вы:
  1. Ваше впечатление от шоу;
  2. Доля аудитории, которая уже решила встать;
  3. Поведение ваших соседей по ряду;
  4. Поведение «звёзд», сидящих в первых рядах;

А теперь немного теории автоматов

Паттерны проектирования без ООП

Reading time4 min
Views42K
Во времена, когда я писал на Лиспе и совсем не был знаком с ООП, я пытался найти паттерны проектирования, которые мог бы применить у себя в коде. И всё время натыкался на какие-то жуткие схемы классов. В итоге сделал вывод, что эти паттерны в функциональном программировании не применимы.

Теперь я пишу на Питоне и с ООП знаком. И паттерны мне теперь намного понятней. Но меня по-прежнему воротит от развесистых схем классов. Многие паттерны прекрасно работают в функциональной парадигме. Опишу несколько примеров.
Читать примеры

Притча о покрытии кода тестами

Reading time2 min
Views42K

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

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

Моё маленькое расследование или История одного взлома

Reading time32 min
Views52K
Всё началось с сообщения «Тут?» от моего друга в одной из социальных сетей. «Яндекс нашёл на сайте вирусы. Глянешь?» «Отчего ж не глянуть», подумал я.
Так началось моё трёхдневное исследование скриптов, дабы понять суть взлома и что там вообще происходит.
Читать дальше →

Путеводитель по Python. Пишем великолепный код

Reading time6 min
Views84K

Доброго времени суток, Хабрахабр. Сегодня на крыле принес еще один перевод я (pdf-ки гугловского стайл гайда выложены). Хотя, кто знает, если кто-то оценит сию работу — быть может появится и продолжение. Как-то днём одним, предложил мне мой широко известный в узких кругах коллега scraplesh почитать ресурс — The Hitchhiker’s Guide to Python! называемый. Ресурс этот понравился мне. Понравились советы выдаваемые там. Понравилась канва повествования и вообще понравилось направление мысли автора. А если что-то хорошо на Ваш вкус, то нужно передавать это из уст в уста:) Итак, решил я сделать перевод данного ресурса. Но не всё так сразу — сначала будет пробная статья «на отклик» хабрасообщества. Если уважаемым гикам понравится сия тематика и изложение — будем стараться выпускать новые части. На первый «отклик» я выбрал раздел — "Writing Great Code" и в нем два подпункта «Structure is Key» и «Modules». Откликнемся под катом.
Читать дальше →

Awesomium для C++

Reading time6 min
Views52K
Awesomium — это библиотека, для интеграции браузера на базе Chromium в своё приложение. Вся прелесть Awesomium состоит в том, что его можно интегрировать в приложение практически любого типа (есть примеры интеграции в 3D игры на базе Unity3D), он обладает широким набором возможностей для разработчика и, честно говоря, с ним просто приятно работать.

Но, к сожалению, библиотека имеет довольно скромную документацию, практически отсутствуют примеры и комюнити (это касается разработки под C++, дотнетчикам повезло больше). Некоторые моменты мне приходилось по крупицам собирать с разных источников, а к другим понимание приходило после серии проб и ошибок.

И вот накопив некоторые знания я решил ими поделится. Уверен, что я не первый и не последний, кто будет проходить этот путь.
Читать дальше →

Real-time дебаг Android и iOS приложений на Unity

Reading time6 min
Views20K
Когда разработка проекта идёт на компьютере, проблемы просмотра лога не встаёт. Но когда начинаешь разрабатывать на планшете, то всё становится гораздо печальнее. Разработчики движка добавили много разных полезных вещей в профайлер, но к сожалению забыли о простой консоли, чтобы переключившись на её вкладку разработчик мог смотреть сообщения от своей игры и отправлять какие-то консольные команды прямо с компьютера на планшет.
Это упущение мы сейчас и будем исправлять.
Читать дальше →

Интеграция дизайна мобильных приложений. Часть 1: Android

Reading time4 min
Views129K


Этот доклад я прочитал на Dribbble Meetup 2013, который прошел в Москве в День космонавтики. В нём описан мой процесс интеграции дизайна — то есть в каком виде передавать приложение от дизайнера к разработчику мобильных приложений. Выбор интсрументов, которые я использую в работе, и сам процесс сформировались опытным путём, методом проб и ошибок. Надеюсь, он поможет сохранить вам немного времени и избавит хотя бы от части рутинной работы. Так как презентация содержит достаточно большое количество слайдов, я решил разбить материал на две части. Первая часть — интеграция дизайна под платформу Android. Вторая — под iOS и Windows Phone, а также упомяну про Samsung Bada. Дальше — много картинок.
Читать дальше →

Нумерация аргументов variadic template, или что скрывает скромный pair

Reading time5 min
Views19K


Освоение стандарта C++11 — процесс, который не может происходить скачкообразно. Изучение новой языковой конструкции требует не только заучивания синтаксиса, но и осмысления её предназначения и типичных способов применения. Важным подспорьем в обучении является похорошевшая STL, которая зачастую может открыть глаза на существование весьма интересных и нужных возможностей. А уж зная, что какая-то вещь возможна и реализована в STL, докопаться до способа реализации нетрудно.

Об одном из любопытных примеров, связанном с обновлённым и улучшенным классом pair, и пойдёт речь в статье.
Новый стандарт добавил такой, казалось бы, простой вещи, как pair, удобства и универсальности. Если раньше к типам, входящим в состав пары, предъявлялись достаточно суровые требования, то сейчас слепить в пару можно практически что угодно. В частности, снято ограничение на конструирование таких типов. Теперь необязательно применять операции копирования или даже перемещения, возможно создание пары непосредственным конструированием членов (такая операция называется emplace, «размещение», и в C++11 поддерживается контейнерами STL), с применением нетривиальных конструкторов.
Читать дальше →

Красивое меню на CSS3

Reading time3 min
Views30K
Чуть меньше года назад Snickersmix публиковал статью "Меню с плавной инверсией цвета". В данной статье описывается меню, сделанное на JavaScript. Днём ранее он мне показывал сайт, на котором он делал это меню, и я, как поклонник NoScript, возмутился: «Это меню можно сделать на CSS!»

Красивое меню на CSS3

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

Итак, предлагаю реализацию похожего меню на CSS3.

Чтобы сразу ты, уважаемый читатель, увидел отличия приведу финальную демку меню на CSS3 и демку меню от Snickersmix на JS

Теперь постараюсь вкратце рассказать про процесс создания

Читать дальше →

Облака — ещё дешевле

Reading time5 min
Views116K
Наверняка вы слышали о сервисах Amazon EC2, Rackspace и им подобным. Может быть даже пользовались. Лично мне бывает нужен иногда личный VPN-сервер. Для этих целей я уже давно держал микро-инстанс на Амазоне, предоставляемый им в течении первого года бесплатно. Плюс использовал для архивов Amazon Glacier, который с его ценой «1 цент за гигабайт в месяц» можно считать тоже почти бесплатным. Но вот год закончился и за EC2 стало нужно платить. Архивы мои тоже разрослись прилично и затраты на Glacier аналогично перестали радовать.

Случайно пробежавший мимо обзор сервиса DigitalOcean по-началу оставил меня равнодушным. Ну, облачный сервис, ну виртуалки. Ну да, чуть-чуть дешевле (но не так чтобы уж очень), чего-то аналогичного Glacier вроде бы нет да и вообще оно того не стоит.

Я сильно ошибался. Ниже будет рассказано как на базе DigitalOcean сделать себе VPN-сервер в пару десятков раз дешевле такого же на Амазоне и сервис хранения архивов, в бесконечность раз дешевле Glacier.
Читать дальше →

Walkers: The game of walkers

Reading time3 min
Views10K
Сначала я нарисовал куб. Затем подумал: «А давайте загружать карту». Получился лабиринт. А давайте добавим панели! А давайте добавим фаерболы! А как же без вида от третьего лица? А где же мультиплеер?! Так и появилась игра Walkers

Видео




Об игре


Как известно, каждый программист должен написать игру и чатик. В итоге я сделал и то, и то. Однако под «чатиком» я понял добавление мультиплеера. В итоге получилась более-менее серьезная игра, которую я и хочу сейчас показать.
Читать дальше →

Мобильная веб-разработка: HTML5 приложение для Android

Reading time11 min
Views114K

Вступление



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

Беседа Линуса Торвальдса со студентами университета Аалто (23.10.2012)

Reading time35 min
Views47K


Приветствую, Хабр!

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

Разбираемся в С, изучая ассемблер

Reading time11 min
Views93K
Перевод статьи Дэвида Альберта — Understanding C by learning assembly.

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

Уровни абстракции — отличные инструменты для создания вещей, но иногда они могут стать преградой на пути обучения. Цель этого поста — убедить вас, что для твердого понимания C нужно также хорошо понимать ассемблерный код, который генерирует компилятор. Я сделаю это на примере дизассемблирования и разбора простой программы на С с помощью GDB, а затем мы используем GDB и приобретенные знания ассемблера для изучения того, как устроены статические локальные переменные в С.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity