Data Engineer
Comment concevais-tu le schéma de la base de données ? Le faisais-tu manuellement dans la base, ou stockais-tu les scripts quelque part, ou utilisais-tu Liquibase ? Quel était le processus ?
Quelles stratégies physiques d'exécution de join connaissez-vous?
Quel mécanisme physique de JOIN sera utilisé lors de la jointure de la table des transactions avec la table du calendrier selon la condition d'inégalité (date <= date) ?
Comment fonctionne la jointure par boucle imbriquée et quelle est sa complexité algorithmique ? Quelle est la complexité des trois algorithmes ?
Qu'as-tu écrit en Python à part le DAG Airflow?
Y a-t-il un concept appelé niveaux d'isolation des transactions ? Que savez-vous à ce sujet?
Quelle est la différence entre repartition et coalesce dans Spark?
Que renverra la fonction find_mode pour la liste [1, 2, 3, 3, 4, 5] ? Explique étape par étape.
Avez-vous écrit des tests unitaires ? Avez-vous cette expérience ?
Nous avons un ORDER BY par nombre de commandes, et il y a deux commandes avec 5, deux autres avec 3. Comment se comporteront RANK() et DENSE_RANK() ?
Avez-vous de l'expérience dans la rédaction de documentation?
Y a-t-il des fonctions et des capacités dans Greenplum qui ne sont pas dans MySQL standard et d'autres dialectes?
Quelle est votre expérience et votre compréhension dans la construction de pipelines pour le calcul des vitrines (traitement des données) ?
Donnez un exemple où vous avez réussi à améliorer les processus ou les outils pour l'équipe.
Vous créez une table audit_logs où vous devez stocker la date et l'heure exactes avec fuseau horaire. Quel type de données est le plus approprié ? heure avec fuseau horaire intervalle horodatage avec fuseau horaire date horodatage sans fuseau horaire
Parlez des meilleures pratiques pour l'utilisation des index : quand et à quelle fréquence les utiliser.
Parle-moi de ton niveau en Python : ce que tu as utilisé, à quel point tu connais en profondeur la programmation orientée objet
Comment réduire la consommation de mémoire du DataFrame dans Pandas?
CRÉER UNE TABLE raw.local_transactions SUR CLUSTER cluster_4x2 ( transaction_id String, user_id String, amount Float64, created_at DateTime ) MOTEUR = ReplicatedMergeTree() PARTITION PAR amount ORDER PAR (transaction_id); CRÉER UNE TABLE raw.transactions SUR CLUSTER cluster_4x2 ( transaction_id String, user_id String, amount Float64, created_at DateTime ) MOTEUR = Distributed('cluster_4x2', 'raw', 'local_transactions', cityHash64(user_id));
Comment gérer le shuffle dans Spark (partitionnement, broadcast join, etc.)?