top | item 20874532

(no title)

gerhardi | 6 years ago

I interview people quite often for data engineer positions where good knowledge of SQL is also required and I'll usually have the applicant give me a presentation of some system or data pipeline that they have worked on earlier (any possible business or client secrets can of course be obfuscated or omitted). I'll ask questions about that system or process "like I'm 12 years old" and then I'll make up on the fly some kind of problem statement that I would like to have this and this kind of results from the data - how would you do it? Very often I include problems that would be easily solvable with window functions and more often than not those who know them get hired :)

IMHO it is really helpful to know these.

discuss

order

julienkervizic|6 years ago

Yeah, knowledge of window functions allows to solve quite complex data manipulation problems fairly easily.

For some data-engineering type of work such as sessionization, doing it without window functions would make the task really complicated.

In some platforms such as MySQL there are alternatives such as correlated subqueries that also allow to do extensive data manipulation easily, but at quite the cost penalty.

In my experience, people who know window functions, are already quite well versed in SQL and thus can serve as a good proxy to gauge overall experience in Analytical SQL.

6thaccount2|6 years ago

I need to pick them up myself. I'm decent in SQL, but still have a ways to go and there are a few times a year where they are critical.