牛客AI面经-数据分析1

牛客AI面经-数据分析1,第1张

牛客AI面经-数据分析1
    APP用户活跃度下降,如何分析?

首先,我会先判断的数据的准确性,看一下是否是系统数据异常或是提取的规则有误。
假如经过确认,数据确实表名用户活跃度下降,那我还要确定这个异常数据的相关因素,是周期性的变化(如周末、寒暑假、淡旺季、节日)还是确实活跃度在下降。
第三步,对日活进行维度拆解,比如说按照新老用户、登录平台、渠道、区域等维度进行拆分,计算每个维度日活变化的情况,计算影响系数。
如果发现部分维度有下降,根据影响系数,确定日活下降的主要原因。然后跟业务人员进一步沟通以确认原因出现在哪里,是否需要进行业务调整或是开展营销活动来促活。
如果发现全部维度都有明显下降,那么就要查找外部原因,比如竞品分析、行业状况、舆论、政策等角度进行外部原因的查找,并跟业务人员保持沟通,确定日活下降的原因。

    认为自己数据分析能力如何?/你会数据分析吗/你一般会从什么角度进行数据分析

重要采分点:
 数据分析思路是否清晰
 能够印证出自己有相关能力
面试官考察意图:
 检验是否真正做过数据分析
 看候选人数据分析是否形成自己的方法论
 自我认知是否合理
 直接考察数据分析能力,想查看岗位匹配度
常见鸡汤回答:
我对自己的数据分析很有信心。我做过非常多的数据分析项目,其中的业绩表现为xxx,一般我会根据业务特点或异常点入手,进而寻找异常点的原因。

    请你说说MySQL的ACID特性分别是怎么实现的?

标准回答
以InnoDB引擎为例,事务的四个特性主要由锁和日志来实现,锁用来保证事务的隔离性,undo log用来保证事务的一致性,redo log用来保证事务的持久性。
加分回答
InnoDB引擎通过Record Lock、Gap Lock、Next-Key Lock三种算法,实现了四种隔离级别:READ UNCOMMITTED、READ COMMITTED、REPEATABLE READ(默认)、SERIALIZABLE,并且在REPEATABLE READ级别就解决了脏读、不可重复读、幻读等问题。
redo log用来实现事务的持久性,即事务ACID中的D。其由两部分组成:一是内存中的重做日志缓冲(redo log buffer),其是易失的;二是重做日志文件(redo log file),其是持久的。InnoDB是事务的存储引擎,其通过Force Log at Commit机制实现事务的持久性,即当事务提交时,必须先将该事务的所有日志写入到redo log文件进行持久化,待事务的COMMIT *** 作完成才算完成。
事务有时还需要进行回滚 *** 作,这时就需要undo。因此在对数据库进行修改时,InnoDB存储引擎不但会产生redo,还会产生一定量的undo。这样如果用户执行的事务或语句由于某种原因失败了,又或者用户请求回滚,就可以利用这些undo信息将数据回滚到修改之前的样子。
延伸阅读
事务会把数据库从一种一致状态转换为另一种一致状态。在数据库提交工作时,可以确保要么所有修改都已经保存了,要么所有修改都不保存。InnoDB存储引擎中的事务完全符合ACID的特性。ACID是以下4个词的缩写:
原子性(Atomicity)
指整个数据库事务是不可分割的工作单位。只有使事务中所有的数据库 *** 作都执行成功,才算整个事务成功。事务中任何一个SQL语句执行失败,已经执行成功的SQL语句也必须撤销,数据库状态应该退回到执行事务前的状态。
一致性(Consistency)
指事务将数据库从一种状态转变为下一种一致的状态。在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。例如,在表中有一个字段为姓名,为唯一约束,即在表中姓名不能重复。如果一个事务对姓名字段进行了修改,但是在事务提交或事务 *** 作发生回滚后,表中的姓名变得非唯一了,这就破坏了事务的一致性要求,即事务将数据库从一种状态变为了一种不一致的状态。因此,事务是一致性的单位,如果事务中某个动作失败了,系统可以自动撤销事务——返回初始化的状态。
隔离性(Isolation)
事务的隔离性要求每个读写事务的对象对其他事务的 *** 作对象能相互分离,即该事务提交前对其他事务都不可见,通常这使用锁来实现。当前数据库系统中都提供了一种粒度锁的策略,允许事务仅锁住一个实体对象的子集,以此来提高事务之间的并发度。
持久性(Durability)
事务一旦提交,其结果就是永久性的。即使发生宕机等故障,数据库也能将数据恢复。需要注意的是,只能从事务本身的角度来保证结果的永久性。例如,在事务提交后,所有的变化都是永久的。即使当数据库因为崩溃而需要恢复时,也能保证恢复后提交的数据都不会丢失。但若不是数据库本身发生故障,而是一些外部的原因,如RAID卡损坏、自然灾害等原因导致数据库发生问题,那么所有提交的数据可能都会丢失。因此持久性保证事务系统的高可靠性,而不是高可用性。对于高可用性的实现,事务本身并不能保证,需要一些系统共同配合来完成。

    小红书上海办公室楼下有一便利店,面积约为20平方米,主要提供零食及饮料。请预估该便利店每周的营业额是多少?

10平放置货物,10平顾客,可以同时容纳5个顾客,消费时长人均10分钟,一个小时客流量30,人均消费25元,一天10个小时营业时间,每周营业额302510*7=52500元。

    查找最晚入职员工的所有信息
    CREATE TABLE employees (
    emp_no int(11) NOT NULL,
    birth_date date NOT NULL,
    first_name varchar(14) NOT NULL,
    last_name varchar(16) NOT NULL,
    gender char(1) NOT NULL,
    hire_date date NOT NULL,
    PRIMARY KEY (emp_no));

:
最晚入职员工只有一个:

select * from employess order by hire_date desc limit 0,1
select * from employess order by hire_date desc limit 1

不止一个:

select * from employess where hire_date = (select max(hire_date) from employess)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5705655.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存