Архив за 28 октября 2013 - 7

Не мог пройти мимо топика "Вопросы на собеседование middle/senior iOS Developer" и статьи "Собеседование разработчика". Хочу предложить альтернативный или дополнительный подход к собеседованию разработчиков.

Разбор говнокода или сотня разношерстных вопросов на листочке — это, конечно, прекрасно, но если это единственный этап собеседования, то это вызывает желание спросить что-то вроде: «Вы серьезно?»

Вы не устали от того, что на собеседованиях на конкретную позицию разработчика вас спрашивают достаточно сильно оторванную от жизни фигню, которую хочется поскорее забыть после такого собеседования (режим nightmare — это тест на 150+ вопросов и психолог в конце)? Я не отрицаю, что оценивать качество кода — это очень важно, но оценивать качество какого-то конкретного куска и делать по нему большие выводы — это точно неправильно.

К тому же, слишком много так называемых разработчиков не имеют никакого понятия о том, как строить архитектуру приложения, как грамотно разделить компоненты на модули, как внести гибкость для последующих изменений проекта. А вопросы подобные вопросам из топика "Вопросы на собеседование middle/senior iOS Developer" не дадут вам понять, насколько человек хорошо применяет свои знания при реализации проекта.

Что ты предлагаешь, чувак?

Давайте рассмотрим на примере android разработчика (адаптировать можно для любой области, но вы же понимаете, что без конкретики эту статью просто раскритиковали бы, так что поговорим об android).

Что я предлагаю: берем популярное, большое (в плане функционала) и сложное (в плане реализации) приложение и беседуем насчет того, как кандидат бы его сделал!

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

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

Для примера, возьмем приложение Вконтакте для android (оно большое, сложное и многим знакомое).
Читать полностью »

Иск программистов и другие хайтек-специалистов, чьи зарплаты якобы были занижены из-за негласного соглашения о «нехантинге» между Apple, Google, Adobe и Intel, получил в США статус коллективного после рассмотрения в окружном суде Калифорнии.

Читать полностью »

Читать полностью »

Существует актуальная фундаментальная уязвимость в любой программном средстве написанном на компилируемых языках.

Теория «Черного лебедя»

Автор теории Нассим Николас Талеб, описавший ее своей книге «Чёрный лебедь. Под знаком непредсказуемости». Теория рассматривает труднопрогнозируемые и редкие события, которые несут за собой значительные последствия. Процессы реального мира не возможно описать с точки зрение одной лишь математики, и в доказательство этому рассмотрим один простой пример.
Читать полностью »

… кто думает, что в Linux медом намазано или почему Linux еще далеко для десктопной системы среднестатистической кухарки.

В конце 2012, замучавшись с долбаной регистрацией на нелицензионной Win7, решил переползти на Ubuntu. Коллега посоветовал 12.04. Опыт общения с Linux уже был: знал как настраивать сетевые интерфейсы (причем в стародавние времена, когда на wifi только начало что то появляться), делать сборки, rpm-пакеты, slax «для бабуши» со звонками по Skype, програмирование некоторах клиентов с графикой на QT, web «для небогатых» и т.д. и т.п. Как видите, знание в большинстве своем поверхностные. А тут решил совсем перелезть.

Переход тем более уже давно был подготовлен заранее. Даже в основе лежал не переход на новую ОС, а мобильность. Собственно офисом редко пользуюсь, в основном Google.Docs. Особенно если на работе что то делаешь и что б не забыть на всякие флэшки копировать. Есть пара удобств даже по хранению секретных данных (как-нибудь об этом еще в одной статье напишу), но сейчас написать эту статью меня подвиг вопрос в Q&A.
Читать полностью »

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

Никто раньше не мог предположить, что возможно создание ионисторов из кремния, без применения химического электролита. Однако, научная статья в журнале Scientific Reports от 22.10.2013 г свидетельствует о том, что учёным из университета Вандербильта удалось это сделать. Они впервые в мире создали кремниевый ионистор методом травления кремниевой подложки и покрытия «вафли» графеном.

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

image

Когда три года назад возникла необходимость вести учет доходов и расходов семейного бюджета, я перепробовал массу специализированных программ. В каждой находились какие-то изъяны, недочеты, и даже дизайнерские недоделки. После долгих и безуспешных поисков того, что мне было нужно, было решено организовать требуемое на базе шаблона Excel. Его функционал позволяет покрыть большую часть основных требований по ведению домашней бухгалтерии, а при необходимости – строить наглядные графики и дописывать собственные модули анализа.

Данный шаблон не претендует на 100% охват всей задачи, но может послужить хорошей базой для тех, кто решит пойти данным путем.
Читать полностью »

Удивительно, что на Хабре всё ещё нет статей об этом гениальном DI контейнере для PHP.
Почему гениальном? Потому, что весь код этого творения укладывается в 80 строк – маленький объект с большими возможностями.
Контейнер представляет из себя один класс, и его подключение в проект выглядит следующим образом:

require_once '/path/to/Pimple.php';

Создание контейнера так же просто:

$container = new Pimple();

Как и многие другие DI контейнеры, Pimple поддерживает два вида данных: сервисы и параметры.
Читать полностью »

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

image
Читать полностью »

С добрым понедельником!

Ковырялся давеча с одним универсальным, и потому до неприличного мощным, интерфейсом доступа к данным на Python-е. Неприличная мощь выражается в виде множества параметров на все случаи жизни, зачастую крайне экстравагантные и нужные только в 5% случаев. В итоге приходится дублировать всю пачку параметров и деталей даже в прямолинейных запросах, что вызывает пессимизм и желание заняться чем-то другим. И тут вспомнилась мне аналогичная история из моего далекого прошлого, которой и делюсь.
DSL на JavaScript для C++ или кодгенератор — это просто!
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js