首页 > 有赞、字节跳动社招Java面经分享
头像
ce、欢笙
编辑于 2020-08-05 11:25
+ 关注

有赞、字节跳动社招Java面经分享

有赞

一面:

1、hashMap原理,putresize过程;

2、线程池有哪些类型?

3、concurrentHashMap分段锁原理,java8java7实现的区别;

4、B-树和B+树区别,数据库索引原理,组合索引怎么使用?最左匹配的原理;

5、spring生命周期,几种scope区别,aop实现有哪几种实现,接口代理和类代理会有什么区别?


二面:

1、项目介绍;

2、斐波拉契数列非递归实现;

3、短URL实现;

短址的长度一般设为 6 位,而每一位是由 [a - z, A - Z, 0 - 9] 总共 62 个字母组成的,所以6位的话,总共会有 62^6 ~= 568亿种组合,基本上够用了。在google URL shortener 服务中,短址长度为 5,大概有9亿多种组合.


假设我们用数据库来保存长地址和短地址的映射,那么,在表 LongtoShortURL 中,我们会有三列:

1. ID,int, 自动增长;

2. LURL,varchar,  // URL

3. SURL, varchar,  // 短URL


利用进制之间的转换,对于每一个长地址,我们可以根据它的ID,得到一个6位的 62 进制数,这个6位的 62 进制数就是我们的短址。具体实现如下:


public ArrayList<Integer> base62(int id) {

   

    ArrayList<Integer> value = new ArrayList<Integer>();

    while (id > 0) {

       int remainder = id % 62;

       value.add(remainder);

       id = id / 62;

    }

 

    return value;

}



三面(HR+主管)

你现在做的事情,为什么要离职?反正对你性格、生活、期望薪资等方面全面了解


字节跳动

一面:

1、自我介绍,做的项目价值,架构设计,给你一个集群你会怎么分布,考虑哪些因素,容灾、负载均衡

2、让你来设计咸鱼,你会怎么设计?模型设计

3、linux常用指令

二面:

1、算法在线编程

2、项目,主要做了什么,项目中碰到的问题有哪些,都市怎么解决?你觉得那个项目是最有挑战的

3、java多线程,线程池的选型,为什么要选这个,底层实现原理

三面:

1、你最熟悉的项目,做了什么,为什么这么做,怎么体现你项目的价值

2、让你来推广广告,你会怎么设计?

3、java基础问了些,JVM内存模型 G1CMS垃圾回收器

4、如何中断线程,awaitsleep区别

5、设计一个秒杀系统

6、spring生命周期,几种scope区别

HR面:

期望薪资,为什么要离职?


更多模拟面试

全部评论

(2) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐