美文网首页Java后台面经
2019-03-11 小米散招面试-Java后台实习

2019-03-11 小米散招面试-Java后台实习

作者: rol233 | 来源:发表于2019-03-11 20:55 被阅读0次

    1.项目

    简历上的项目描述:

    2018.09-2018.12 企业级电商系统

    本项目使用SMM框架开发,使用Git控制版本,数据库使用MySQL,商品模块抽象出 POJO,BO,VO 模型,并实现了高效分页及动态排序,与 FTP 服务器对接,可以进行 SpringMVC 文件上传和富文本文件上传。搭建 Tomcat集群和 Redis分布式,并利用 Nginx 进行负载均衡。            

    问题:

    1.介绍一下你的项目,可以画图讲解一下。(项目做了什么,用了什么技术,遇到什么难题,怎么解决)

    2.数据库怎么搭建的?

    3.一共有几张数据表,画图表示下表之间的关系

    4.Tomcat集群,搭建了几个tomcat?

    5.Git命令(Git push, Git commit)?

    2.Java基础/数据库

    2.1. ConcurrentHashMap的size方法怎么实现的

    2.2. 画一个B+树

    2.3. 为什么数据库索引用B+树不用红黑树(IO代价)

    2.4. 100万条数据,用B+树,放几层(数据库一般3-5层)(IO代价)

    2.5. 手写一个线程安全的单例模式(没有volatile关键字会怎样,volatile关键字的理解)

    2.6. synchronize的理解(是什么锁)

    2.7. Java内存分配(什么放新生代,什么放老年代)

    2.8. 垃圾回收时,怎么确定哪些是要被回收的?

    2.9. class A里的方法a 中 synchronize(A.class)   方法b 中也synchronize(A.class),那方法b能被执行么

    synchronize(A.class) 和synchronize(this.class)的区别 

    3.算法

    3.1. 原地反置链表

    3.2. 中序遍历二叉树(非递归)


    感受

    面试问题问的很深入,很细节,小米的环境很像学校实验室的感觉,准备的不够充分,答的不好,但是面试官人很Nice,就是当我答不上来的时候,他的眼神像是在质问我为啥这都不会,感觉非常羞愧!

    相关文章

      网友评论

        本文标题:2019-03-11 小米散招面试-Java后台实习

        本文链接:https://www.haomeiwen.com/subject/hevbpqtx.html