Здравствуйте, Danchik, Вы писали:
D>Здравствуйте, -rsdn-, Вы писали:
R>>Один – Pin-бит – поднимается у объектов, которые временно нельзя перемещать в другую область памяти.
D>Это? http://dotnet.dzone.com/news/net-memory-control-use-gchandl
похоже что да
Re: Как сделать pin объекту чтобы GC его не перемещал по пам
как на заказ, из серии "аппендицит, пациента я уже разрезал, нужно ли стерилизовать скальпель?".
Т.е. во-первых, вопросы оччень специфические и понадобиться могут в ещё более специфических сценариях.
Во-вторых, сами вопросы абсолютно не соответствуют уровню сложности этих сценариев, спрашивается самый минимум, который по идее отдельным вопросом обсуждаться не должен.
Не, серьёзно, кто-то хочет возиться с interop-ом или с проблемами с gc, не зная ничего про GcHandle?
Здравствуйте, Sinix, Вы писали:
S>Он специально все вопросы подбирал так, чтобы короткий ответ на каждый сводился к "просто не надо так делать"? S>А длинный — к "если вам понадобился ответ на этот вопрос — вы сто процентов делаете что-то не то".
Собеседование это не консультация-наоборот. Кроме того, на собеседовании имеет смысл избегать стандартных вопросов или хотя бы стандартных формулировок. Ну и нет полной информации о том, что именно было кроме указаных вопросов и какова была цель представленых вопросов.
>кто-то хочет возиться с interop-ом или с проблемами с gc, не зная ничего про GcHandle
Вопросы на собеседовании проверяют и уровень, и опыт, и кругозор и тд и тд. Далеко не всегда они задаются ровно по той теме, что требуется. Темы то всегда меняются.
Если кандидат ничего не знает про пинование и gc-handle, это означает, что определенного опыта у него просто нет. Тоже самое можно проверить самыми разными способами, от решения задач до расскажите-чем-занимались.
У интервьюера очень простая в использовании тактика — как выявить побольше пробелов/сильных мест. Такую информацию можно и нужно использовать.
Есть еще более интересная тактика — спрашивать тоже самое непрямыми способами, типа "у нас есть тормоза с ГЦ, попробуйте используя да-нет-вопросы определить причину(ответ вот под этой бумажкой)". У новичков-миддлок убивает мозг, зато можно очень четко отранжировать опытных разрабов.
P.S. "не те вопросы на собеседовании" — это уже целый жанр на РСДН.
Re[3]: Как сделать pin объекту чтобы GC его не перемещал по памяти (фрагментация
Здравствуйте, Ikemefula, Вы писали:
I>Если кандидат ничего не знает про пинование и gc-handle, это означает, что определенного опыта у него просто нет.
Не опыта, а знаний. Опыт появляется когда ты решаешь проблему. Хаки с gchandle вряд ли решают те проблемы, с которыми сталкивается топикстартер, интервьюер и все здесь присутствующие.
I>У интервьюера очень простая в использовании тактика — как выявить побольше пробелов/сильных мест. Такую информацию можно и нужно использовать.
Единственное для чего можно использовать такую инфу — торговаться по зп или самоутвердиться интервьюеру.
I>Есть еще более интересная тактика — спрашивать тоже самое непрямыми способами, типа "у нас есть тормоза с ГЦ, попробуйте используя да-нет-вопросы определить причину(ответ вот под этой бумажкой)". У новичков-миддлок убивает мозг, зато можно очень четко отранжировать опытных разрабов.
Единственный правильный ответ — запустить профайлер. Все остальное — шаманство и гадание.
Re[4]: Как сделать pin объекту чтобы GC его не перемещал по памяти (фрагментация
Здравствуйте, gandjustas, Вы писали:
I>>Есть еще более интересная тактика — спрашивать тоже самое непрямыми способами, типа "у нас есть тормоза с ГЦ, попробуйте используя да-нет-вопросы определить причину(ответ вот под этой бумажкой)". У новичков-миддлок убивает мозг, зато можно очень четко отранжировать опытных разрабов.
G>Единственный правильный ответ — запустить профайлер. Все остальное — шаманство и гадание.
Кстати, запуск профайлера отлично укладывается в сюжет да-нетки.
Но тут есть другая проблема — собеседователь должен сам чётко представлять, как
всё устроено, и что будет в разных ситуациях.
Re[4]: Как сделать pin объекту чтобы GC его не перемещал по памяти (фрагментация
Здравствуйте, gandjustas, Вы писали:
I>>Если кандидат ничего не знает про пинование и gc-handle, это означает, что определенного опыта у него просто нет. G>Не опыта, а знаний. Опыт появляется когда ты решаешь проблему. Хаки с gchandle вряд ли решают те проблемы, с которыми сталкивается топикстартер, интервьюер и все здесь присутствующие.
Не бывает такого, что бы опыт был, а знания на нуле слева.
I>>У интервьюера очень простая в использовании тактика — как выявить побольше пробелов/сильных мест. Такую информацию можно и нужно использовать. G>Единственное для чего можно использовать такую инфу — торговаться по зп или самоутвердиться интервьюеру.
Так себе идея.
I>>Есть еще более интересная тактика — спрашивать тоже самое непрямыми способами, типа "у нас есть тормоза с ГЦ, попробуйте используя да-нет-вопросы определить причину(ответ вот под этой бумажкой)". У новичков-миддлок убивает мозг, зато можно очень четко отранжировать опытных разрабов. G>Единственный правильный ответ — запустить профайлер. Все остальное — шаманство и гадание.
Ага, еще и взять на три месяца на испытательный срок, ага. Профайлер всего лишь предоставляет определенную инфу. Её же может предоставить и интервьюер. Принципиально, никакой разницы, где ты узнаешь про состояние хипов и поколейний, у профайлера или у интервьюера.
Re[5]: Как сделать pin объекту чтобы GC его не перемещал по памяти (фрагментация
Здравствуйте, Ikemefula, Вы писали:
I>Здравствуйте, gandjustas, Вы писали:
I>>>Если кандидат ничего не знает про пинование и gc-handle, это означает, что определенного опыта у него просто нет. G>>Не опыта, а знаний. Опыт появляется когда ты решаешь проблему. Хаки с gchandle вряд ли решают те проблемы, с которыми сталкивается топикстартер, интервьюер и все здесь присутствующие.
I>Не бывает такого, что бы опыт был, а знания на нуле слева.
Зато бывает обратное. Знания получить легко, берешь от 5 до 10 книг по теме и все внимательно читаешь. И все, знаний хватит пройти любое собеседование.
I>>>У интервьюера очень простая в использовании тактика — как выявить побольше пробелов/сильных мест. Такую информацию можно и нужно использовать. G>>Единственное для чего можно использовать такую инфу — торговаться по зп или самоутвердиться интервьюеру. I>Так себе идея.
Других не вижу.
I>>>Есть еще более интересная тактика — спрашивать тоже самое непрямыми способами, типа "у нас есть тормоза с ГЦ, попробуйте используя да-нет-вопросы определить причину(ответ вот под этой бумажкой)". У новичков-миддлок убивает мозг, зато можно очень четко отранжировать опытных разрабов. G>>Единственный правильный ответ — запустить профайлер. Все остальное — шаманство и гадание.
I>Ага, еще и взять на три месяца на испытательный срок, ага. Профайлер всего лишь предоставляет определенную инфу. Её же может предоставить и интервьюер. Принципиально, никакой разницы, где ты узнаешь про состояние хипов и поколейний, у профайлера или у интервьюера.
Профайлер показывает не только что плохо, но и где плохо. Без профайлера ты можно только гадать, профайлер четко покажет где создаются объекты. А дальше уже будешь думать уменьшать им срок жизни или не создавать, а переиспользовать.
Re[6]: Как сделать pin объекту чтобы GC его не перемещал по памяти (фрагментация
Здравствуйте, gandjustas, Вы писали:
I>>Не бывает такого, что бы опыт был, а знания на нуле слева. G>Зато бывает обратное. Знания получить легко, берешь от 5 до 10 книг по теме и все внимательно читаешь. И все, знаний хватит пройти любое собеседование.
Знания без практики ничего не стоят. Сколько ни видел таких начитаных, любой нестандартный вопрос срубает наповал.
Связи между различными понятиями образуются исключительно через практику.
G>>>Единственное для чего можно использовать такую инфу — торговаться по зп или самоутвердиться интервьюеру. I>>Так себе идея. G>Других не вижу.
В том то и дело.
I>>Ага, еще и взять на три месяца на испытательный срок, ага. Профайлер всего лишь предоставляет определенную инфу. Её же может предоставить и интервьюер. Принципиально, никакой разницы, где ты узнаешь про состояние хипов и поколейний, у профайлера или у интервьюера. G>Профайлер показывает не только что плохо, но и где плохо.
Представь себе, что профайлер находится в руках неопытного челоевка навроде operation admin, который тебе по телефону сообщает показания. Твоя задача — по телефону собрать инфу, принять решение и описать подробные инструкции, что где проверить, а что где поправить.
> Без профайлера ты можно только гадать, профайлер четко покажет где создаются объекты. А дальше уже будешь думать уменьшать им срок жизни или не создавать, а переиспользовать.
Вся эта информация есть у интервьюера, приготовлена _заранее_. Очень популярный вопрос у многих заказчиков.