Pull to refresh
20
0
Send message

Хотели как в FAANG, а вышло как всегда или Опыт собеседования в Тинькофф в 3 актах

Reading time 9 min
Views 133K

Предисловие Около года назад я задался целью получить оффер от FAANG. Как следствие, постоянной частью моей жизни стали тематические форумы, площадки и вся сопутствующая атрибутика. Спустя какое-то время я попробовал себя на собеседованиях в околоFAANGoвые компании: Lyft, Spotify, Booking и т. д, где-то успешно, где-то не очень. В это же время мне порекомендовали попробовать пройти собеседование в Тинькофф банк, который внедрил схожий процесс. После стандартного общения с HR менеджером была получена ссылка на описание процесса собеседования. “Хм, почти что FAANG + тех. интервью по Primary Skill”, - подумал я и сказал, что готов приступать. В тот же час было назначено 2 интервью: техническое и coding, а вот 3 этап, system design, нужно было заслужить успешным прохождением первых двух. Почему именно эти 2 части являлись основополагающими, осталось неясным.

Акт первый, технический

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

Читать далее
Total votes 183: ↑167 and ↓16 +151
Comments 226

Типичные проблемы начинающих при работе с Docker (видео с конференции)

Reading time 1 min
Views 9.7K
Здравствуйте. Выкладываю видео с конференции ComaQA 2017 Summer на которой я расказывал с какими проблемами обычно сталкиваются QA и Dev при начинаниях работы с Docker-ом. Ну и конечно как мы их решали. Начало в 4:45:20

Ссылка на презентацию: Презентация

Total votes 9: ↑7 and ↓2 +5
Comments 8

Без машины на машине: сравнительный обзор услуг каршеринга в Москве / сентябрь 2017

Reading time 16 min
Views 66K
image

Мне нравится водить автомобиль. Но у меня нет дачи, я не занимаюсь автотуризмом, мне не нужно каждый день ездить на работу, и живу я в 400 м от станции метро. В последние годы в Москве общественный транспорт работает всё лучше; а кроме того, я и велосипед люблю, и в период с мая по сентябрь съездить на 5-10 км от дома проще на двух колёсах. Получается, что автомобиль мне не и нужен.

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

Но на самом деле, какие-то маршруты по Москве на автомобиле проехать получается быстрее. Иногда нужно смотаться по делам в два-три разных места, и на метро с автобусами на это может уйти целый день. Так что я с удовольствием обнаружил, что в Москве не только появился каршеринг, но и активно развивается.
Читать дальше →
Total votes 68: ↑65 and ↓3 +62
Comments 225

Полное практическое руководство по Docker: с нуля до кластера на AWS

Reading time 39 min
Views 1.6M



Содержание



Вопросы и ответы


Что такое Докер?


Определение Докера в Википедии звучит так:


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



Ого! Как много информации.

Читать дальше →
Total votes 125: ↑124 and ↓1 +123
Comments 43

Бесплатный учебник электроники, архитектуры компьютера и низкоуровневого программирования на русском языке

Reading time 2 min
Views 245K

Господа! Я рад сообщить, что наконец-то все желающие могут загрузить бесплатный учебник на более чем 1600 страниц, над переводом которого работало более полусотни человек из ведущих университетов, институтов и компаний России, Украины, США и Великобритании. Это был реально народный проект и пример международной кооперации.

Учебник Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера», второе издание, 2012, сводит вместе миры программного обеспечения и аппаратуры, являясь одновременно введением и в разработку микросхем, и в низкоуровневое программирование для студентов младших курсов. Этот учебник превосходит более ранний вводный учебник «Архитектура компьютера и проектирование компьютерных систем» от Дэвида Паттерсона и Джона Хеннесси, причем соавтор предыдущего учебника Дэвид Паттерсон сам рекомендовал учебник от Харрисов как более продвинутый. Следуя новому учебнику, студенты строят реализацию подмножества архитектуры MIPS, используя платы с ПЛИС / FPGA, после чего сравнивают эту реализацию с индустриальными микроконтроллерами Microchip PIC32. Таким образом вводится вместе схемотехника, языки описания аппаратуры Verilog и VHDL, архитектура компьютера, микроархитектура (организация процессорного конвейера) и программирование на ассемблере — в общем все, что находится между физикой и высокоуровневым программированием.

Как загрузить? К сожалению, не одним кликом. Сначало надо зарегистрироваться в пользовательском коммьюнити Imagination Technologies, потом зарегистрироваться в образовательных программах на том же сайте, после чего наконец скачать:
Читать дальше →
Total votes 117: ↑114 and ↓3 +111
Comments 66

Moscow Python Meetup на тему «Async: why and when?» в офисе Rambler&Co

Reading time 1 min
Views 8.6K


Друзья, спешу сообщить, что 28 мая в 19:00 в офисе компании Rambler&Co пройдет встреча сообщества Moscow Python Meetup. Тема встречи — «Async: why and when?».

В программе интересные доклады, общение, холивары и море позитива.
Читать дальше →
Total votes 15: ↑14 and ↓1 +13
Comments 12

Objective-C с нуля

Reading time 23 min
Views 434K
У любого желающего писать программы для продукции фирмы Apple в жизни наступает такой момент, когда ему приходиться изучить новый язык программирования — Objective-C. Когда-то этот счастливый момент постиг и меня. А чтобы лучше запомнить основные особенности этого языка, решил законспектировать свои мысли во время осмысления его документации, которыми и делюсь с вами.
Читать дальше →
Total votes 163: ↑155 and ↓8 +147
Comments 61

Rust 1.0: текущее состояние и окончательное расписание выхода версий

Reading time 4 min
Views 18K
Rust logo
Прошло пять недель с тех пор как вышла альфа версия Rust 1.0! До того как выйдет следующая предварительная версия Rust, мы хотели бы рассказать о текущем состоянии языка и о том, что мы еще намерены сделать по пути к стабильной версии 1.0.

TL;DR: Rust 1.0 выйдет 15 мая 2015 года
Читать дальше →
Total votes 56: ↑56 and ↓0 +56
Comments 7

Как два программиста хлеб пекли

Reading time 5 min
Views 259K


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

Итак, представим себе, что есть два программиста. Один из них умный, прочёл кучу статей на Хабре, знает каталог GoF наизусть, а Фаулера — в лицо. Другой же делает всё просто. Первого будут звать, например, Борис Н., а второго — Маркус П. Само собой, имена вымышленные, и все совпадения с реальными людьми и программистами случайны.

Итак, к ним обоим приходит проектный менеджер (если в вашей вселенной PM не ходит сам к программистам, назовите его как-то иначе, например BA или lead, сути это не изменит) и говорит:
— Ребята, нам нужно, чтобы делался хлеб.

Именно так, «делался», без уточнения способа производства.

Как же поступят наши программисты?
Читать дальше →
Total votes 380: ↑348 and ↓32 +316
Comments 328

Почему ваша первая реализация FizzBuzz на Rust может не работать

Reading time 14 min
Views 21K
Полное оригинальное название статьи: «Why your first FizzBuzz implementation may not work: an exploration into some initially surprising but great parts of Rust (though you still might not like them)»

tl;dr;-версия: На первый взгляд некоторые аспекты Rust могут показаться странными и даже неудобными, однако, они оказываются весьма удачными для языка, который позиционируется как системный. Концепции владения (ownership) и времени жизни (lifetime) позволяют привнести в язык сильные статические гарантии и сделать программы на нём эффективными и безопасными, как по памяти, так и по времени.

Лицензия: CC-BY, автор Chris Morgan.

Почему ваша первая реализация FizzBuzz может не работать: исследование некоторых особенностей Rust, которые изначально шокируют, но в действительности являются его лучшими сторонами (хотя они всё равно могут вам не понравиться)

http://chrismorgan.info/media/images/rust-fizzbuzz.svgFizzBuzz предполагается как простое задание для новичка, но в Rust присутствуют несколько подводных камней, о которых лучше знать. Эти подводные камни не являются проблемами Rust, а, скорее, отличиями от того, с чем знакомо большиство программистов, ограничениями, которые на первый взгляд могут показаться очень жёсткими, но в действительности дают громадные преимущества за малой ценой.

Rust это «подвижная мишень», тем не менее, язык становится стабильней. Код из статьи работает с версией 0.12. Если что-то сломается, пожалуйста, свяжитесь со мной. Касательно кода на Python, он будет работать как в двойке, так и в тройке.
Читать дальше →
Total votes 54: ↑53 and ↓1 +52
Comments 24

Meteor. Разрабатываем TODO List

Reading time 36 min
Views 61K
В данном уроке я не хочу обсуждать, почему метеор убийца веба, тем более я так не считаю, но определенную симпатию к этому фреймворку имею. Поэтому хочу показать с чего можно начать при разработке приложения на нем, какие есть пакеты и вообще, что такое этот метеор.

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

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

И еще одно предупреждение: в данном уроке будут использоваться следующие технологии для непосредственного написания примера:

  • jade — html препроцессор;
  • less — css препроцессор;
  • coffeescript — язык программирования, компилируемый в javascript.

Видео, демонстрирующее приложение, полученное в ходе урока



И кому все еще интересно, добро пожаловать под кат.
Читать дальше →
Total votes 67: ↑59 and ↓8 +51
Comments 19

Обзор механической клавиатуры CODE Keyboard

Reading time 3 min
Views 111K

Приветствую всех!
После приобретения очередной клавиатуры решил сделать её обзор, не найдя оного как на хабре, так и вообще в рунете. Речь в данном обзоре пойдет о механической клавиатуре CODE Keyboard, 87 клавиш (при желании можно купить и стандартную 104-клавишную). В отличии от стандартной клавиатуры у данной модели CODE Keyboard отсутствует цифровой блок, поэтому она занимает значительно меньше места на столе и не сильно притесняет “грызуна”. В то же время все необходимые клавиши для навигации присутсвуют (в отличии, например, от Happy Hacking Keyboard): “стрелки”, Home, End, PgUp, PgDn и т.п.



Читать дальше →
Total votes 68: ↑60 and ↓8 +52
Comments 131

И еще раз о GIL в Python

Reading time 9 min
Views 37K

Предисловие


Область, в которой мне повезло работать, называется вычислительная электрофизиология сердца. Физиология сердечной деятельности определяется электрическими процессами, происходящими на уровне отдельных клеток миокарда. Эти электрические процессы создают электрическое поле, которое достаточно легко измерить. Более того оно очень неплохо описывается в рамках математических моделей электростатики. Тут и возникает уникальная возможность строго математически описать работу сердца, а значит — и усовершенствовать методы лечения многих сердечных заболеваний.

За время работы в этой области у меня накопился некоторый опыт использования различных вычислительных технологий. На некоторые вопросы, которые могут быть интересны не только мне, я постараюсь отвечать в рамках этой публикации.
Читать дальше →
Total votes 71: ↑71 and ↓0 +71
Comments 47

oDesk (Upwork). Мой опыт за полтора года

Reading time 12 min
Views 445K
Вот уже полтора года я зарабатываю фрилансом на бирже oDesk. За это время у меня накопилось много материалов по данной теме. В данном топике я собрал все в одну статью и адаптировал для аудитории хабра.
image
Читать дальше →
Total votes 192: ↑185 and ↓7 +178
Comments 321

В каких условиях и как работается на Польском объект закрытого типа

Reading time 3 min
Views 10K
Джен добрый или просто «Чешч» хабровчани! (На польском!)
Коротко о моей работе в Польше:
image
Переехав в Польшу, подальше от войны в Украине, я думал продолжить свой отложенный в пыльное облако проект но не фортануло!
Собственно попал я в компанию по знакомству, знакомому нужен был программист
Читать дальше →
Total votes 113: ↑27 and ↓86 -59
Comments 45

Папа, а почему на ноль делить нельзя?

Reading time 6 min
Views 237K
Моя трёхлетняя дочка София в последнее время частенько упоминает «ноль», например, в таком контексте:
— Соня, вот ты вроде сначала не послушалась, а затем послушалась, что же получается?..
— Ну… ноль!

Т.е. ощущение отрицательных чисел и нейтральности нуля уже имеет, о как. Скоро поинтересуется: почему же это на ноль делить нельзя?
И вот решил я простыми словами записать всё, что я ещё помню про деление на ноль и всё такое.
Читать дальше →
Total votes 262: ↑192 and ↓70 +122
Comments 281

Ковыряционный анализ, балалайка, божена – а как вы разговариваете с коллегами?

Reading time 8 min
Views 66K
imageСвой собственный сленг рано или поздно образуется в любой команде. Айтишный же, наверное, складывается на 90% из словечек, которые более-менее понятны любой другой компании-разработчику, особенно в контексте. А на 10% — из особенностей фунциональности разрабатываемого продукта или конкретного разработчика.
Под катом – профессиональный словарик девелоперов Parallels. А какие у вас в команде крылатые выражения?
Читать дальше →
Total votes 171: ↑129 and ↓42 +87
Comments 67

JQuery Deferred — примеры использования

Reading time 5 min
Views 65K
В этой статье я не буду говорить о том зачем в javascript нужны промисы и в частности JQuery.Deferred. Также не буду приводить справочную информацию, ее достаточно в интернете. Например тут или тут или вот тут.
Эта статья для тек кто уже немного знаком с объектом Deferred из библиотеки JQuery, но не имеет опыта написания сложных цепочек (очередей).

Подготовка

Все примеры кода, рассмотренные здесь, используют асинхронный метод $.ajax(), который возвращает так называемый jqXHR в котором реализованы промис-методы (done, fail, always, then). Нам нужны будут только они, поэтому будем считать что $.ajax возвращает промис (promise).
В некоторых примерах используются методы $.map() и $.each(), которые входят в состав библиотеки JQuery.

Последовательное выполнение

Простейшее использование промисов — это последовательное выполнение асинхронных операций. То есть следующая операция не начинается пока текущая не закончится.

$.ajax('http://echo.jsontest.com/id/1')
.then(function(result){
    console.log(JSON.stringify(result));
    return $.ajax('http://echo.jsontest.com/id/2')
}).then(function(result){
    console.log(JSON.stringify(result));
    return $.ajax('http://echo.jsontest.com/id/3')
}).then(function(result){
    console.log(JSON.stringify(result));
});

Живой пример тут.
Читать дальше →
Total votes 54: ↑45 and ↓9 +36
Comments 15

Что такое grep и с чем его едят

Reading time 6 min
Views 653K
Эта заметка навеяна мелькавшими последнее время на хабре постами двух тематик — «интересные команды unix» и «как я подбирал программиста». И описываемые там команды, конечно, местами интересные, но редко практически полезные, а выясняется, что реально полезным инструментарием мы пользоваться и не умеем.
Небольшое лирическое отступление:
Года три назад меня попросили провести собеседование с претендентами на должность unix-сисадмина. На двух крупнейших на тот момент фриланс-биржах на вакансию откликнулись восемь претендентов, двое из которых входили в ТОП-5 рейтинга этих бирж. Я никогда не требую от админов знания наизусть конфигов и считаю, что нужный софт всегда освоится, если есть желание читать, логика в действиях и умение правильно пользоваться инструментарием системы. Посему для начала претендентам были даны две задачки, примерно такого плана:
— поместить задание в крон, которое будет выполняться в каждый чётный час и в 3 часа;
— распечатать из файла /var/run/dmesg.boot информацию о процессоре.

К моему удивлению никто из претендентов с обоими вопросами не справился. Двое, в принципе, не знали о существовании grep.

image

Поэтому… Лето… Пятница… Перед шашлыками немного поговорим о grep.
Читать дальше →
Total votes 188: ↑174 and ↓14 +160
Comments 144

Дауншифтинг для программиста? Камбоджа, опыт выживания и опыт жизни

Reading time 7 min
Views 237K
image

Привет, уважаемые читатели. Сразу скажу, что я немного странный человек и мой опыт приемлем далеко не для всех и часто сталкиваюсь с непониманием, как со стороны близких, так и со стороны абсолютно незнакомых людей. Речь пойдет о том, как я бросил всё и уехал с 300$ в кармане в новую для себя страну, казавшуюся мне чем-то диким и непознанным. В обсуждении одного из постов я вскользь упомянул о моем опыте и меня попросили написать подробнее.
Читать дальше →
Total votes 217: ↑199 and ↓18 +181
Comments 320
1

Information

Rating
Does not participate
Registered
Activity