|
Вопросы на собеседованиях
Собственно, наткнулся случайно на задачки одного человека, которые он задавал на собеседованиях:
без запинки написать функцию add которая складывает a и b и вызывается так: add(a)(b) и Write the result of these expressions: 6 / «3» «2» * «3» 4 + 5 + «px» «$» + 4 + 5 «4» — 2 «4px» — 2 7 / 0 typeof null typeof {}[0] typeof («4px» — 2) parseInt(«09») 5 && 2 2 && 5 5 || 0 0 || 5 Задачки, в принципе, не такие и уникальные. Тут в статьях, кажись, все это рассматривается (и забывается), но все равно интересно. Ради собственного развития и знания, что меня ожидает там впереди, кидайте сюда условия и задания, которые вам задавали/вы задавали на собеседованиях и т.д? Которые могут охарактеризовать глубину понимания отвечающего. |
Maxmaxmахimus,
Там парсер пожрал символы. Корректно все вот так: console.log(6/'3') console.log('2'*'3') console.log(4+5+'px') console.log('$'+4+5) console.log('4' - 2) console.log('4px' -2) console.log(7 / 0) console.log(typeof NaN ) console.log(typeof {}[0] ) console.log(typeof ('4px' - 2) ) console.log(parseInt('09')) console.log(5 && 2 ) console.log(2 && 5 ) console.log(5 || 0 ) console.log(0 || 5) alert( !![] + ![] - 1 ) // ??? Эм. [] - что-то. Двойное отрицание чего-то, значит первый элемент тру, второй фолс. Предполагаю, не глядя, что там будет или НаН или 1+0-1 = 0 |
function add(a){ return function(b){ return a+b } } alert([ add(2)(3) //5 ,6 / "3" //2 ,"2" * "3" //6 ,4 + 5 + "px" //'9px' ,"$" + 4 + 5 //'$45' ,"4" - 2 //2 ,"4px" - 2 //NaN ,7 / 0 //Infinity ,typeof null //object ,typeof {}[0] //undefined ,typeof ("4px" - 2) //number ,parseInt("09") //хз ,5 && 2 //2 ,2 && 5 //5 ,5 || 0 //5 ].join('\n')) C parseInt("09") пока не проверишь не узнаешь. Понятно что с нуля - восьмеричная, но как он будет интропретировать такие некорректные данные - хз. Может быть и 9, и NaN, и 0, и 10. Не зная наизусть спецификацию или не проверив на деле - не ответишь. |
Цитата:
Эти вопросы не показывают уровень владения языком. Проще попросить проекты над которыми человек работал и примеры его кода с объяснением почему он писал его именно так. Времени уйдет столько же, а смысла будет гораздо больше. |
Gozar,
Тем не менее, судя по отзывам, часто и гнобят и проекты смотрят. |
PashPP,
Мне по барабану. Если бы я хотел нанять js интерпретатор, то я бы задавал именно такие вопросы. Эти вопросы абсолютно бесполезны, если человек не может писать сложные приложения или проектировать интерфейсы. Хотя тут, как я и сказал, все зависит от того, кого нужно нанять. Если интерпретатор, то лучших вопросов не найти. Даже если не знаешь ответа, консоль тебе их даст за секунды. А примеры на сложение вообще смешно рассматривать, достаточно поставить скобки: alert([(4 + 5) + "px", "px" + (4 + 5)]) Если проверять начальный уровень знания, то такие примеры могут подойти, а если нужен программист, то почитай требования на работу: - писать комментарии (нормальную документацию) - писать расширяемый код - писать код, который можно читать - знание ООП, базовое и паттерны - знание фреймворков - знание хотябы чуть чуть серверной части Лично меня уже давно перестало интересовать, что там получиться в 4+4+'px' ;) |
зы: Иногда пишут, умение оценивать время на разработку, что для меня например гораздо важней, чем все приведенные выше примеры. + адекватность :)
|
Gozar,
Да чегож так к примерам и пикселям этим прицепились. Тема о всяких проверках, а не подобных топикстартовым. |
Цитата:
Цитата:
Юзайте поиск по форуму, найдете огромное количество задачек, подобных вашим. Эта тема повторяется уже неоднократно. |
Видел только просто задачки для... Развлечения.
А спросил о более узконаправленном. Хоть одно другому и не мешает. Цитата:
|
Часовой пояс GMT +3, время: 05:54. |
|