数据研发岗面试题库
专业基础问题
-
线程、进程、协程的区别和的适用场景分别是什么?
-
进程间通讯如何实现?
-
什么是死锁,死锁发生的条件是什么?
-
数据库中,存储过程和函数的区别是什么?
-
什么是SQL注入,如何防范?
-
数据库索引的原理是什么?
-
如何使用SQL实现集合的交集、并集、差集?
-
链表、队列、栈之间的相似点和区别是什么?
-
搜索一个节点,时间复杂度较低的数据结构有哪些?
-
OSI 七层模型的分层和对应的硬件或协议分别是什么?
-
指针和引用在原理和用法上有哪些区别?
-
为什么会产生内存泄漏?
-
垃圾回收的优点是什么,简述Java或Python的垃圾回收机制?
-
HTTP/HTTPS、FTP/SFTP区别是什么?
-
面向对象编程的特点和优势有哪些?
-
编译型语言和解释型语言有什么不同,常见语言分别属于哪种类型,编译链接过程分别做了什么?
-
我们常用生产者消费者模型解决什么问题,实现方式是什么?
-
弱类型语言和强类型语言的区别是什么?
SQL 问题
-
集合运算(并集、交集、差集) 如何用SQL实现?
-
UNION 的用法是什么?
-
多表关联查询时,提高效率的思路有哪些?
-
JOIN和子查询有什么区别?
-
窗口函数与聚合函数的区别是什么?
-
列转行有哪些实现方式?
-
行转列有哪些实现方式?
大数据问题
-
MySQL/Oracle、ODPS/Hadoop、ES、ADS 各自的适用场景是什么?
-
DataWorks/Hadoop 包含哪些组件,作用分别是什么?
-
流计算常用架构是什么?
-
数仓方法论把数仓一般分几层,分别的作用是什么?
-
常用的ETL工具有哪些,全量同步、增量同步和实时同步怎么实现?
-
数据质量检测怎么做?
分布式问题
-
HDFS和MR的分布式架构分别是什么样的?
-
分布式事务解决方案(强一致性、最终一致性)有哪些?
-
Zookeeper 在Kafka集群中的作用有哪些?
Python 问题
-
什么场景需要使用深拷贝,为什么?
-
Python 中会出现内存泄漏吗,为什么?
-
Python 的垃圾收集器的工作原理是什么?
-
Python 中迭代器和生成器的关系是什么,适用于什么场景?
-
Python 的上下文管理器有什么作用,经典场景是什么?
-
Python 支持哪些线程同步工具?
-
Python 支持哪些进程通信工具?
-
Python 支持哪些进程同步工具?
-
Python 数据类型有哪些?
Linux 问题
-
定时任务如何实现?
-
网络探测命令有哪些?
-
如何排查异常(内存、CPU、存储)进程?
-
如何排查超大文件的进程?
数据库问题
-
事务的四大特性是什么,其中隔离级别有哪些,适用场景分别是什么?
-
如何优化 MySQL 索引?
-
MySQL 的复制原理是什么?
-
MySQL 的备份方式有哪些,有何不同?
-
分库分表的原理是什么,和分布式数据库有何不同?
机器学习
-
所在项目中文本挖掘/自然语言处理的技术架构和处理流程是什么?
-
数据预处理常用方法方法和技巧有哪些?
-
所在项目中使用的算法或技术效果极限是什么,如何判断,进一步优化思路?
业务问题
-
业务流程:相关角色是否描述完整
-
业务架构:场景是否能描述清晰,需求是否描述清洗
实战问题
-
SQL 实现时间维度分类计数(2月 1 个a,3月 1 个b,4月 1 个a,结果:2月 1 个a,3月 1 个b,4月 2 个a)
-
SQL 实现差集运算:(id,name),a=[(1,A),(2,B),(3,C),(4,D)],b=[(2,B),(3,C)]
其他
-
家庭情况
-
跳槽原因
-
未来规划
-
自驱:项目中发现问题过什么问题,如何解决
-
自省:自己参与项目过程中,有待改善的点
-
组织力:是否带过团队
-
目前(预期)薪水