京东java实习生一二面面经

首先京东面试采用的是微信视频/语音面试的方式,一面是视频面试,主要侧重于理论方面的东西吧,数据库、操作系统、linux、java等知识都涉及到了,许多问题都延伸到了使用场景,但是好像没有问到计算机网络,也没问框架原理;二面是语音面试,主要侧重于实践方面的东西。

一面 2020/3/12 60min

1、自我介绍

2、学习过哪些课程,觉得哪些课程学的还不错

3、mysql 用的是什么数据结构存储,索引是什么结构

4、B+ 树和B树、红黑树,为什么MySql索引使用B+树

5、B+树作为索引有什么缺点

6、基于面提到的有一个缺点,更新操作慢,现在有这样的需求,就是存储日志文件(一般来说日志文件只有在出错的时候才会去看它,平时基本上不会去查)应该如何设计索引的数据结构

7、主键索引和普通索引

8、mysql存储引擎知道哪些

9、进程和线程的区别

10、既然线程会共享进程的程序和数据,那么如何保证各个线程之间互不干扰相互独立呢

扫描二维码关注公众号,回复: 11109858 查看本文章

11、java又是怎么保证线程同步(安全)的呢

12、说一下堆和栈

13、说一下用过java哪些容器(list、set、map及其特点都说一下)

14、list是不是有序的,能不能重复,set呢

15、ArrayList和LinkedList区别

17、HashMap底层原理,put和get操作

18、string几种拼接方式区别,+和append底层有没有区别

19、如果说有一个操作需要创建一个对象,这个对象很大,需要消耗很多资源,如果说每调用一次方法就创建一个对象的话,开销太大,如果把它定义成一个静态变量,又会产生并发问题,那么多线程并发操作的时候就需要加锁,降低效率。怎么优化才能既不用加锁又能提高并发访问的效率?

(1)利用“资源池”的思想,,用一个资源池,存放10个该对象,每次创建的时候从池中获取,降低并发度(小菜鸡拙见)

(2)ThreadLocal:看倒是看过,就是没想到。知识还是要融会贯通呀!

20、JVM运行过程——类加载过程

21、内存泄露原因,举例子

22、如何排查内存泄漏的原因

23、如果现在有8G内存,一个程序很大,由于还要留下一部分内存供其他程序使用,那么如何控制这个程序使其占用的内存不能超过6G呢?

24、为什么要引入双亲委派机制

25、存储了0-100的数据,如何删除其中小于10的数字(其实问的是list中如何删除元素——迭代器)

26、为什么不能在遍历list的时候删除其中的元素呢

27、我在jvm上运行一段java程序输出一条语句,它是怎么输出到屏幕上的

28、JVM的启动参数有哪些

29、java和C#的区别·

30、对于一个容器,比如set,你想实现自定义排序规则的话怎么做

二面 2020/3/12 20min

1、说一下项目吧

2、说一下项目亮点,或者你在平时学习中解决了什么问题。简而言之就是你觉得自己做的挺有技术含量的事是什么

3、MySQL的主从复制原理,如何实现

4、索引有哪些存储方式,“like”查询在什么时候能够用上索引

5、存储引擎有innodb和myisam,就不用说它们的区别了,如果是存储日志,用什么存储引擎比较合适

6、数据库中一行记录大小10K,一个表只有主键索引,可以存多少条数据

7、你有没有试过数据库一个表中最多可以插入多少数据

8、数据库中存储密码是怎么存的(MD5加密),还知道其他加密方式吗

9、一个6位的密码,使用MD5加密,破解需要多久:说的是这样的,因为6位的密码排列组合有一定的种数,然后每一种通过hash函数去破解,需要多久

10、maven熟吗,如果遇到版本不匹配的问题怎么解决

11、还问了一下linux的操作,修改表的某一行数据还是啥的,不太熟

12、最后我问了下部位主要做什么:该部门主要是信息安全部门,涉及到用户登录、注册、人脸识别、支付等业务

目前就记得这么多了,有的不太会的问题忘了·~~

加油吧,各位还在找工作的程序猿or程序媛们,期待大家早日上岸~~

发布了114 篇原创文章 · 获赞 21 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_38151401/article/details/104821228