Программистка. Читаю нон-фикшн, фотографирую на айфон, ругаюсь за феминизм. Здесь пишу как у меня дела, чтобы не забыть из чего состоят дни
Меня можно найти в твиттере и в инстаграме
Санкт-Петербург, Россия => Измир, Турция => Берлин, Германия
Днём теперь +40, по вечерам мы почти не гуляем. В первый +40-вой день решили сплавать в Фочу, в надежде, что у открытой воды будет прохладнее (зря). До Фочи на выходных ходит паром Foça — туда утром и обратно вечером, довольно удобно. В Фоче чуть погуляли по городу, уперлись в закрытый вход в крепость и на весь день зависли на пляже. Я не хотела плавать и весь пляжный день провела в баре с пивком, социализируясь среди епамеров. Очень круто!
Посмотрели Барби 💅🏼 мне очень понравилось. Планирую сходить еще раз. На Оппенгеймера тоже сходили, но в зале было жарко, фильм скучный, персонажи бормочут, так что мы ушли с середины. Не поняла зачем вообще нужен формат фильма, для этой истории лучше бы написать книгу; Оказалось, что это фильм по книге и всё встало на свои места.
Приезжала из Лондона Саша, ходили с ней в рыбный ресторан Айвалык. Ура, общение.
На следующих выходных посетили океанариум. Небольшой, но прикольный. Я хотела пофоткать, но не успела настроить камеру заранее, так что фоткала на айфон. Начинаю думать, что может и не нужна мне эта камера.
На неделе ходили к эндокринологу, он меня похвалил за то что ем таблетки каждый день (легко его впечатлить) и чуть понизил дозу. Ещё заметила, что у меня в два раза упали антитела. втф. Как это работает вообще.
Прочитала книгу про нарциссов "Бойся я с тобой". Главная мысль — поведение, которое нарцисс показывает в начале отношений, ему чуждо и сложно, и он в это состояние возвращаться не планирует и не может. Так что безумная любовь, бабочки в животе и идельный партнер это просто иллюзия и лучше разорвать отношения с нарциссом как можно раньше.
Наконец закончила ходить по собесам. Очень надеюсь ближайшие несколько лет не оказываться в ситуации, когда нужно срочно найти работу (ну я и год назад надеялась).
Получила оффер мечты с релокейтом в город мечты Берлин. Про Берлин я знаю только, что там много клубов, рейвов и веществ — интереснейшие вещи и явления, которые, тем не менее, не входят в круг моих увлечений; но беглое гугление наводит на мысль, что мне там тоже будет чем заняться. Посмотрим. Теперь нужно пройти новый квест: собери документы на визу и сохрани кукуху.
В раздел со ссылками положу несколько ютуб-каналов, которые меня комфортят в эти жаркие дни и бессонные ночи.
Долго ли, коротко ли — я начала получать офферы. Пока что два: от стартапа-мясокомбината и от крупной российской компании (не яндекс). Второй оффер даже классный — мне нравится проект, команда, бонусы и возможность полной удаленочки. Из минусов — привязка к курсу рубля. Пока что приняла его, посмотрим, что получится. Это, кстати, был самый сложный оффер в моей жизни — шесть интервью, из них три технических (алгоритмы, джс, систем-дизайн) и два с командами (с первой не случилось мэтча). Не оффер мечты, но приносит в жизнь обещание какой-никакой стабильности, а значит — хорошо действует на мою голову. А это главное.
Жара. Не помню, как мы выживали в прошлом году, но сейчас выходить на улицу просто невозможно. В первые же секунды обдает дыханием огнедышашего дракона и всю прогулку тело нагревается. По вечерам ещё прибавляется духота и становится тяжело дышать. Одним вечером после провальной прогулки с элементами головокружения, я приняла решение поехать в Чешме на ближайших выходных. У поездки было две цели — посмотреть Чешме и организовать выезд в Грецию для Оли, счастливой обладательницы шенгена, который хорошо бы использовать по назначению. Всё удалось.
В Чешме просто потрясающе в плане соотношения температуры, запахов, цвета моря и красоты закатов. Оля успешно сплавала одним днём на Хиос и совершила там стратегическую закупку колбасы. Я же провела весь день в одиночестве в отеле — тусила в спа, плавала в пяти бассейнах и слушала подкаст. Очень здорово. Отель я выбирала в последнюю минуту, когда все хорошие, очевидно, уже разобрали. В итоге выбрала тот, который можно не покидать. Он был в два раза дороже других вариантов, но оно того стоило. Самое приятное, что во всех бассейнах, спа и даже на море было очень мало людей. Часто я даже была одна. Лучший опыт.
Потом ходили посмотреть на крепость. Ничего такая. Интересно, что в ней находится музей, посвященный русско-турецкой Чесменской битве (1770), в которой Россия победила (я в шоке). После той войны был заключен мирный договор, с таким например пунктом: "Признана на вечные времена независимость Крымского ханства и невмешательство в его дела как России, так и Турции".... мда, кринж. Но главное впечатление от музея — какие же турки сильные собачки, что сделали целый музей о сражении, в котором они проиграли. Там даже есть зал с русскими наградами и изображением Екатерины. Не могу представить подобный музей в РФ. Токсичная маскулинность не позволяет признавать свои провалы.
вид с крепости
Сегодня 10-е июля, а значит год, как мы приехали в Турцию. Почти сразу было понятно, что это хороший вариант, но год спустя, я могу точно сказать — это лучшее решение в нашей ситуации. В Измире тепло, недорого, есть чем заняться в городе и вокруг, есть инфраструктура и даже тусовки. Мне здесь нравится больше, чем в Петербурге. Уже начала грустить, что через 2 месяца истечет внж, а новый, скорее всего, не получим. Но посмотрим, что будет дальше, может как-то оно сложится нормально.
Невероятно, но с прошлого месяца мало что изменилось — я сходила на десяток собеседований, получила фидбеки от восторженных до «решили не продолжать с вами процесс», купила подписку на литкод и даже приняла один оффер. Работу, впрочем, так и не нашла. Принятый оффер работает как фьючерс и возможно однажды работа у меня появится. Как бы то ни было, я продолжаю марафон интервью.
В середине месяца начал названивать лендлорд и предлагать платить ему за квартиру в два раза больше лир. Я возмутилась и отказалась. Он скинул с цены две тысячи. Я сказала что не согласна. Тогда он сказал, что будет продавать квартиру. Тут я пересчитала цены с калькулятором и согласилась. Контракт заканчивается в июле, весь год мы платили за квартиру 10 тысяч лир. По турецким законам нельзя поднимать цену на аренду больше чем на 25%, но только если инфляция за последний была меньше чем 25%. Если же инфляция была больше, то арендодатель может устанавливать любую цену. Как понимаете, у Турции сейчас непростые времена и хозяин квартиры может просить за нее хоть 50 тысяч, никто не собирается это регулировать. В итоге мы успешно договорились на 18 тысяч (в долларах это 800) и все остались довольны.
На энергии радости от продленной квартиры съездили на выходные в Бодрум. Море красивое, крепость древняя, золото, найденное на затонувшем корабле, блестит. Я была очень уставшая и не оценила достопримечательности, зато оценила тринадцатичасовой сон после нескольких тревожно-бессонных ночей. Отельный бассейн тоже был очень кстати. В целом Бодрум показался не самым увлекательным местом, но наверное там есть и другие активности.
На следующих выходных в России пытался произойти военный переворот, но он свернул не туда. What a time to be alive.
Также я ходила в кино на нового человека-паука (супер), играла в новую Зельду (супер) и посетила спикинг-клаб-созвон, организованный классмейтками с последнего курса английского. Была рада всех видеть и считаю, что это лучший разговорный клуб — у всех примерно один уровень, все более-менее знакомы и все знают, чего ожидать.
Что ж, надеюсь в следующем месяце получить менее позорный оффер, съездить в Фочу или Чешме и унять окончательно свою тревогу. Начала кстати перечитывать Цветаеву, такие у нее стихи крутые
Ушёл — не ем:
Пуст — хлеба вкус.
Всё — мел.
За чем ни потянусь.
Список задачек, которые у меня спрашивали на фронтендерских собеседованиях в 2023 году
Классическое расплющивание массива
Массив с результатами храним в замыкании, туда записываем значения, если наше значение это другой массив, то вызываем ту же функцию рекурсивно. Есть и другие варианты этой задачи, например с указанием глубины
const arr = [1, [2, [3, [4, 5]]]]; // => [1, 2, 3, 4, 5]
export function flat(arr) {
const result = [];
function helper(a) {
for (let i of a) {
if (Array.isArray(i)) {
helper(i);
} else {
result.push(i);
}
}
}
helper(arr);
return result;
}
Если у нас есть второй аргумент, возвращаем функцию, куда передаем сумму. Если его нет, возвращаем сумму
// sum(1)(2)(3)() => 6
function sum(a) {
return function (b) {
if (!b) {
return a;
}
return sum(a + b);
};
}
Записываем скобки в словарик, итерируемся по массиву. Если попадается открывающая скобка, добавляем в стек такую же закрывающую. Если попадается закрывающая, сравниваем ее с последней скобкой в стеке. Если они не равны, возвращаем false. В конце функции длина стека должна быть равна нулю
const brackets = {
"(": ")",
"{": "}",
"[": "]",
};
function isValid(string) {
const stack = [];
for (let i of string) {
if (brackets[i]) {
stack.push(brackets[i]);
} else {
if (i !== stack.pop()) return false;
}
}
return stack.length === 0;
}
остальные посты почитать можно тут
See all tags.