嘉云数据社招面经(JAVA大数据开发)

    作者:今天一定能赢
    链接:https://www.nowcoder.com/discuss/638522?source_id=discuss_experience_nctrack&channel=-1
    来源:牛客网

    嘉云数据社招面经(JAVA大数据开发)

    1、介绍项目及工作经历(略)

    2、介绍公司的大数据架构(来源、中间件、落地、采用的数据介质)

    3、scala隐式转换中隐式类和隐式方法有什么区别、隐式转换怎么实现的?

    4、scala的类继承关系,和Java的异同点。

    5、scala可变和不可变对象有什么区别?为什么要这样定义?何谓函数式编程?可变集合中,不可变集合.builder和Buffer类集合有什么区别,底层怎么实现的?

    6、为什么在scala中没有包装类了?

    7、spring中,IOC的原理?如何解决循环依赖的问题?Bean对象的生命周期?

    8、java集合类,conCurrentHashMap原理(分段锁,如何实现线程安全,解锁要按顺序吗?)HashTable、HashMap、LinkedList、ArrayList底层实现

    9、synchronized分别修饰在实例方法上和静态方法上,多线程并发时是否会竞争锁?synchronized修饰在方法上和代码块上有什么区别,底层是怎么实现的?Lock接口的实现类ReentrantLock和synchronized有什么区别?ReentrantReadWriteLock呢?

    10、线程池一整套(实现类及对应的阻塞队列、拒绝策略、具体参数、ScheduledThreadPool有三种构造方法,分别代表什么含义?)

    11、Redis用过哪些数据结构?介绍底层实现。获取所有Key的命令是什么?为什么生产环境不推荐使用?

    12、spark任务提交之后过程?怎么划分不同的stage?宽窄依赖的划分除了RDD之间的关系,还有什么判断依据?怎么判断spark产生了数据倾斜?数据倾斜的时候解决策略有哪些?join两个表的时候,大表大表及大表小表分别怎么处理?源码中任务分发有什么策略?