小米java社招面试记录,带备战思路

小米一面
  • 二分查找(递归和非递归)

  • 反转链表(递归和非递归)

  • 常用Java集合类

  • HashMap为什么长度是2的n次幂,数据结构,扩容(包括元素移动的细节),线程不安全的问题

  • ConcurrentHashMap怎么保证线程安全, 1.7和1.8有什么变化,为什么要要这么优化

  • CopyOnWriteList怎么保证线程安全, 为什么这么做

  • Java synchronized关键字的作用,原理,锁升级、锁粗化、锁消除

  • volatile关键字的作用,原理

  • MVCC

  • 事务的ACID ,每一项是如何保证的

  • MySQL的索引结构,为什么是B+树而不是B树

小米二面

  • 先升序后降序的数组排序

  • 求递增数组中相加等于10的元素对

  • 17^400 - 19100计算结果能不能被10整除

  • 一个urI对应一个random值 ,要求设计-个系统 ,根据url查询random值,具体到表怎么设计,索引怎么

  • 加,代码怎么写

  • 讲项目,画架构图,为什么这么设计,哪一块是你做的,为什么这么做,做了多久

  • 后面的记不住了...

小米三面

  • 自我介绍

  • 镜像二叉树(递归和非递归)

  • 删除二叉搜索树的某一个节点

  • 给定数组,求第k大的数字

  • 单例模式的几种写法,解释为什么

  • tcp握手挥手过程,以及socket的状态变化

  • 线程的状态,以及变化的时机

  • Java内存模型,堆的组成, gc过程

  • synchronized修饰同一个类的两个静态***同步吗,为什么

  • 线程池设置了coreSize和maxSize之后,如果线程数量已经达到了coreSize ,这个时候进来一个任务,会怎么处理

  • SQL查询优化怎么做

  • 你的优点是什么,缺点是什么

  • 最快什么时间入职,薪资要求

  • 你有什么要问我的吗

备战思路

01,java基础知识需要掌握好

  • 解释内存中的栈(stack)、堆(heap)和静态区(static area)的用法。

  • switch 是否能作用在byte 上,是否能作用在long 上,是否能作用在String上?

  • 用最有效率的方法计算2乘以8?

  • &和&&的区别?

  • ....

这些都是容易被问到的知识点~ 还好我这边有准备整套的复习资料,如果你需要我准备的这些复习资料的话,点击此处 即可免费获取到



02,数据库知识点



03,微服务



在复习的时候有特意总结过一份文档:里面包括( JVM , JAVA集合,网络, JAVA多线程并发, JAVA基础, Spring原理,微服务, Zookeeper , Kafka , RabbitMQ , Hbase , MongoDB , Cassandra ,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存)等等,免费获取方式:点击此处 即可免费获取到

全部评论

相关推荐

02-12 20:22
重庆大学 Java
字节暑期刚入职四天,因为是年前,所以很多正职都放假走了,也就没有给我分配mt,然后有一个老哥在我来的时候给我发了一个landing手册,然后还有关于部门业务的白皮书,还有一些业务代码。然后本人是java面的,进来第一次接触go语言 前面几天熟悉了一下go的语法和go的框架,可以读但是还不太会写,然后业务白皮书也看的很头疼,包括landing手册里要了解的很多东西说实话我看文档真的快看死了,一个嵌套一个,问题是我还完全不知道咋用这个我了解的东西,还有就是那个项目代码,那个老哥喊我去写写单测,熟悉一下go的语法,但也进行的很困难(这是我第一段实习,之前都是springboot那一套,真不太熟悉这个)想问问大家的建议,就是我从现在开始到在开年回来之前应该做些什么,我目前就一个想法 就是复现一个landing手册上的go框架小项目 就是相当于帮自己锻炼锻炼怎么写go 或者各位大佬有没有更好的锻炼go语法的建议还有就是大家都在说vibe coding,那我应该怎么锻炼自己使用ai的能力,感觉我除了给一些需求然后它给我生成代码,好像就没别的用法了,那些什么工作流、拆解、skill啥的都不知道从哪一个地方开始,包括我现在正在实习,不知道精力该怎么分配,去网上想找找关于agent开发的一些学习流程,说实话,众说纷纭,有的是从python开始打基础然后系统学那些rag prompt langchain mcp等等,有的是说直接找一个github上的ai项目然后反复问ai,我确实有点迷茫,恳求各位大佬能留下你们宝贵的建议,我一定认真反复深刻学习有一说一 我觉得字节饭挺好吃的!
双非后端失败第N人:1. go语言我建议你让ai带着你先把基本语法速通了,然后再去用go重新刷你以前刷过的leetcode,这样熟悉起来很快 2. 直接看你们组go项目,里面用***比较复杂,然后把每一个语法现象都喂给ai,一点点看
字节跳动公司福利 1371人发布
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务