文章目录

  • 一、
    • 一面
    • 二面
  • 二、
    • 一面
    • 二面
    • 三面
  • 三、
    • 一面
  • 四、
    • 一面
  • 五、
    • 一面
    • 二面
  • 六、
    • 一面
    • 二面
  • 七、
  • 八、

要求:

  1. 熟悉Linux开发环境;
  2. 熟悉web服务开发,了解web服务框架,了解web安全
  3. 掌握常用的设计模式;数据结构与算法
  4. 了解常见的分布式存储计算框架

一、

一面

1、自我介绍?
2、小米岗位北京和武汉怎么选?
3、讲讲自己实习经历最深的一次?实习团队氛围?刚进公司有压力吗?
4、算法用的多吗?自己平时怎么学习的?最大的挑战?
5、写代码(剑指offer):平衡二叉树?
6、tcp / udp?
7、操作系统:调度算法?
8、进程 / 线程?还了解吗?
9、ip的包结构?抓过包吗?
10、三次握手?去掉一次,优点、缺点?
11、Linux了解吗?说下基本常用的命令?
12、有什么问题问的?

二面

1、自我介绍?
2、讲一下创新基金项目?可以在公司用吗?
3、实习经历?学到了什么?在公司遇到问题怎么解决?遇到的挑战说几个?在公司最有成就感的事情?
4、https?常用的状态码?
5、git常用命令?tag标签?分支?
6、对测开的理解?自动化测试工具用过吗?junit before和after区别?
7、mvc了解吗?
8、意向哪个城市?
9、对小米的了解?
10、有问题要问吗?

二、

一面

  1. 编程题: 链表翻转
  2. HashMap底层结构, 插入操作, 扩容操作, 为什么要扩充2倍长度
  3. hash表与二叉树的区别
  4. static从加载到使用, static int a = 10;会直接初始化为10吗
  5. ArrayList与LinkedList的区别
  6. ArrayList插入无序数后如何排序
  7. 讲一讲volatile, 为什么单例模式二重校验锁下实例要声明为volatile
  8. 讲一讲synchronized, 锁升级, 讲一讲轻量锁与偏向锁, 两个线程在轻量锁下有什么操作
  9. 讲一讲gc, CMS有哪些步骤
  10. 项目是自己做的还是跟别人一起合作的
  11. 如果你和同事对开发意见不一, 你会怎么处理
  12. 有同事想要把代码写的很完善, 你想把代码写的简单, 如何处理
  13. 能来实习吗

二面

  1. 自我介绍
  2. 编程: 使用堆实现队列【思路是对的, 两个堆弄错变量名了, 面试结束才发现…】
  3. 微服务如何实现负载均衡, 如何判断服务是否为空闲
  4. Redis有哪些数据结构
  5. 订阅发布有用过吗
  6. 哈希一致性当两个节点邻近如何处理
  7. CAS
  8. volatile
  9. JVM, JMM
  10. 字符串常量池, 多个字段拼接用+好还是StringBuilder.append()好

三面

  1. 自我介绍
  2. HashMap底层, 数组长度为什么2的幂次方, 扩容后原数据索引会变吗
  3. 事物隔离级别以及相应的处理方法
  4. Linux中某个Java程序内存消耗大, 如何查找
  5. Hystrix如何实现熔断, 如何实现限流
  6. 编程题: 打印树的第k层节点

三、

一面

  1. 除了==方法,还有什么方法比较属性值是否相等(序列化,反序列化)

  2. object有哪些方法

  3. 快速排序实现(手写代码)

  4. 合并两个链表(手写代码)

  5. 树的最大距离

  6. 二分法排序

  7. 单例模式(饿汉式,懒汉式)手写代码

  8. 工厂模式

  9. hashmap(concurrenthashmap)

  10. 基本数据类型,拆包解包

  11. wait,sleep,notify,notifyall

  12. spring(ioc)

  13. 事务四大特性,讲一讲原子性,一致性

  14. 事务的隔离级别

  15. 数据库的索引原理

  16. 实现多线程的四种方式

  17. 除了new还有哪些方式创建对象

  18. synchorized和volatile区别

四、

一面

1、先是自我介绍,然后让我讲讲做项目的流程;
2、紧接着又出了一题编程题,从前后两边查找指定字符出现的个数;
3、怎么判断一棵树是不是二叉搜索树;
答:可以判断给定二叉树中序遍历之后是不是有序的;
4、面试官接着问我怎么判断这个序列是不是有序的;

五、

一面

  1. 谈谈mysql存储引擎,索引,辅索引底层结构。
  2. 讲讲redis里面string的底层是怎么实现的。
  3. 给定一个ip地址比如221.130.111.109/30,指出这个IP地址的网络号,主机号,以及子网数。这个地址属于那一类ip地址(A,B,C)类。
  4. 讲讲TCP三次握手的具体流程。
  5. 老问题,一个页面从输入URL到页面加载显示完成,这个过程都发生什么?
  6. 如果上面的是基于HTTPS的请求,会增加哪些流程呢(即HTTPS请求的流程)。HTTPS里面的对称加密的密钥是怎么发送的,能用RSA的私钥加密比它大的数据吗?
  7. 手撕代码1: 输入两个链表,每个链表代表一个数,对这两个链表进行加法运算,输出的和也是一个链表形式,比如1->2->3->4, 2->3->7,对这两个链表进行加操作,1234+237=1471,输出1->4->7->1。
  8. 手撕代码2: 镜像二叉树,递归非递归。

二面

什么是mybatis的一级缓存和二级缓存,区别?
如何实现缓存与DB的一致性?
redis有哪些数据结构,redis的持久化机制,redis的有事务吗,怎么实现的。
发生缓存击穿或者缓存穿透的情况该怎么解决。
java容器类的层次结构,分别讲一下各种容器的原理,LinkedList的删除操作怎么实现;TreeSet的add操作怎么实现的,详细一点;HashTable怎么实现线程安全;LinkedHashMap实现机制,如何保证添加元素的有序性。
LRU是什么,如何实现一个LRU缓存。
手撕快排,前后序遍历非递归,求一个二叉树的高度。
根据前序和后序遍历之后的两个字符串,求后序遍历
linux命令,你用过哪些。
分布式锁有哪些实现方式,大概讲讲怎么实现的分布式锁(ZooKeeper的实现版不记得了)。
讲讲redis哨兵机制
redis集群中如何知道某个节点挂了,心跳机制;怎么去实现心跳机制。

六、

一面

  1. 简单介绍自己,之后开始写代码
  2. 两个单链表合并
  3. 二叉树层序遍历
  4. 多个链表合并
  5. 给一个target在数组内找两数相加和为target的

二面

  1. 简单介绍,稍微问了下项目,但是项目太水增删改查没有多问。
  2. 一个排列组合题,脑抽没答出来,n个球放m个盒子的问题,分组讨论
  3. 网络,为什么三握手,两握手行不
  4. 编译原理,1.1+(2.2-3.3) 怎么做,应该是词法分析器吧。记不清了。不会
  5. 迷宫问题的化简和应用,两端并行
  6. 操作系统,线程和进程

七、

1.类的成员函数和数据成员分别存在哪里,类大小的计算
2.如何禁止构造函数的使用
3.如果禁止类实例化时候的动态分配方式
4.引用和指针的区别
5.实现一个类成员函数,不允许修改类的数据成员
6.那些关键字可以修饰线程安全的变量
7. TCP、UDP穿透问题(一脸懵逼,面试官解释了就是内网外网间,我说了NAT,但是NAT是网络层的,跳过了)
8. TCP断开过程
9. 场景题:中英文字符计数问题(只会简单的,复杂的没想明白)
10. 手撕代码:利用无序数组非递归方式建立BST,并迭代中序遍历输出

八、

1、Java中的集合类有哪些了解呢?
2、项目中用到过哪些缓存?
3、ArrayList和LinkedList的区别?
4、linux了解怎么样。各个用户之间的权限了解吗 ?
5、手写代码:求两个链表相交。
6、新建线程的方式,有什么区别
7、Thread的run方法和start方法的区别是什么?
8、怎么关闭线程?
9、TCP为什么是三次握手和四次挥手?
10、TCP和UDP区别?

虚拟机 :类装载子系统 运行时内存 字节码执行引擎
运行时数据区包含:堆 线程栈 本地方法栈 方法区 程序计数器

tcp udp :
udp 8 TCP首部开销大 固定首部20字节
不可靠连接,传输效率高,正确率低
TCP 字节流 也用缓冲区,可能半个数据包 也可能很多数据包
UDP面向报文

字符流默认使用缓冲区

集群 分布式 负载均衡(根据某些规则进行分流)

说说几种常见的线程池及使用场景

1、newSingleThreadExecutor

创建一个单线程化的线程池,它只会用唯一的工作线程来执行任务,保证所有任务按照指定顺序(FIFO, LIFO, 优先级)执行。

2、newFixedThreadPool

创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。

3、newCachedThreadPool

创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。

4、newScheduledThreadPool

创建一个定长线程池,支持定时及周期性任务执行。

小米面试Java开发工程师(实习)相关推荐

  1. 22届SHEIN校招面试--JAVA开发工程师面经

    这里写自定义目录标题 个人背景 性格测评+笔试 一面 8.30 同事面 二面 9.08 tl面 三面 9.13 hr面 四面 9.16 部门总监面 五面 9.25 CEO面 面试总结+实习期的感受 今 ...

  2. 58java面试题_58赶集总部面试java开发工程师,一道令人费解的面试题

    转: 一位同学内推,帮我争取到了58赶集面试的机会.没有笔试,直接进入技术面.遇到一位工作五年的工程师翟,一脸严肃的把我带到A区四层的一个小方桌前.对于只有一年工作经验的我,小有压力. 上来自我介绍, ...

  3. 求职招聘之Java开发工程师校招面试都有哪些步骤和注意事项?

    文章目录 Java开发工程师校招面试解析 网易案例 一般的校园招聘面试流程 业务逻辑面试(讲项目) 基础知识面试 Java开发工程师校招面试解析 网易案例 下面是一个网易Java开发工程师的基本要求: ...

  4. 美的美少年计划(Java开发工程师)实习面经

    美的美少年计划(Java开发工程师)实习面经 已oc. 流程: 参加完恳谈会后才会显示录用签约.流程差不多25天,测评后等了10天才oc. 面试事业部: 美云智数 面试只有一面,从各方的反馈来看,面试 ...

  5. 数字海南Java开发工程师实习生面试全过程及反思

    2020-12-7 数字海南Java开发工程师实习生面试全过程及试后反思 记录下人生第一次投递简历,正规实习求职面试,以及前前后后的准备与遇到的问题. 目录 2020-12-7 数字海南Java开发工 ...

  6. 微博面试Java,微博java开发工程师面试题整理

    下面要给大家分享的是一个小伙伴的微博java开发工程师一面的面试题,一起来看看微博java开发工程一面面试题都有哪些吧! 面试题(一面) 1.做一个小时笔试 2.java创建对象的几种方式是什么? 用 ...

  7. Java开发工程师面试总结

    Java开发工程师面试总结 1. Java基础 1.1 接口与抽象类的区别 1.2 重写与重载的区别 1.3 集合 1.4 多线程 1.6 反射 2. Spring框架 2.1 IOC 2.2 AOP ...

  8. 面试|应聘Java开发工程师的基本要求是什么?

    根据技术水平不同,Java程序员可以分为初级.中级.高级.资深等.不同级别的Java程序员,企业的要求也是有区别. 下面播妞整理了初级Java程序员和中级Java程序员的应聘要求,供大家参考:(具体要 ...

  9. Java开发工程师面试经验总集

    置顶个交流群 文章觉得海星的话,可以来群里找桃子交流技术或者普通乱聊= = 挂群:820080257 文档链接:[腾讯文档]Java开发工程师 https://docs.qq.com/doc/DQlZ ...

最新文章

  1. 进击谷歌:多线程下程序执行顺序怎么稳定不乱?
  2. idea测试连接mysql报错08001_IDEA连接MySQL错误
  3. 静态主席树总结(静态区间的k大)
  4. java servlet jsp javabean关系图_Servlet+JSP+JavaBean开发模式(MVC)介绍
  5. python socket编程_Python学习记录-socket编程
  6. java工程转maven工程_Java工程转换为Maven工程
  7. Mysql 8 驱动问题:报错Unknown system variable 'query_cache_size'
  8. 黑金花大理石_石材用上黑金花,一看就是富豪家
  9. 几个性能测试工具/框架的比较
  10. Docker基础教程
  11. Python实现注册账号系统密码验证模块编写
  12. sql server2014 企业版 百度云下载
  13. 小程序开发专题-项目设计-毕业设计【建议在校生收藏】
  14. 全国大学生英语竞赛——题型介绍
  15. 软件需求工程 高校教学平台 测试报告
  16. 南柯33的Python学习笔记第(一)部分
  17. JSON是什么,有什么用,怎么写json
  18. 请问OCP上面有没有证书编号?
  19. 游戏开发插件整理(亲测可用)
  20. java返回给前端的json数据中带有转义符号如何处理

热门文章

  1. adb 打开和关闭应用
  2. 蘑菇街:有做小红书的心,没做小红书的命
  3. 英语情景对话计算机的优缺点,买电脑的英语情景对话
  4. 数据分析-方法流程工具
  5. android起源说法错误的是,知到APP19秋冬—《移动APP程序设计》见面课答案
  6. 基于百度地图实现Android定位功能实现
  7. wireshark按照域名过滤
  8. VIVADO XDC约束注意事项
  9. javaEE Design Patter(2)设计模式
  10. 基于C语言的电信数据自注册代码实现