蚂蚁大数据开发22届暑假实习一二面经

一面

java

数据结构熟悉吗 栈和队列区别,两个队列实现栈
ArrayList LinkedList介绍下,区别,应用场景
简历写了GC,讲一下
并发用过吗(没

hive

  • hive数仓分层讲一下,分层方法论(?),分层的好处(?)
  • hive SQL运行机制,sql变mr,mr提交到yarn,分配资源,运行map,shuflle,reduce,输出结果到hdfs
  • hive优化:讲了某个reduce任务很重,一直占用资源,讲了下hive负载均衡;更换mr为spark,给yarn开capacity队列,这个问题应该是问数据倾斜, 我因为数据太少了就没敢说,讲的是负载的方面
  • 问了个 一个city字段一个count,group by数据倾斜,怎么办
    count多的city,用where查询分开统计。。。
  • 大小表join

    其他

  • 项目数据哪儿来的
  • java使用程度,写过demo 没做过工程
  • 意见:多思考,多去研究为什么这样做

笔试加试

算法:剑指offer53
sql:
用户行为表tracking_log,大概字段有(user_id‘用户编号’,opr_id‘操作编号’,log_time‘操作时间’)
需求:
1、计算每天的访客数和他们的平均操作次数。
2、统计每天符合以下条件的用户数:A操作之后是B操作,AB操作必须相邻。

答案:
1.

select date(log_time),count(distinct user_id) as user_num,avg(num_ci) as avg_operqationcount
from
(select date(log_time),user_id,count(opr_id) as num_ci from tracking_log group by date(log_time),user_id)
group by date(log_time)
# 我写的
select T.log_time, count(distinct T.user_id) as '访客数', count(T.opr_id)/count(distinct T.user_id) as '平均操作次数'
from tracking_log as T
group by T.log_time

2.

# 没写出来
select date(log_time),count(distinct user_id) as user_num
from
(select user_id,date(log_time),opr_id,lead(opr_id,1) over(partition by user_id order by lod_time) as opr_id_2 from tracking_log)
where opr_id='A' and opr_id_2='B'
group by date(log_time)

二面

自我介绍
论文介绍
项目介绍
项目为什么用flume+kafka?
hive数仓分层,每一层都干了什么

二面面试官说过了,过了一天挂了,说绩点低了hr不要

#大数据开发工程师##蚂蚁集团##实习##面经#
全部评论
请问楼主的绩点多少?
点赞 回复 分享
发布于 2021-05-04 23:34
请问楼主是研究生吗?
点赞 回复 分享
发布于 2021-04-03 22:13

相关推荐

#牛客AI配图神器#攒攒好运~手撕:两个文件各有一亿行字符串,写一个算法找两个文件中相同的字符串问题:介绍你的一个后端项目介绍RPC项目介绍为什么你拆了这几个模块如果某一台机器下线了,应该怎么处理Java的锁用过哪些synchronized 和 ReentrantLocksynchronized底层原理假如多个线程竞争一个被synchronized锁上的资源,假如有t1,t2,t3这几个线程,如果t1拿到了,那么这是t2t3怎么办,如果t1用完了,释放锁之后,那么t2t3怎么知道?之后又是怎么竞争给你一个线程池,corePoolSize = 10, maximumPoolSize = 30, workQueue.size() = 100, 问第几个任务过来的时候,线程数量能够扩大到最大的数量30超过了会怎么样线程有很多创建方式,他的演进是怎么样的,为什么后面又有了线程池你觉得线程池主要解决什么问题分布式锁都有哪些类型的实现用redis实现分布式锁的几个关键参数分别是什么作用?如key,value,过期时间WatchDog是干嘛的如果获取分布式锁后,业务执行过程中抛异常了怎么办如果没有用catch捕获呢那什么情况下,业务逻辑时间比过期时间短,但是仍然会用到过期时间释放锁是怎么实现的?里面可能出现什么问题需要考虑如果出现线程安全问题,比如过期时间10s,业务逻辑执行也是10s,那么如果先过期,然后另一个线程拿到了分布式锁,那么业务逻辑执行删除时候就直接把别人的锁删了,这个问题怎么解决Redis的高可用是怎么做的MySQL怎么实现乐观锁悲观锁数据库加了索引为什么可以变快?假如我没有学过计算机,应该怎么解释用索引的过程中需要注意哪些#蚂蚁##暑期##实习##Java##后端#
查看25道真题和解析
点赞 评论 收藏
分享
评论
6
33
分享

创作者周榜

更多
牛客网
牛客企业服务