Sobes.tech

Data Analyst

Tell about a case of the best dashboard you developed: who was the client, what metrics did you look at, how did you measure the usefulness of the tool?

141

How to technically implement a financial AI advisor for premium clients? What are the risks, and what is dangerous to do?

141

-- Marketers launch promo campaigns in the service application. There are two tables: -- campaigns – list of campaigns -- - campaign – campaign name -- - action_type – campaign type: "push" or "banner" -- communications – backend log of communications sent to users for these campaigns -- - user_id – user identifier -- - campaign – campaign name -- - status – event status: "success" or "error" --------------------------------------------------------------------------- -- 1. Initially, the campaigns table has 4 rows: -- | campaign | action_type | -- |-------------|-------------| -- | promo_dogs | push | <- randomly duplicated -- | promo_cats | banner | -- | promo_cats | banner | <- two rows -- | promo_rats | push | -- It is also known that: -- campaigns promo_dogs and promo_cats were successfully conducted on 100 users each, and each user received one communication, -- while promo_rats is only planned. -- 1.1 What will the query output: SELECT campaign, COUNT(*) as rows, COUNT(DISTINCT co.user_id) AS users FROM campaigns AS ca INNER JOIN communications AS co ON ca.campaign = co.campaign GROUP BY ca.campaign -- 1.2 How will the answer change if the JOIN type is changed to LEFT?

140

Tell me about your experience: what did you do at previous jobs that is relevant to this project?

140

Are you fully familiar with the ETL process? What are the stages involved?

140

Are you familiar with relational and non-relational databases? How do they differ?

140

SQL: list all products with a price higher than the average price in their category (table products with fields product_id, category, price).

140

Tell about approaches to building DWH: Data Vault 2.0 vs snowflake/star — main entities, advantages, and disadvantages.

140

How was the authorization scheme implemented in the two-way system?

Middle
140

Please tell me, in Airflow, do you mostly provide technical specifications or do you also have experience creating DAGs?

139

-- Regarding the promo campaigns sent to users: -- 2.1 Write a query that outputs the number of users who successfully received communication for each campaign. -- 2.2 Modify the query to output: the number of users who did not receive any successful communication at all, for each campaign? -- 3. An additional field – event_timestamp – has been added to the communications table, representing the date and time of the communication delivery event in the format '%Y-%m-%d %H:%M:%S'. -- For all campaigns, including those not launched, calculate the metric: the proportion of users for whom the delivery of a successful message was achieved on the first attempt. -- You can use window functions, or do without them, but it is important to write the query efficiently.

139

Do you already have offers or final interview stages?

Middle
139

Tell me about a specific project you worked on.

Middle
139

Tell about yourself: what do you do, what would you like to do, what are your development plans?

139

Псевдокод sum_series(a={{1, 2}, {5, 1}}, b={{2, 4}, {3, 6}, {9, 7}}) -> {{1, 2}, {2, 6}, {3, 8}, {5, 7}, {9, 8}} def sum_series(a, b): result = [] i , j = 0, 0 val_a, val_b = 0, 0 while i < len(a) or j < len(b): a_next = a[i][0] if i < len(a) else float('inf') b_next = b[j][0] if j < len(b) else float('inf') if a_next < b_next: val_a = a[i][1] t = a[i][0] i += 1 else: val_b = b[j][1] t = b[j][0] j += 1 result.append((t, val_a + val_b)) return result

139

Has there been anything in the company over 8 months that you could take credit for?

138

Will you be able to work according to Moscow time, starting at 8, 9, or 10 in the morning?

Middle
138
/15