Только что с интервью...
От: Mishka Норвегия  
Дата: 28.03.17 13:47
Оценка: +1 -1 :)
Итак, Лондон, большой банк, всё серьёзно. Встречаю соискательницу с чётким CV, 9 лет опыта С#, WPF, сервер, в общем на бумаге всё что надо.
Вопрос: using в С# где и зачем
Ответ:
using 
{
  var o = new Object();
}
// здесь GC будет знать что объект свободен и его можно убрать


Re: Только что с интервью...
От: IT Россия linq2db.com
Дата: 28.03.17 14:23
Оценка: +8 -3
Здравствуйте, Mishka, Вы писали:

M>


Может переволновался человек.
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: Только что с интервью...
От: Michael7 Россия  
Дата: 28.03.17 14:28
Оценка:
Здравствуйте, IT, Вы писали:

IT>Здравствуйте, Mishka, Вы писали:


M>>


IT>Может переволновался человек.


От волнения можно было синтаксис забыть, но вот, что using(...) работает только для классов с IDisposable, а не вообще любых объектов, это уже косяк, если она так и программы пишет. Впрочем, что там GC на практике сделает не всегда очевидно.
Re: Только что с интервью...
От: antropolog  
Дата: 28.03.17 14:51
Оценка: 3 (1) +4 -6 :)
Здравствуйте, Mishka, Вы писали:

M>Итак, Лондон, большой банк, всё серьёзно. Встречаю соискательницу с чётким CV, 9 лет опыта С#, WPF, сервер, в общем на бумаге всё что надо.


серъёзно в банках это да ( читай — пускание пыли в глаза ), но вот то что на интервью у кандидата с 9 годами опыта спрашивают про using говорит лишь о том что собеседующий вчерашний студент, понятия не имеющий что такое разработка ПО, даже если ему под сраку лет.
Re[2]: Только что с интервью...
От: IT Россия linq2db.com
Дата: 28.03.17 14:56
Оценка: +6
Здравствуйте, antropolog, Вы писали:

A>серъёзно в банках это да ( читай — пускание пыли в глаза ), но вот то что на интервью у кандидата с 9 годами опыта спрашивают про using говорит лишь о том что собеседующий вчерашний студент, понятия не имеющий что такое разработка ПО, даже если ему под сраку лет.


Не надо бузить. Нормальный вопрос, особенно для скрининга. На интервью приходит такое количество дураков, что задавать нормальные вопросы им не имеет никакого смысла. Такие вопросы как разминка и предварительное определение уровня кандидата вполне нормальны. Другое дело, что человек действительно может переволноваться.
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: Только что с интервью...
От: Mishka Норвегия  
Дата: 28.03.17 14:57
Оценка: +3
Здравствуйте, antropolog, Вы писали:

A>Здравствуйте, Mishka, Вы писали:


M>>Итак, Лондон, большой банк, всё серьёзно. Встречаю соискательницу с чётким CV, 9 лет опыта С#, WPF, сервер, в общем на бумаге всё что надо.


A>серъёзно в банках это да ( читай — пускание пыли в глаза ), но вот то что на интервью у кандидата с 9 годами опыта спрашивают про using говорит лишь о том что собеседующий вчерашний студент, понятия не имеющий что такое разработка ПО, даже если ему под сраку лет.


Серьёзный наезд, учитывя что вопрос по keywords основного языка.
Re[3]: Только что с интервью...
От: IT Россия linq2db.com
Дата: 28.03.17 14:58
Оценка: :))) :)
Здравствуйте, Michael7, Вы писали:

M>От волнения можно было синтаксис забыть, но вот, что using(...) работает только для классов с IDisposable, а не вообще любых объектов, это уже косяк, если она так и программы пишет. Впрочем, что там GC на практике сделает не всегда очевидно.


Кстати, а что будет если убрать using?

{
  var o = new Object();
}
// здесь GC будет знать что объект свободен и его можно убрать?


Помню в плюсах частенько использовал такой финт, чтобы огранить время жизни объекта. В шарпе объект останется болтаться в стеке или будет зачищен?
Если нам не помогут, то мы тоже никого не пощадим.
Re[3]: Только что с интервью...
От: antropolog  
Дата: 28.03.17 15:02
Оценка: +3 -3 :))) :)
Здравствуйте, Mishka, Вы писали:

M>Серьёзный наезд, учитывя что вопрос по keywords основного языка.


я даже не хочу с вами спорить. Я уже устал спорить в этом подфоруме с такими как вы. Вы просто не поймёте. Я уверен что человек знал что такое using. Более того, я уверен что любой кто 9 лет писал на C# знает что такое using. И ещё более того, я уверен что человек, который не знает что такое using и имеет 9 лет опыта в разработке (на любом языке) в разы более полезен как разработчик чем вчерашний студент прочитавший рихтера. И задавая подобные вопросы вы лишь показываете свою некомпетентность как собеседующий и полное отстутствие понимания кто такой хороший разработчик.
Re[3]: Только что с интервью...
От: antropolog  
Дата: 28.03.17 15:05
Оценка: +2 -2
Здравствуйте, IT, Вы писали:

IT>Не надо бузить.

надо

IT>Нормальный вопрос, особенно для скрининга.

для студентов да. Для опытных нет. Точнее это создаст отрицательный отбор на проходильщиков собеседований.

IT>На интервью приходит такое количество дураков, что задавать нормальные вопросы им не имеет никакого смысла.

для опытных людей как раз нормальные вопросы и имеют смысл

IT>Такие вопросы как разминка и предварительное определение уровня кандидата вполне нормальны.

для новичков да, для опытных нет. Это как тестить дальнобойщика и вчерашнего выпускника автошколы на знание ПДД.

IT>Другое дело, что человек действительно может переволноваться.

да.
Re[4]: Только что с интервью...
От: Evgeny.Panasyuk Россия  
Дата: 28.03.17 15:11
Оценка:
Здравствуйте, IT, Вы писали:

IT>Кстати, а что будет если убрать using?

IT>
IT>{
IT>  var o = new Object();
IT>}
IT>// здесь GC будет знать что объект свободен и его можно убрать?
IT>

IT>Помню в плюсах частенько использовал такой финт, чтобы огранить время жизни объекта. В шарпе объект останется болтаться в стеке или будет зачищен?

В каком стеке? Разве в C# завезли хотя бы примитивный escape analysis? В стэке будет указатель.
Что значит "будет зачищен"? Как это по-твоему выглядит в случае копирующего GC? Или ты только про вызов Dispose?
Re[4]: Только что с интервью...
От: Mishka Норвегия  
Дата: 28.03.17 15:12
Оценка: +7 :))) :))) :)
Здравствуйте, antropolog, Вы писали:

A>Здравствуйте, Mishka, Вы писали:


M>>Серьёзный наезд, учитывя что вопрос по keywords основного языка.


A>я даже не хочу с вами спорить. Я уже устал спорить в этом подфоруме с такими как вы. Вы просто не поймёте. Я уверен что человек знал что такое using. Более того, я уверен что любой кто 9 лет писал на C# знает что такое using. И ещё более того, я уверен что человек, который не знает что такое using и имеет 9 лет опыта в разработке (на любом языке) в разы более полезен как разработчик чем вчерашний студент прочитавший рихтера. И задавая подобные вопросы вы лишь показываете свою некомпетентность как собеседующий и полное отстутствие понимания кто такой хороший разработчик.


Ты сам начальник? Или с позиции программера размышляешь? Это вопрос на разминку, таких у меня штук 5 на 2 минуты разговора. Затем идём дальше. Если не понимать keywords используемого языка, то какой нафиг "полезнее"? Я ж не спрашиваю про goto в Java, вот это реально вопрос для викторины. Нафига нанимать программеров, которые не знают свой основной инструмент?

P.S. Вопрос 2 — что есть mutex и зачем он? Это тоже "о боже мой, вы совсем о..уели в своих банках"?
Re[4]: Только что с интервью...
От: Michael7 Россия  
Дата: 28.03.17 15:16
Оценка:
Здравствуйте, IT, Вы писали:


IT>Кстати, а что будет если убрать using?


IT>
IT>{
IT>  var o = new Object();
IT>}
IT>// здесь GC будет знать что объект свободен и его можно убрать?
IT>


IT>Помню в плюсах частенько использовал такой финт, чтобы огранить время жизни объекта. В шарпе объект останется болтаться в стеке или будет зачищен?


GC вычистит ненужный более объект (ушедший из поля видимости). Только using для этого не обязателен, это уже я поспешил замечание сделать. using нужен был, если требовалась очистка, даже при словленном исключении, то есть, это фактически аналог try{}finally{}
Re[2]: Только что с интервью...
От: v6  
Дата: 28.03.17 15:37
Оценка:
Здравствуйте, IT, Вы писали:

IT>Может переволновался человек.


Если переволновалась — исправится на следующих вопросах. Но судя по всему, этого не произошло.
Re: Только что с интервью...
От: sharpcoder Россия  
Дата: 28.03.17 15:40
Оценка: +2
Здравствуйте, Mishka, Вы писали:

M>Итак, Лондон, большой банк, всё серьёзно. Встречаю соискательницу с чётким CV, 9 лет опыта С#, WPF, сервер, в общем на бумаге всё что надо.

M>Вопрос: using в С# где и зачем
M>// здесь GC будет знать что объект свободен и его можно убрать

Прикинь, она идеально знает алгоритмы, структуры данных, паттерны, машинленинг и т.п.
и при этом сама unig не использует, предпочитая вручную вызывать Dispose()?
Re[5]: Только что с интервью...
От: IT Россия linq2db.com
Дата: 28.03.17 15:45
Оценка:
Здравствуйте, Evgeny.Panasyuk, Вы писали:

EP>В каком стеке? Разве в C# завезли хотя бы примитивный escape analysis? В стэке будет указатель.


Я про указатель и говорю.

EP>Что значит "будет зачищен"? Как это по-твоему выглядит в случае копирующего GC? Или ты только про вызов Dispose?


Если указатель в стеке не обнулить или не переиспользовать, то висящий на нём объект будет болтаться в GC до выхода из метода. Вот я и спрашиваю, что там происходит.
Если нам не помогут, то мы тоже никого не пощадим.
Re[4]: Только что с интервью...
От: IT Россия linq2db.com
Дата: 28.03.17 15:46
Оценка:
Здравствуйте, antropolog, Вы писали:

A>для студентов да. Для опытных нет.


У тебя есть однозначный чёткиий критерий кто есть студент, а кто опытный?
Если нам не помогут, то мы тоже никого не пощадим.
Re[5]: Только что с интервью...
От: IT Россия linq2db.com
Дата: 28.03.17 15:48
Оценка:
Здравствуйте, Michael7, Вы писали:

M>GC вычистит ненужный более объект (ушедший из поля видимости). Только using для этого не обязателен, это уже я поспешил замечание сделать. using нужен был, если требовалась очистка, даже при словленном исключении, то есть, это фактически аналог try{}finally{}


Давай без using. Нет его. Влияют ли скобки на время жизни объекта? С областью видимости переменной всё понятно. А как с объектом?
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: Только что с интервью...
От: Mishka Норвегия  
Дата: 28.03.17 16:00
Оценка:
Здравствуйте, sharpcoder, Вы писали:

S>Прикинь, она идеально знает алгоритмы, структуры данных, паттерны, машинленинг и т.п.

S>и при этом сама unig не использует, предпочитая вручную вызывать Dispose()?

Это единственное где using используется?

Я всегда готов послушать, что опытные люди думают. Подкиньте "хорошие" вопросы, а то гублю кандидатов накорню и сам об этом не догадываюсь.
Re[4]: Только что с интервью...
От: Mishka Норвегия  
Дата: 28.03.17 16:04
Оценка: +4
Здравствуйте, antropolog, Вы писали:

A>Здравствуйте, Mishka, Вы писали:


M>>Серьёзный наезд, учитывя что вопрос по keywords основного языка.


A>Я уверен что человек знал что такое using. Более того, я уверен что любой кто 9 лет писал на C# знает что такое using.


Кстати, я более чем уверен, что этот конкретный человек наврал про 9 лет и вообще на C# никогда не писал. Прикинь такие тоже встречаются, не все кто в тельняшках моряки.
Re: Только что с интервью...
От: fmiracle  
Дата: 28.03.17 16:05
Оценка:
Здравствуйте, Mishka, Вы писали:

M>Итак, Лондон, большой банк, всё серьёзно. Встречаю соискательницу с чётким CV, 9 лет опыта С#, WPF, сервер, в общем на бумаге всё что надо.

M>Вопрос: using в С# где и зачем
M>Ответ:
M>// здесь GC будет знать что объект свободен и его можно убрать
M>

Я не собеседую в Лондоне в большой банк, а только в РФ в небольшую компанию. И я часто спрашиваю что такое метод Dispose, для чего применяется, и уже не раз получал ответ, что он нужен для того, чтобы сборщик мусора теперь мог собрать этот объект
При этом человек может работать с C# уже несколько лет, в т.ч. с базами данных.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.