Get Mystery Box with random crypto!

Leetcode KZ

Telegram арнасының логотипі leetcode_kz — Leetcode KZ L
Telegram арнасының логотипі leetcode_kz — Leetcode KZ
Арна мекенжайы: @leetcode_kz
Санаттар: Технологиялар
Тіл: қазақ
Жазылушылар: 888

Ratings & Reviews

3.00

3 reviews

Reviews can be left only by registered users. All reviews are moderated by admins.

5 stars

1

4 stars

0

3 stars

0

2 stars

2

1 stars

0


Соңғы хабарлар 7

2022-12-14 14:32:53 Как я стала программистом в возрасте далеко за 18

Мадина работает разработчиков в дублинском офисе Амазона. В прошлом году она получила несколько оферов в MAANG. Мне удалось вместе с ней поработать в Яндексе. Но это не самое главное, что стоит знать про нее.

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

Признаюсь, что я только что сам узнал ее бэкграунд и немного был в шоке.

Как-нибудь обязательно организую встречу с ней. А пока можно почитать ее статью на хабре https://habr.com/ru/amp/post/444776/ и подписаться на ее новый канал в телеграмм https://t.me/madina_about_career_and_life.

Канал называется «Женщины и карьера». Тема интересная многим, особенно прекрасной половине человечества, строящим свою карьеру, мамочкам в декрете, желающие заниматься интересным делом и семейным парам, которые хотят увеличить свой доход.

Подписывайтесь и делитесь с теми, кому данная тематика будет интересна.
52 viewsYedige, 11:32
Ашу / Түсініктеме
2022-12-04 20:01:54
Победитель Weekly 301 Kuan Bekarys @bake013
490 viewsRaushan Utemuratova, 17:01
Ашу / Түсініктеме
2022-12-04 08:55:09

324 viewsMeiram Sopy , 05:55
Ашу / Түсініктеме
2022-11-29 09:07:29 Неудачное интервью

- Да как это ты не знаешь, тут же написано Oracle! - воскликнул один из собеседующих, указывая на мое резюме. Я чувствовал себя воришкой, которого поймали с поличным, помню попробовал как-то оправдаться.
- Мы Вам перезвоним - сказал второй интервьюер,
- Не нужно, я … лучше еще подготовлюсь - помню ответил я.

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

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

Уверенного человека, тяжелее дешево купить.

Тут дело даже не в Google или Kaspi или маленький стартап, просто собеседования это всегда продажи. Правильно предоставить свой опыт, правильно «упаковать» резюме, завысить ценник, поторговаться. Вы наверное удивитесь, если скажу в одной и той-же компании, мидлы могут зарабатывать больше, чем сеньоры. «Хардскиллы» - кричали они, «капитализм» - шепнул HR.

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

Выжимка:
- Не пишите в резюме все технологии, о которых слышали. Выбирайте те, на которые можете ответить хотя бы легкие/средние вопросы.
- Собеседутесь периодически, даже если не собираетесь уходить. записывайте видео или конспектируйте сложные вопросы. После каждого интервью вы должны выходить чуть умнее
- Не храните рефераллы, используйте их. Найдете новые потом, а опыт уже будет. Завалите пару собеседований в Amazon.
- Завышайте свой ценник и торгуйтесь. В лучшем случае придется потом на деле доказать свою ценность. В худшем будет понимание на какую сумму вы можете претендовать.
- Вы не самозванец и не обманщик, Вы востребованный специалист. Вы хотите работать в компании, которая Вам нравится и получать деньги, которых достойны, в этом нет ничего постыдного.
- Вы никогда не станете абсолютно готовым. Не нужно ждать идеального момента, знания и опыт придут только с практикой.
89 viewsYedige, 06:07
Ашу / Түсініктеме
2022-11-27 15:10:15

377 viewsYedige, 12:10
Ашу / Түсініктеме
2022-11-25 16:04:57
Первая рок-звезда

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

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

Первым нашим спикером будет Диас Абдраимов, Software Engineer в компании Bolt, Таллин, Эстония. В начале этого года эстонский стартап Bolt был оценен инвесторами в 8.4 млрд долларов. Сервис покрывает более 500 городов в 45 странах мира и обслуживает порядка 100 млн пользователей. Большая нагрузка, интересный продукт и амбициозные цели.

⁃ Что отличает Bolt от других компаний?
⁃ Какого это работать в англоговорящей команде?
⁃ Как бороться с волнением на собеседовании?
⁃ На чем нужно фокусироваться молодым инженерам?
⁃ И другие вопросы можно будет задать Диаcу.

Также попробуем выпросить у Диаса рефераллы

Приглашайте друзей, знакомых и коллег, всем кто интересуется разработкой, собеседованиями и релокацией в другие страны.
Встреча открытая и бесплатная, пожалуйста зарегистрируйтесь по ссылке https://forms.gle/3BVah5A1emAAmraeA.

В субботу, 3 декабря.
19:00-20:00 Алматы (GMT+6)
16:00-17:00 Москва (GMT+3)
15:00-16:00 Таллин (GMT+2)

#rockstars
162 viewsYedige, 13:04
Ашу / Түсініктеме
2022-11-22 14:18:26 Яндекстағы сұхбат туралы болған алдыңғы жазба 10 күнде 800-ден астам қаралым жинады. Сұраныс болғандықтан жалғасы да болу керек!

/*
urlify функциясын жасау керек, яғни бос орындарды '%20'-ға ауыстыру керек. Қолданушы жеткілікті жад резервлеген.
*/

std::string s0 = "my url";
s0.reserve(20);
urlify(s0);
assert(s0 == "my%20url");

void urlify(std::string& s) {
unsigned int d = s.capacity() - s.size();
s.resize(s.size() + d);
for(auto it = s.end() - 1; it >= s.begin() + d; it--) {
*(it) = *(it - d);
}
auto cur = s.begin();
for(auto it = s.begin() + d; it < s.end(); it++) {
if(*(it) == ' ') {
*cur = '%';
cur++;
*cur = '2';
cur++;
*cur = '0';
cur++;
}
else{
*cur = *id;
cur++;
}
}
s.resize(cur - s.begin());
}


/*
Әртүрлі қолданушылардың сұраныстары бар, әр сұраныс - осы форматтағы жұп: (time, userId), сұраныстар уақыттары бойынша бірінен кейін бірі келеді.
Осы сұранымға тез жауап беру қажет: "соңғы k секундта >= limit сұраным жасаған қолданушылардың саны".
*/

class UserStatistics {
public:
queue> queries;
unordered_map queries_per_users;
int ans = 0, k = 0, limit = 0;

UserStatistics(int k, int limit) {
this -> k = k;
this -> limit = limit;
}

void updateQueries(int now) {
while(!queries.empty() && now - queries.front().first >= k) {
if(queries_per_users[queries.front().second] == limit) {
ans--;
}
queries_per_users[queries.front().second]--;
if(!queries_per_users[queries.front().second]) {
queries_per_users.erase(queries.front().second);
}
queries.pop();
};
}

void event(int now, int userId) {
queries.push({now, userId});
updateQueries(now);
queries_per_users[userId]++;
if(queries_per_users[userId] == limit) {
ans++;
}
}

int robotCount(int now) {
updateQueries(now);
return ans;
}
};
129 viewsYedige, 11:18
Ашу / Түсініктеме
2022-11-19 18:26:09 IT Bilim Webinar - Parallel & Distributed computing

Гуглда аға-инженер бағдарламашы боп қызмет атқаратын Жасан ағамыз Параллель және үлестіріп есептеу тақырыбында вебинар жүргізеді. Үлкен процесстерді қалай бөлшектеп басқару жайында әңгіме болады. Бұл тақырыптың өзектілігі соншалық барлық бағдарламаның тез/баяу жұмыс істеуі осы заттарға тікелей байланысты.

Вебинарымыз басталуда, сілтеме төменде
https://t.me/it_bilimkz?livestream
37 viewsYedige, 15:26
Ашу / Түсініктеме
2022-11-12 14:51:57 Жақында @TochkaMikelya Яндекс компаниясына алгоритмдер бойынша сұхбат өткен болатын. Әдеттегідей екі алгоритмикалық есеп келді. Және @TochkaMikelya сол есептермен бізбен бөлісетін болып шешті!!!

Сандардан тұратын бинарлы ағаш берілген. Барлық жапырақтардағы сандардың қосындысын есептейтін функция жазыңыз.
Мысалы:
5
/ \
4 2
/ \ \
1 6 3
/
7
Жауабы: 14 = (1 + 6 + 7).

struct Node{
int val;
Node *left, *right;
Node(int val): val(val), left(NULL), right(NULL) {} // nullptr
};

int findSum(Node *cur){
if(cur == NULL) return 0;
if(cur->left == NULL && cur->right == NULL){
return cur->val;
}
return findSum(cur->left) + findSum(cur->right);
}

int findSum(){
return findSum(this.root);
}

-------------------------------
Алфавит және сөз берілген. Берілген сөзде ұзындығы ең аз панграмманы табу қажет, бұл жерде панграмма - алфавиттегі барлық әріптерді қамтитын (алфавитке кірмейтіндері де болуы мүмкін), сөздің, қатарлас тұрған әріптерден құралған, бөлігі.
Мысалы:
A = {a, b, c}
s = "dfagabkaceb"
"bkac" немесе "aceb" жауапқа сәйкес келеді.

string findSeg(string &s, string &a){
unordered_map mp, check;
for(int i = 0;i < a.size();i++){
check[a[i]] = 1;
}
int last = 0, cnt = 0, ans = s.size() + 1, L = -1, R = -1;
for(int i = 0;i < s.size();i++){ //[last, i]
if(!check[s[i]]) continue;
if(check[s[i]]){
if(mp[s[i]] == 0) cnt++;
mp[s[i]]++;
}
while(last < i)){
if(check[s[last]] && mp[s[last]] <= 1) break;
mp[s[last]]--;
last++;
}
if(cnt == a.size()){
// ans
if(i - last + 1 < ans){
ans = i - last + 1;
L = last;
R = i;
}
}
}
// []
if(L == -1 || R == -1) return "";
return s.substr(L, ans);
}

// UPD: NULL орнына nullptr деп жазған дұрысырақ болады
// UPD2: есептер шығарылған ноутбук өзгеріссіз қалдырылды



Недавно @TochkaMikelya проходил алгоритмическое собеседование в Яндекс. Как и всегда дали две задачи по алгоритмам. И @TochkaMikelya решил поделиться этими задачами с нами!!!

Дано бинарное дерево, значения в нем - числа. Нужно написать функцию, которая возвращает сумму всех узлов дерева,
у которых нет потомков.
Например, для дstерева
5
/ \
4 2
/ \ \
1 6 3
/
7
Результатом будет число 14 (1 + 6 + 7).

struct Node{
int val;
Node *left, *right;
Node(int val): val(val), left(NULL), right(NULL) {} // nullptr
};

int findSum(Node *cur){
if(cur == NULL) return 0;
if(cur->left == NULL && cur->right == NULL){
return cur->val;
}
return findSum(cur->left) + findSum(cur->right);
}

int findSum(){
return findSum(this.root);
}

---------
Дан некоторый алфавит и строка. Необходимо найти в строке панграмму минимальной длины,
где панграмма - это такая подстрока исходной строки, в которую входят все буквы из алфавита (но не обязательно только они).
Пример:
A = {a, b, c}
s = "dfagabkaceb"
Ответом на пример будут подстроки "bkac" или "aceb".


string findSeg(string &s, string &a){
unordered_map mp, check;
for(int i = 0;i < a.size();i++){
check[a[i]] = 1;
}
int last = 0, cnt = 0, ans = s.size() + 1, L = -1, R = -1;
for(int i = 0;i < s.size();i++){ //[last, i]
if(!check[s[i]]) continue;
if(check[s[i]]){
if(mp[s[i]] == 0) cnt++;
mp[s[i]]++;
}
while(last < i)){
if(check[s[last]] && mp[s[last]] <= 1) break;
mp[s[last]]--;
last++;
}
if(cnt == a.size()){
// ans
if(i - last + 1 < ans){
ans = i - last + 1;
L = last;
R = i;
}
}
}
// []
if(L == -1 || R == -1) return "";
return s.substr(L, ans);
}

// UPD nullptr instead of NULL
212 viewsYedige, 11:51
Ашу / Түсініктеме
2022-11-08 10:01:26 Строим свое окружение

Все мы понимаем, что рекрутеры крупных компаний редко отзываются на вакансии отправленных через сайт. Я на протяжении нескольких лет периодически отправлял свое резюме через Google Careers, но ни разу не получил даже отказа. Самый быстрый способ быть замеченным, если кто-то изнутри порекомендует тебя. Это и называется рефералами.

Нередкая проблема с рефералами, что человек, который тебя рекомендует, должен знать тебя. То есть для него, ты не можешь быть просто рандомным человеком из LinkedIn. Желательно, чтобы вы имели совместный опыт, учеба, работа или какие-нибудь side проекты.

Конечно, не все MAANG компаний такие строгие, некоторые не сильно заморачиваются как кандидат получил рекомендацию. Но мне кажется, что рано или поздно тех гиганты станут более требовательны к своим реферальным программам. Ведь интернет сейчас пестрит разными табличками с контактами инженеров Гугла и это генерирует огромный поток кандидатов не всегда высокого качества.

Как получить качественные рефералы?

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

Как вычислять такие компании?

Но есть у меня гипотеза, что сильные команды рождают сильных инженеров, а сильные инженеры имеет больше шансов устроится в MAANG. Так вот, нужно стремиться попадать в сильные команды. Вот мои критерии таковых:
Во-первых, бизнес должен пройти стадию стартапа и иметь устойчивую экономику. Есть пользователи, есть профит, есть рост, соотвественно есть нагрузка и сопуствующие проблемы, на которых можно вырасти. Продукт кому-то нужен сегодня и завтра он будет нужнее, на таких очень легко расти инженерам. На 10K RPS вы набьете таких шишок, что никакой 100 RPS не даст.
Во-вторых, команда разработки не стагнирует, а постоянно эволиционирует. С каждым разом появляются новые практики: дежурства, разбор инцидентов, учет техдолга и так далее. «Здоровые» процессы упрощают работу и позволяют сосредоточиться на главном. Как говорил Беар Гриллс "Импровизируй, адаптируйся, преодолевай" .
В-третьих, количество высогрейдовых разработчиков в команде. Синьоры востребованы и немного заносчивы, в какой-то момент их перестают мотивировать только деньги. Если они остаются, значит их что-то держит помимо зарплаты. Рядом с мощными рано или поздно и сам становишься мощным, такая же логика как и с миллионерами.

Общий посыл такой:
Не нужно стремиться окружать себя людьми, которые все время думают как устроиться в Google.
Нужно окружать себя инженерами, при взгляде на которых думаешь, почему они до сих пор не в Google, изи устроились бы.
67 viewsYedige, 07:01
Ашу / Түсініктеме