First talk with the HR who makes you screening questions about python: methods for list, set, GIL, multiprocessing, async functions, enumerate... Not very hard but be prepared for some deeper python knowledge.
After 2 weeks I had a Live coding challenge which consisted to parse a list of strings:
lines = [ >>> "HD,AmazonMusicX.SAL,20220101" , >>> "SY,sy1,Andorra,202201" , >>> "SY,sy2,Italy,202202" , >>> "TR,tr1,sy1" , >>> "SR,sr42,tr1,Umbrella" , >>> "AR,a42,Rihanna" , >>> "CM,c42,Stewart Christopher" ,
>>> "SL,sl1,10,2.0" , >>> "TR,tr2,sy2" , >>> "SR,sr56,tr2,In The End" , >>> "CM,c48,Shinoda Mike" , >>> "SL,sl2,20,1.0" , >>> "AR,a48,Linkin Park" , >>> "CM,c49,Delson Brad" , >>> "SR,sr67,tr2,La Jumpa" , >>> "SL,sl3,25,3.0" , >>> "AR,a47,Bad Bunny" , >>> "AR,a49,Arcángel" , >>> "FT,2,55,115.0,20220101" ,
into a nested dict:
[ { "filename" : "AmazonMusicX.SAL" , "timestamp" : "20220101" }, { "sr_id" : "sr42" , "summary" : { "id" : "sy1" , "territory" : "Andorra" , "period" : "202201" }, "metadata" : { "title" : "Umbrella" , "artists" : [{ "artist_id" : "a42" , "name" : "Rihanna" }], "composers" : [{ "composer_id" : "c42" , "name" : "Stewart Christopher" }], }, "sales" : { "sales_id" : "sl1" , "num_sales" : 10 , "amount_per_sale" : 2.0 }, }, { "sr_id" : "sr56" , "summary" : { "id" : "sy2" , "territory" : "Italy" , "period" : "202202" }, "metadata" : { "title" : "In The End" , "artists" : [{ "artist_id" : "a48" , "name" : "Linkin Park" }], "composers" : [ { "composer_id" : "c48" , "name" : "Shinoda Mike" }, { "composer_id" : "c49" , "name" : "Delson Brad" }, ], }, "sales" : { "sales_id" : "sl2" , "num_sales" : 20 , "amount_per_sale" : 1.0 }, }, { "sr_id" : "sr67" , "summary" : { "id" : "sy2" , "territory" : "Italy" , "period" : "202202" }, "metadata" : { "title" : "La Jumpa" , "artists" : [{ "artist_id" : "a47" , "name" : "Bad Bunny" }, { "artist_id" : "a49" , "name" : "Arcángel" }], "composers" : [], }, "sales" : { "sales_id" : "sl3" , "num_sales" : 25 , "amount_per_sale" : 3.0 }, }, { "total_transactions" : 2 , "total_sales" : 55 , "total_amount" : 115.0 , "timestamp" : "20220101" }, ]
The meeting is 1:15 but between introductions and reading you have roughly 40 min to implement this. it is enough but is a long exercise so if you hit it right at first it is hard to pick it up.
I was able to complete some parts but not the whole thing and I got an automatic rejection email couple of days after so they are looking for complete solutions only.