NotesWhat is notes.io?

Notes brand slogan

Notes - notes.io

съжоп эко схлоп труда рынка
Не забывайте, что интервьюер-то существует только в голове автора, а потому тоже отражает лишь квалификацию последнего


«Час работы по дизайну экономит день работы по кодированию» — это про waterfall.
Реальность такова, что на этапе сбора требований и проектирования учесть все нюансы не получается никак. Даже если на «дизайн» было потрачено очень много времени.
Поэтому, современные методологии работают по другому:
1. Делаем как-нибудь, лишь бы проще, быстрее и работало.
2. Показываем промежуточный результат заказчику, выясняем двигаемся ли мы в нужном направлении.
3. Корректируем направления и повторяем итерацию начиная с пункта 1.
Я думаю, правильнее было бы сначала написать самую простую реализацию, а потому уже — задавать уточняющие вопросы и предлагать улучшения.



Совершенно верно. Человека берут на работу решать проблемы, а не создавать их. Если также он будет донимать вопросами заказчика, то тот просто уйдет.
Задача программиста-аналиатка — уметь трансформировать фукнциональные реквизиты в конкретное решение, а в случае нехватки деталей предлагать собственное решение, а не допытываться по каждому пунтку. Поэтому программа должна работать адевкатно в большинстве случаев и корректно отлавливать нештатные ситуации.


Первым вопросом должен быть не "что вы подразумеваете под вашей просьбой?", а "для чего вам это нужно?", "где вы это будете использовать?", "для какой общей задачи требуется данное решение?" Опишите проблему целиком, а я уже сам решу, нужно ли вам атрибуты менять и вообще нужно ли само копирование файла.
Вот приходите Вы к дентисту: "вылечите мне зуб". А он такой: "что конкретно Вы имеете ввиду под "вылечите"? У вас пульпит, периодонтит, перикоронит или простой кариес? Вам пломбу поставить, удаление нерва, коронку, удаление зуба или что? Что Вы от меня хотите? Сформулируйте точно!"


Меня как-то спрашивали формальное определение для smart-pointer. Не для чего и как устроен и какие виды его бывают и могу ли я его запрограммировать или взять из boost, напрмиер, а именно теоретическое определение. Я и сейчас не отвечу…
Ещё спрашивали, какая сейчас самая мощная видеокарта. Я тогда хотел админом временно устроиться в сеть кофеен — ОЧЕНЬ ВАЖНО знать название самой мощной видеокарты, ценой в половину месячног ооборота этих кофеен. Снихсодительно рпиняли, но я отказался у них работать. После подобных вопросов лучше разворачиваться и скорее бежать подальше.


Глас вопиющего в пустыне… ТС, Вы хоть понимаете, что те эйчары, которыми Вы возмущаетесь, не читают Хабр вообще. У них с утра лента ВК, где ничего, кроме их френдов, «Юмора Шрёдингера» и пары разной степени ванильности пабликов. А нормальным эйчарам Ваши советы в принципе не нужны. Они и так всё знают.




**********************************


Смотря для каких целей тебе нужен опыт. Учить по книгам особенности последней React.js не стоит. Там все устаревает с такой скоростью, что книги не помогут. Но базовые вещи — вполне. «Компьютерные сети» Танненбаума, что-то об устройстве операционных систем, книги о базовых концепциях в программировании — все это актуально и сейчас.

Мне нравятся курсы на Coursera, они классные и намного полезнее в каких-то аспектах, чем классическое высшее образование, которое я получил.

Конференции — это круто. Я даже выступил на трех в этом году: Selenium Camp в Киеве, Heisenbug в Питере и DevDays в Вильнюсе. Они все были в первой половине года, и я так сильно устал, что взял небольшой перерыв. Но зато я получил опыт в выступлениях, пообщался с людьми — как со спикерами, так и со слушателями. Общение в кулуарах — это, наверное, самая ценная часть любой конференции.



Любой уважающий себя айтишник занимается технологиями и в свободное время тоже — кто-то больше, кто-то меньше, но мне, кажется, все. Но если выйти за пределы IT, то я хожу на тренировки по крав-мага и кикбоксингу — никаких поясов, just for fun. Единоборства для меня выгодно отличаются от просто тренировок в зале, которые меня не привлекают совсем.

В остальном — стандартно: люблю посмотреть сериалы, почитать книжку, поиграть в PlayStation. Хотя все это занимает у меня сейчас меньше времени, чем раньше. Тем не менее, не жалею о потраченном времени. Из последнего могу посоветовать израильский сериал о том, как спецслужбы борются с террористами — «Фауда» — выходит на Netflix.



Из учебной литературы имеет смысл почитать базовые книжки. Того же Танненбаума — об устройстве операционных систем и сетей. Хотя с Танненбаумом нужна сила воли. Я обычно засыпаю, когда его читаю.

А если ты читаешь какие-то книги по программированию, то имеет смысл прочитать главу, переключиться в IDE и там попробовать имплементировать то, о чем говорили в главе.



У меня уже больше пяти лет опыта и мне кажется, что нет ограничений из серии «2, 5 или 10 лет». Если ты хочешь быть инженером и оставаться актуальным, то обучение должно быть постоянным. Нужно пробовать новые языки, инструменты, фреймворки, подходы. Иначе ты останешься за бортом. Но это не обязательно плохо — тот же COBOL до сих пор актуален, и люди, которые разбираются в нем, зарабатывают много денег.





6. Где лучше перенимать чужой опыт — в вузе, на конфах, на хабре? Еще где-то?
Частично — на Хабре. Стоит смотреть, что люди пишут, и обязательно читать комментарии. И обязательно лезть в source code проектов на GitHub, которые более или менее «со звездочками».
С книгами вот все плохо — очень редко можно найти такую, где все уже давно не устарело. Они могут подойти для начинающих, потому что там много места отведено тому, как устроена технология в принципе. А если ты уже что-то умеешь, то я бы советовал читать блоги евангелистов технологии, которой ты пользуешься.
Но в любом случае ты будешь факапить поначалу, где только можно.







Расскажи про 3 любимые книги — учебную, научно-популярную и художественную.

Думаю, нужно почитать классические книги по хорошему коду. Gang of four (авторы книги Design Patterns — прим. ред.) надо обязательно. Но в целом я особо смысла в учебных книгах не вижу, потому что то, что ты читаешь сегодня, завтра уже устаревает. Проще почитать официальную документацию — будет тот же результат.
Научпоп не особо читаю, но стараюсь смотреть на YouTube «Антропогенез», где ребята против альтернативных теорий и пытаются рассказать, как все в науке обстоит на самом деле.
Художественная — «Чапаев и пустота», Пелевина. Мне вообще Пелевин нравится.



Вы не правы, я очень даже заморачиваюсь с чтением спецификаций. Во время разговора привел шуточный пример: 1 + '1' — 1 и да я прекрасно понимаю как сие в JS работает, но в повседневной жизни предпочел бы словить ошибку «Operator '-' cannot be applied to operands of type 'string' and 'int'».

Тупо не делайте так, заведите линтер, который не даст вам это сделать по ошибке





Какие значения i выведет цикл while?
важность: 4
Для каждого цикла запишите, какие значения он выведет. Потом сравните с ответом.
Префиксный вариант
var i = 0;
while (++i < 5) alert( i );
Постфиксный вариант
var i = 0;
while (i++ < 5) alert( i );
решение
От 1 до 4
var i = 0;
while (++i < 5) alert( i );
Первое значение: i=1, так как операция ++i сначала увеличит i, а потом уже произойдёт сравнение и выполнение alert.
Далее 2,3,4.. Значения выводятся одно за другим. Для каждого значения сначала происходит увеличение, а потом – сравнение, так как ++ стоит перед переменной.
При i=4 произойдет увеличение i до 5, а потом сравнение while(5 < 5) – это неверно. Поэтому на этом цикл остановится, и значение 5 выведено не будет.
От 1 до 5
var i = 0;
while (i++ < 5) alert( i );
Первое значение: i=1. Остановимся на нём подробнее. Оператор i++ увеличивает i, возвращая старое значение, так что в сравнении i++ < 5 будет участвовать старое i=0.
Но последующий вызов alert уже не относится к этому выражению, так что получит новый i=1.
Далее 2,3,4.. Для каждого значения сначала происходит сравнение, а потом – увеличение, и затем срабатывание alert.
Окончание цикла: при i=4 произойдет сравнение while(4 < 5) – верно, после этого сработает i++, увеличив i до 5, так что значение 5 будет выведено. Оно станет последним.



https://www.reddit.com/r/learnjavascript/comments/5nev54/thought_i_understood_closure_well_but_guess_not/

https://toster.ru/q/385881

https://habr.com/company/wirex/blog/419193/

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence

https://habr.com/company/piter/blog/424261/

https://www.reddit.com/r/learnjavascript/comments/5nev54/thought_i_understood_closure_well_but_guess_not/
     
 
what is notes.io
 

Notes.io is a web-based application for taking notes. You can take your notes and share with others people. If you like taking long notes, notes.io is designed for you. To date, over 8,000,000,000 notes created and continuing...

With notes.io;

  • * You can take a note from anywhere and any device with internet connection.
  • * You can share the notes in social platforms (YouTube, Facebook, Twitter, instagram etc.).
  • * You can quickly share your contents without website, blog and e-mail.
  • * You don't need to create any Account to share a note. As you wish you can use quick, easy and best shortened notes with sms, websites, e-mail, or messaging services (WhatsApp, iMessage, Telegram, Signal).
  • * Notes.io has fabulous infrastructure design for a short link and allows you to share the note as an easy and understandable link.

Fast: Notes.io is built for speed and performance. You can take a notes quickly and browse your archive.

Easy: Notes.io doesn’t require installation. Just write and share note!

Short: Notes.io’s url just 8 character. You’ll get shorten link of your note when you want to share. (Ex: notes.io/q )

Free: Notes.io works for 12 years and has been free since the day it was started.


You immediately create your first note and start sharing with the ones you wish. If you want to contact us, you can use the following communication channels;


Email: [email protected]

Twitter: http://twitter.com/notesio

Instagram: http://instagram.com/notes.io

Facebook: http://facebook.com/notesio



Regards;
Notes.io Team

     
 
Shortened Note Link
 
 
Looding Image
 
     
 
Long File
 
 

For written notes was greater than 18KB Unable to shorten.

To be smaller than 18KB, please organize your notes, or sign in.