Между делом

  • Запилил для конторы корпоративный акк на GitHub
  • Вроде окончательно доделал свой Turboloader ( скрипт для автоматического скачивания новых серий ), думаю стоит релизить или нет? Вдруг турбофильм обидется.
  • Сделал себе rss-ленту хабрахара с помощью ридабилити, теперь сразу читаю полные посты, удобно.
  • Досмотрел Shameless, очень понравилось, очень рекомендую.

  Нет комментариев   21 апреля 2012   Заметки  

Хорошие вещи случаются

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

Помните, я недавно ругался на фликр и апертюру? Так вот буквально несколько дней назад, я снова зашел на фликр и увидел что они стали продавать про аккаунты, на менее чем год. Про аккаунт на 3 месяца стоит 7 баксов, пусть это и дороже в сумме, но этого достаточно чтобы попробовать про и понять удобно мне пользоваться фликром или нет. Не удобно, если че, но это лучшее из всех доступных вариантов.

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

Кстати еще из приятных мелочей, у меня от метро до дома, пешеходная дорожка примерно километр и на ней нет урн. Как-то раз, я начал ругаться на это, ну не приятно мне выкидывать бычки себе под ноги или на обочину, но и нести их с собой 10 минут мне тоже не хочется, почему нельзя урны поставить? Ну и, чтобы вы думали? Бувкально через неделю через каждые 200-300 метров появились урны. Учитывая, что мусора стало меньше, а урны полные, видимо я  не один такой.

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

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

А  еще на Варшавке, от Тульской до Каширки отбойники ставят. Тоже молодцы, там без отбойников страшно.


,   2 комментария   15 февраля 2012   Заметки  

Еще немного про собеседования

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

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

Первое на что хочу обратить ваше внимание, это то, что вопросы которые задают php(?) программистам, в основной своей сути имеют довольно академический характер и в жизненных циклах проектов встречаются не часто, но тем не менее, нужно уметь решать эти задачи. Это обусловленно тем, что у работодателей нету времени и желания давать вам типичные задачи, в стиле — «Напиши класс, который будет отвечать за работу с пользователями». 99 процентов всех вопросов задаются по заготовленному листку и должны быть решены на листке бумаги. Никаких IDE, никаких гуглов, никаких ответов типа «я не помню синтаксис». Если вы настроены решительно и хотите произвести хорошее впечатление, то уделите время, что бы потренироваться и чувствовать себя уверенно.

Все вопросы можно разделить на три категории: PHP, MySQL(?), все остальное.

Любой из этих пунктов, так же делится на две части: теория и практика. Начну пожалуй с PHP. С теоретическими вопросами, в целом, не сложно. Они почти везде одинаковые: Отличия между PHP 5.2 и 5.3, основные приципы ООП. Не частый, но вопрос с подвохом — «В каких случаях использование ООП, является убыточным?». Дальнейшие вопросы на теорию, в основном, зависят от ваших ответов, и несут цель узнать на сколько хорошо вы разбираетесь в материале о котором говорили выше.

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

 <? function revert( $string ){ return strrev( $string ); } ?>

Но это не cамый лучший вариант ответа. Выучите алгоритм с обращением к символом строки как к объекту массива.
Очень частые задачи, на написание рекурсивных функций или на понимание работы операторов кода.

<? $a = 10;
echo ++$a + $a++ - ++$a + $a ;
?>

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

<? var_dump( 0123 == 123 ); ?>

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

Теоретические вопросы про MySQL или любую другую СУБД почти всегда касаются индексов и насколько вы понимаете как их использовать, в каких случаях и на что их ставить и в каких случаях индексы могут быть вредны. Обязательно спросят про различия между версиями. Поинтересуются насколько глубоко вы знаете тонкости работы СУБД и вкурсе ли вы про то, что такое тригеры, хранимые процердуры, представления.

Практические задачи — это просьба нарисовать две таблицы с различными данными и просьба написать запрос, который покажет умеете ли вы использовать операторы HAVING, GROUP BY, … etc. Обязательно знать разницу между JOIN запросами.

Еще часто спрашивают про верстку, про css, про javascript. Но расписывать это все не вижу смысла.


Немного про собеседования

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

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

Вообще собеседования, для меня стали большим мотиватором в саморазвитии. Помню как я пошел на самое первое, был уверен что я такой крутой и смогу все рассказать сходу, расскажу какие крутые штуки я умею делать и меня сразу возьмут. ХА ХА Лох. На первом собеседование, меня за пять минут смешали с грязью и больше всего мне хотелось провалиться сквозь землю. Когда перед тобой сидят несколько взрослых человек и задают тебе серьезные вопросы, на которые ты не знаешь как ответить, но говорить «я не знаю» считаешь не приемлемым, то разволноваться в общем не проблема.

Первый вопрос, с которого было начато собеседование звучал так: «Что из себя представляют индексы (MySQL) в физическом плане». Блядь. Да я никогда в жизни не задумывался, о том, что они из себя представляют в физическом плане. Начал рассказывать про B-Tree, бла-бла-бла, но я понятие не имею что это за файлы и какая у них структура. Сказал честно, что никогда этим не интресовался, но попытался предположить как и что это. В общем был полный FAIL. Хотя думаю что даже если бы и попал в ту контору, очень быстро бы сгорел работать по китайскому календарю и тратить по два часа на общественный транспорт.

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

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

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

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

Сейчас, пока поднимаю воспоминания, вспомнил про еще довольно странную контору. Офис — несколько этажей в довольно крупном бизнес центре. Очень крутой пакет (страховка/обеды/…), достаточно высокая зарплата на старте ( > 80 000 ), корпоративная лицензия на PhpStorm :)))

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

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

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

Ну и тем крутым, которые знают php отлично, я процитирую Bolk’a

От собеседований, которые я недавно проводил, у меня осталась масса листочков с заковыристыми вопросами. Например, если человек говорил, что знает PHP на 10 из 10, то я ему давал, например, такой тест:

 

<?php
 
var_dump((bool) print_r(${strrev('SLABOLG')} = 1, $GLOBALS[1]{1} == (unset) b"1") == "00");

Сказать есть ли тут ошибки, если нет, то что получим и что вообще тут происходит.


2011

Я вам обязательно расскажу, как я ходил 4 месяца по разным собеседованиям, а это признаюсь «супер колосальный» опыт.

Очень много всего интересно произошло за последний год. Я, по привычке, написал огромный пост, но потом решил, что он слишком личный и сделал cmd+a, backspace.

В общем желаю всем удачи и процветания. Зла не держу. Звоните-пишите. :D :D :D


  2 комментария   9 января 2011   Заметки