Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Резюме для программиста

89957  1 2 3 4 5 6 7 8 9 10 11 все
Murr патриот09.08.21 00:18
Murr
NEW 09.08.21 00:18 
в ответ Kot_Basilio 08.08.21 23:54

но и в частности именно под это конкретное место

-----

Пришел как-то на интервью как шарповый кодер.

Ни одного вопроса по шарпу, дотнету, вебсервисам... один сплошной СКЛ...

В конце их спрашиваю :

- Я пришел как шарпист, а вы меня спрашивали только по СКЛ - в чем причина?

- У нас ушел специалист по СКЛ - ищем замену...спок

koder патриот09.08.21 06:31
koder
NEW 09.08.21 06:31 
в ответ Kot_Basilio 08.08.21 23:54
Врагов себе наживать прямо с Vorstellungsgespräch не стоит, потом тоже будет достаточно возможностей.


Если задавать неправильные вопросы, то таких возможностей скореее всего не будет. Потому что присутствующие как раз и принимают решение о дальнейшей совместной работе.улыб


koder патриот09.08.21 06:40
koder
NEW 09.08.21 06:40 
в ответ AlexNek 08.08.21 18:50
Мне тоже нужно знать куда идти и с кем работать. Иногда ясно, иногда нет.

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


alex445 местный житель09.08.21 09:53
NEW 09.08.21 09:53 
в ответ Murr 08.08.21 03:29, Последний раз изменено 09.08.21 09:57 (alex445)
- ладно говорю - не проблема - dля большой таблицы наиболее быстрым будет дроп & креате...

Тоже сразу об этом подумал, но сломается ORM. Придётся раскидывать по всем приложениям обновление ORM. Так что, пожалуй, лучше подождать очистки через delete from table, даже если это займёт сутки. Это же одноразово делаться будет?


Обновлять и проверять ORM - это надо заводить таск на день работы программиста, если не больше - в зависимости от того, сколько на эту БД и ORM завязано. А очистить таблицу скриптом или процедурой - пару минут работы DBA.

AlexNek патриот09.08.21 10:23
AlexNek
NEW 09.08.21 10:23 
в ответ koder 09.08.21 06:40
начнет нас по ангуляру гонять

А кто сказал, что задавать нужно узконаправленные технические вопросы?

Именно это почти бессмысленно с обеих сторон.

alex445 местный житель09.08.21 10:25
NEW 09.08.21 10:25 
в ответ AlexNek 08.08.21 13:03

Понятно ЦОС и Котельников в пролёте хммм


Что там с NI и LabView? Сколько вообще проектов было? Чем можете похвастаться в реализации проектов?

Как проходила разработка, что использовали? На что ушло 10 лет?

Надо обязательно что то найти...

С Лабвью работал другой парень - он программировал плату, а я с платой общался через Ethernet посредством TCP. Там ещё была проблема, что плата была на ARM-процессоре, у которого другой порядо записи бит в байтах (endianness) - приходилось при парсинге все значений реверсировать порядок бит.


Короче, щас дописываю новый вариант резюме. Решил действительно сжать часть про обучение и школу выкинуть, и в опыте работы добавлю описание работы и ещё одного работодателя.


Кстати, как я понял, если есть мастер и бакалавр в той же области, то бакалавра можно опускать? Т.е. я сначала бака получил, а потом мастера в той же области.


Я например иногда спрашиваю: А как Вы относитесь к Uncle Bob?

Если чел. не знает ни Роберта Martin-а ни Martin-а Fowler, то с ним уже всё ясно.

Да даже информация Git или SVN говорит о многом.

Хмм... Я не знаю этих трёх чуваков, и Гита у меня нет. )))


Во вторых дурь каждого сразу видна и без каверзных вопросов.

Я на собесах говорил, что не люблю джаваскрипт. Похоже, не нужно было этого делать. Тем более, что я его почти не использовал - т.е. не могу профессионально указать слабые стороны джаваскрипт и объяснить, почему он плохой. Но он мне сразу не нравится, даже с поверхностной точки зрения - я начитался статей, где люди пытаются делать с ним элементарные вещи, типа сложения чисел или работы с массивами, а из-за отсутствия типизации там вылазит всякая хрень. Ну джаваскриптеры говорят, что мол нужно просто знать длинный список правил, как там типы приводятся, и вообще заранее знать, с каким типом данным ты работаешь, или проверять их тип, прежде чем работать. Если такие проблемы даже в элементарном, что будет, когда глубже копать начнёшь? А народ пытается на нём огромные приложения писать, обложившись костылями, добавляющими типизацию, работу с числами и прочим. Вот это я всё выпалил, а на меня посмотрели как-то странно и спросили - "а если мы скажем тебе сайт сделать?". Ну я сказал, что если скажете, то я конечно попробую, но я не спец по сайтам, поэтому лучше эту работу дать профи. А вакансия была в основном с десктопом, и во второстепенных навыках было вроде HTML, JS, CSS.


Среди работодателей ходит мнение, что разработчик должен быть гибким. Сишарпера на джаву перекинуть с переобучением на ходу, десктопера на веб или обратно - в порядке вещей. Вы же у себя в резюме написали, что вы гибкий и обучающийся? Ну вот, вперёд! Вон у нас молодые прыгают по технологиям и языкам как сайгаки - не отказываются от непрофильных заданий. А вы, тридцатилетние старпёры, что-то много претензий и условий ставите.

alex445 местный житель09.08.21 10:34
NEW 09.08.21 10:34 
в ответ AlexNek 09.08.21 10:23, Последний раз изменено 09.08.21 10:35 (alex445)
А кто сказал, что задавать нужно узконаправленные технические вопросы?
Именно это почти бессмысленно с обеих сторон.

Меня гоняли, т.к. я упоминал эти вещи в своём резюме. Вот в этом посте Резюме для программиста - Пробегусь тезисам которые треде увидел Считаю - Программирование (germany.ru)

человек указал в своём резюме (внизу на картинках) XML, SQL и прочее. А как он эти технологии знает? Что насчёт сложных иннер-аутер-джойн со специфическими данными? Или только самые простые операции делал? Или вот C# указан и типа мультитрединг - расскажите особенности работы с барьерами памяти, семафорами и прочим. Если не ответит, это будет выглядеть, как не знает, но указывает в резюме.


Или, например, мне на собесе дали пример замудренного наследования (ну прямо из списка каверзных задач почти) и сказали, что выведет функция в третьем потомке. Надо было знать тонкости, как наследуется то-то и то-то при таком-то модификаторе доступа в родительских классах и таком-то - в дочерних. Я хотел спросить, а они на продакшене такие же замудрёные схемы наследования постоянно используют? - Мы хотим знать, насколько человек глубоко разбирается. Но если не ответишь, то дальше по собесу не пройдёшь. Как я понимаю, им нужны были лишь те, кто очень глубоко разбирается. На зарплату +-100к рублей в 2016 году в Сибири.

AlexNek патриот09.08.21 10:49
AlexNek
NEW 09.08.21 10:49 
в ответ alex445 09.08.21 10:25
реверсировать порядок бит

И как делали?


Я не знаю этих трёх чуваков, и Гита у меня нет

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


Я на собесах говорил, что не люблю джаваскрипт

Неправильная позиция, обычно нужно говорить о положительном, а если спросят, то ответ должен быть более гибким.

AlexNek патриот09.08.21 11:04
AlexNek
NEW 09.08.21 11:04 
в ответ alex445 09.08.21 10:34
А как он эти технологии знает?

Никто не гарантирует, что ответы показывают истинное знание.

Если человек сделал за 10 лет несколько больших проектов и рассказывает как он решал сложные проблемы там, то конкретные знания конкретных закавык не играют большой роли. Если попадется, то решит.

И опять таки, тех кто спрашивает подобные вопросы интересует кодер, а не разработчик.

Вот например, какие вы паттерны и либы использовали в своих WPF проектах? О банде четырёх слышали?

alex445 местный житель09.08.21 11:18
NEW 09.08.21 11:18 
в ответ AlexNek 08.08.21 13:03, Последний раз изменено 09.08.21 11:32 (alex445)
Что там с NI и LabView? Сколько вообще проектов было? Чем можете похвастаться в реализации проектов?
Как проходила разработка, что использовали? На что ушло 10 лет?

Сначала я делал простые проекты уровня студента - типа локальная БД и к ней редактор, или дистрибутивы для уже существующих приложений делал. Это всё не стоит даже упоминать - потому что качество первых проектов было у меня хреновым. Помню, как первую БД делал без связей (relations) между таблицами, а потом в коде пытался по одинаковым айдишникам вытащить записи - т.е. эти связи как бы искуственно создать. Там кроме меня в этом почти никто не разбирался, поэтому код ревью и всякие наставления старших - не про меня. Максимум - консультировался в интернете. Потому конечно стал всё нормально делать. А потом сделал простенький сайт для нашей лаборатории на ASP.NET MVC 2, затем перевёл его на 4 версию, и хотел добавить модуль Silverlight для работы с USB-токенами HASP. Дошёл до того, что на сайте смог получить доступ к токену, прочитать с него инфу и показать клиенту, но далее и Silverlight стал в загоне, и у меня на другой проект переключили. Только в последние лет 4-5 делал один большой проект с платами сбора данных Лабвью и диагностики Verbrennungsmotoren. Мы с ним завязли, т.к. долго отрабатывали алгоритмы и много раз переписывали интерфейсы и прочее. Сделал для этого проекта собственно блок расчёта, клиент на WPF (с использованием MVVM и всего такого), очень простой сервис на WCF, сайт на ASP.NET MVC с отображением результатов и графиков, ну и базу данных на MS SQL Server, где всё это хранилось, включая данные клиентов. Клиент на WPF был защищён ключём HASP, сделал на WiX# установщик к нему. Клиент на WPF подключался через TCP к плате сбора данных, и в реальном времени парсил данные с неё, вёл расчёт и отображал на бегущем графике (Dynamic Data Display, который теперь Interactive Data Display) разные параметры двигателя, к которому была подключена плата.


Внутри, правда, всё сделано не очень хорошо. Особенно меня не удовлетворяла работа с многопоточностью. Я делал всё в 3-4 потоках, что-то запускал по-старинке через Thread.Start и синхронизировал через lock, что-то успел переписать на Task-based. Async-await использовал немного. Но так к одной консистенции и не привёл - уже уезжал. В принципе, программа работала и была многократно проверена в разных условиях на разном оборудовании. Описания багов и дальнейшие планы по фичам оставил коллегам.


Ну и под конец с гиперспектральными камерами связался - парсил там их данные в ENVI-формате, спектры изображений вытаскивал.


Параллельно в качестве хобби пытался делать 3D-игрушку сначала на WPF, потом на SharpDX (вовремя бросил - оказалось, что он загнулся вскорости), теперь на Юнити пытаюсь. Но каждый раз доводил лишь до простых поделок, типа этого sitdRemake - YouTube


Меня единственное, что в этом всём беспокоит - у меня нет глубоких знаний по всему этому. Большую часть делал первый раз. Показывать код - просто расписаться, что ты не профи. Если кто-то начнёт гонять, тыкая пальцем в код "а тут почему так? а вы знаете, к чему это может привести?", то что я могу ответить? - Надо было быстро, и я не успел разобраться. Или поленился глубже копнуть. И я незнаю, к чему тут это может привести.

alex445 местный житель09.08.21 11:21
NEW 09.08.21 11:21 
в ответ alex445 09.08.21 11:18, Последний раз изменено 09.08.21 11:21 (alex445)
А потом сделал простенький сайт для нашей лаборатории на ASP.NET MVC 2, затем перевёл его на 4 версию

Кстати, всегда считал это какой-то работой "должно быть сделано походу, не отвлекаясь от текущих задачь". А сегодня наткнулся на статью миграции всего лишь фронт-энд фреймворка на ближайшую соседнюю версию Гайд по миграции с Vue 2 на Vue 3. Часть 2 / Habr, где народ целые инструкции пишет. Может, и мне тоже написать в достижения, что мигрировал проект с ASP.NET MVC 2 на 4? Правда, сайт был маленький.

AlexNek патриот09.08.21 11:47
AlexNek
NEW 09.08.21 11:47 
в ответ alex445 09.08.21 11:18
Это всё не стоит даже упоминать

Ну почему, различные проекты для ..., с использованием БД хх


большой проект с платами сбора данных Лабвью и диагностики Verbrennungsmotoren

Ну вот уже что то: проект диагностики Verbrennungsmotoren. Уже можно абзац написать. В ваших районах как раз такие вещи будут интересны.


Внутри, правда, всё сделано не очень хорошо.

Об этом писать не следует, главное что сами понимаете.


у меня нет глубоких знаний по всему этому

Ну так копайте, от завтрака и до забора. спок Времени еще будет навалом.

alex445 местный житель09.08.21 11:48
09.08.21 11:48 
в ответ AlexNek 09.08.21 10:49, Последний раз изменено 09.08.21 11:53 (alex445)
реверсировать порядок бит
И как делали?

Прошу прощения - не бит, а байт.


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


// ---- Учёт порядка байт (endianness), по которому хранятся данные в архитектурах

// Из-за реверсивного порядка байт в комьпютерной архитектуры плат LabVIEW (big-endian)

// по отношению к порядку байт в копьютерной архитектуре х86 (little-endian),

// последовательность байт для каждого значения (т. е. для каждой переменной, хранящей какое-то значение),

// полученного от аппаратного обеспечения LabVIEW, должна быть реверсирована.

// Это в случае, если программное обеспечение на стороне LabVIEW не делает такой реверс само

// (по умолчанию не делает, да мы и не договаривались делать реверс).

// Например, если получено два значения типа, аналогичному типу Int32 в .NET, нужно при переводе каждого этого значения в Int32

// (через, например, метод BitConverter.ToInt32) реверсировать порядок байт этого значения перед переводом.

// При этом строки реверсировать не нужно

// (по крайней мере, если эти строки представляют собой массивы однобайтовых значений - например, когда используется ASCII или UTF-8;

// если же это строки с двух- или более байтовыми значениями, то, НАВЕРНОЕ (т. е. надо выяснить!) надо тоже менять порядок байт).


// При отправке данных с х86 на LabVIEW байты всех значений надо также реверсировать для приведения их к порядку, с которым работает LabVIEW (big-endian).


// В этом классе и классах, которые относятся к парсингу данных с LabVIEW, предполагается, что они запущены на архитектуре с порядком байт little-endian,

// а принимают и отправляют данные на архитектуру с порядком байт big-endian.

// Т. е. эти классы не адаптируют свою работу под произвольные порядки байт и не проверяют свойство BitConverter.IsLittleEndian.

// -----------------------------------------------


Реверсировал банальным Reverse из LINQ по массиву байт. Например, для протокола стандарта SAE J1939


public static byte[] Serialize(SetMode_SAEJ1939 structToSerialize)
{
    var modeBytes =
        BitConverter.GetBytes((uint)structToSerialize._mode)
        .Reverse();

    byte[] payloadBytes = structToSerialize._payload;

    int payloadLength = payloadBytes.Length;

    var payloadLengthBytes =
        BitConverter.GetBytes(payloadLength)
        .Reverse();

    var extendBytes =
        BitConverter.GetBytes(structToSerialize._extend)
        .Reverse();

    var identifierBytes =
        BitConverter.GetBytes(structToSerialize._identifier)
        .Reverse();

    byte[] resultBytes =
        modeBytes
        .Concat(payloadLengthBytes)
        .Concat(payloadBytes)
        .Concat(extendBytes)
        .Concat(identifierBytes)
        .ToArray();

    return resultBytes;
}

AlexNek патриот09.08.21 11:51
AlexNek
NEW 09.08.21 11:51 
в ответ alex445 09.08.21 11:21
тоже написать в достижения, что мигрировал проект с ASP.NET MVC 2 на 4?

ну если главные проблемы, не забыли то пишите. О размере можно не упоминать.

У вас главная задача получить первое место работы здесь и продержаться там хотя бы год.

Да, будет очень сложно, но рано или поздно что то найдётся.

alex445 местный житель09.08.21 12:03
NEW 09.08.21 12:03 
в ответ AlexNek 09.08.21 11:04, Последний раз изменено 09.08.21 12:04 (alex445)
Вот например, какие вы паттерны и либы использовали в своих WPF проектах? О банде четырёх слышали?

Основной паттерн WVVM. Всякие синглтоны, обсерверы, инверсии зависимостей и прочее - специально ничего не использовал. Может, оно само как-то. Либы указал в другом посте выше.


Про "Банду четырёх" слышал только, что это четыре автора, которые типа опытные и написали книжку о всяких паттернах и программировании вообще. Не читал.


Читал "Совершенный код" (Code Complete) Макконнела по диагонали - ну там где-то треть для меня было что-то вроде азбучных истин, ещё треть - ну ок, логично, и остальное - любопытно, можно подумать применять.


Вообще, всякие вопросы типа "а ты читал это и это?" для меня похожи на вопросы гопника из подворотни "а ты Васю Серого знаешь? а кого знаешь?". Ну не читал я одно, а читал другое. Программировал я программировал, а потом прочитал, что это, оказывается, паттерн Dependency Injection - какой-то его вид. Ну для меня это примерно как - я хожу по улицам, а на самом деле по-научному би-пе-да-ли-ру-ю. ))

AlexNek патриот09.08.21 12:08
AlexNek
NEW 09.08.21 12:08 
в ответ alex445 09.08.21 11:48

Что такое DRY слышали?

alex445 местный житель09.08.21 12:13
NEW 09.08.21 12:13 
в ответ AlexNek 09.08.21 11:47

Ну почему, различные проекты для ..., с использованием БД хх


большой проект с платами сбора данных Лабвью и диагностики Verbrennungsmotoren

Ну вот уже что то: проект диагностики Verbrennungsmotoren. Уже можно абзац написать. В ваших районах как раз такие вещи будут интересны.

Да, я уже понял, что лучше всё это расписать.


Глянул на другие резюме - люди любую мелочь туда засовывают. В принципе, я могу свой хелпер для гридов в XAML тоже на Гитхаб вытащить, наверное. Просто никогда не считал это "достижением". А потом смотрю, люди "тьюториалы" выпускают, как три кнопки нажать Adding a texture to a plane in Unity - YouTube. Если вы не понимаете, то это видео из разряда "как создать переменную в C# и присвоить ей значение".

alex445 местный житель09.08.21 12:18
NEW 09.08.21 12:18 
в ответ AlexNek 09.08.21 12:08
Что такое DRY слышали?

Драй, кисс и прочие - слышал и читал не раз. И забывал точные определения. Это всё советы из разряда очевидных и примитивных. Хотя, вот читнул про драй

Don't repeat yourself - Wikipedia


or using data normalization to avoid redundancy

И там ссылка на


Computing[edit]

In computing, the reduction of data to any kind of canonical form is commonly called data normalization.

For instance, database normalization is the process of organizing the fields and tables of a relational database to minimize redundancy and dependency.[6]

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

alex445 местный житель09.08.21 12:21
NEW 09.08.21 12:21 
в ответ AlexNek 09.08.21 12:08, Последний раз изменено 09.08.21 12:21 (alex445)
AlexNek

А вы сейчас на работе? А то отвечаете мне так долго... Я-то дома сижу - балду пинаю и резюме переписываю, почитывая про сериализацию в Юнити. )))

AlexNek патриот09.08.21 12:21
AlexNek
NEW 09.08.21 12:21 
в ответ alex445 09.08.21 12:03
Основной паттерн WVVM.

ну уже хорошо, так и пишите.


а ты Васю Серого знаешь?

Скорее уж - А Ленина знаешь, а Сталина? спок

1 2 3 4 5 6 7 8 9 10 11 все