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.
julienkervizic|6 years ago
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