How do you evaluate a new, unfamiliar task? Where do you start?
Data Engineer
Task #2 Write a query that outputs the TOP-3 employees by salary in each department. Display the department name, employee name, and salary. employee table: | id | name | salary | dept_id | |----|-------|--------|---------| | 10 | John | 1000 | 2 | | 20 | Tom | 5000 | 3 | | 30 | Bill | 3000 | 2 | department table: | id | name | |----|-----------| | 1 | Marketing | | 2 | IT | | 3 | Finance | Output: department_name, num, employee_name, salary with cte as( select d.name as department_name, e.name as employee_name, e.salary, dense_rank from employee e join department d on e.id = d.id
Have you worked with Informatica or Oracle? Did you use SQL procedures and functions?
Did you use indexes in your work? Which ones did you use most often?
Did you write DAGs in Airflow? What types of tasks did you use?
What problems can tracing identify?
Compare two solutions for the memory consumption of unit search: 1) loop with variables, 2) split('0') + list comprehension + max()
Why do you have doubts about offers?
What can you tell about SOAP API?
What does the Iceberg format bring compared to regular Parquet?
What is the most complex SQL you have written? What window functions did you use?
What is the difference between the operators 'is' and '==' in Python?
How to handle skew in user_id when JOINing transaction and user tables? How to choose the optimal sharding key?
How can shuffle be managed in Spark (partitioning, broadcast join, etc.)?
How well do you know Python?
What optimization methods did you use for SQL code?
How does HDFS differ from regular distributed file systems?
What additional parameters of DDL/CREATE TABLE in ClickHouse do you know, what do they affect, and in what cases are they used?
How do generators differ from lists in Python?
There is a table T1 (10 rows) and a table T2 (5 rows), both with an ID field. What is the maximum and minimum number of rows that can be in the output of an INNER JOIN and a LEFT JOIN of these tables?