Pull to refresh
64
Дмитрий@drch

20 место в паралимпиаде по программированию

13
Subscribers
Send message

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

Спасибо за материал! Хотелось бы увидеть больше материалов на тему сабграфов и работы с ними!

const str = s => [...s].sort().join('');
const anagram = (s1, s2) => s1 && str(s1) === str(s2) || false;


Так изящнее.
Первая толковая статья по React за долгое время. Спасибо!
Удаленный комментарий
А в unit тесте — как проверит?)
Отнесся бы положительно и спросил бы о вашем опыте, когда результат был неочевиден, поделился бы своим.
У того же Лодаша — есть целыз 3 ф-и для проверки на объект, и только одна из них обрабатывает ваш кейс.
isObject — нет
isObjectLike — нет
isPlainObject — да
Спасибо за комментарий, отвечу вам.

Порой (очень часто) на собеседования приходят молодые люди, претендующие на позицию (и зарплату) сеньера, не имеющие за своими плечами многолетнего багажа опыта — пара курсов, пара стартапов, пофрилансил, потом еще стартап и все, сеньер! Нет, не сеньер!

Я повторюсь — понятие джун/миллди/сеньер — субъективное. В этом комментарии — я говорю о своем восприятии.

Чуть отвлекусь на тему typeof null — нету в js нормального способа проверить является ли значение переменной объектом. Или юзать готовые решения, либо писать функцию самому. Вот оптимальная реализация:

function isObject (value) {
    return value && typeof value === 'object' && value.constructor === Object;
}


И вот здесь и кроется ответ на вопрос: зачем я спрашиваю про typeof null на собеседовании — typeof null === 'object'!

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

Что касается сеньеров — еще более субъективно, мне кажется, что сеньеру было бы интересно знать, почему это работает именно так, а не как-то иначе, вот и все.

Сможет ли он пройти собеседование и не пасть позорно до джуниора споткнувшись на собственных же вопросах двухлетней давности?


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

Искренне надеюсь, что смог донести до вас свою мысль.

Простите, я вас, вероятно, неправильно понял. Вы на собеседованиях отказываетесь отвечать на теоретические вопросы и решать небольшие задачки?


Многие не знают, кто они: "Джун, мидл или кто-то еще", это нормально, границы очень условны и размыты, однако в вакансии в 90% случаев указано Junior/Middle/Senior, а значит кандидат, если приходит собеседование сопоставляет свой уровень с указанным.

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

Абсолютно с вами согласен. Спасибо за ссылку.

Я немного ввел в заблуждение, простите. Речь идет не о букве "Ё", а о сочетании 2х символов Юникода u{0415}(Е) и u{0308}("̈), которые идя друг за другом образуют последовательность юникода и мы видим букву "Ё" на экране.


\u{0415}\u{0308}' === 'Ё' // false
Неуверенность в содержимом массива и влиянии разбросанности кода на производительность и удобство сопровождения, а также неудобство написания дополнительных проверок заставили меня долго искать решение получше.


На мой взгляд «Неуверенность в содержимом массива» — основной признак говнокода…
Но ведь в замечательном числе все цифры являются частями последовательностей, разве я не прав?
Немного не понял решение 6-ой задачи. Ведь если речь идет о последовательностях, то достаточно начать складывать все цифры числа — если на каком-то шаге у нас будет сумма больше 10 — то это не замечательное число, а если же на последнем шаге итерации у нас сумма 10 — то число замечательное.

foo = function(n) {
	n = n.toString();
	n = n.slice('');

	for(var i = 0, sum = 0; i<n.length; i++) {
		sum += parseFloat(n[i], 10);

		if(sum==10 && i == (n.length-1)) {
			return true;
		}

		if(sum>10) {
			return false;
		}

		else {
			if(sum==10) {
				sum = 0;
			}
		}
	}
	return false;
}

Information

Rating
Does not participate
Location
Government controlled area, Кипр
Date of birth
Registered
Activity