楼主四月底末班车投了字节跳动的客户端,5月7日一面,5月12日二面,5月24日三面,现在已经面完HR面,在线等Offer。白嫖了好多面经,现在发一下面试的123面面经。
一面(45分钟)
- 自我介绍
- 问项目,问了很多项目的功能实现细节
- 项目是小程序做的,问了小程序上线问题
- 项目中涉及到搜索功能,问了搜索的实现方式
- 微信小程序的底层实现原理
- 微信小程序如何实现在多端运行
- 设计模式 - 单例模式,写了懒汉式 | 饿汉式,面试官要求写出比较好的单例模式,最终写了枚举
- 线程安全 - synchornize用在静态方法和普通方法上的区别
- 两个线程调用两个方法A、B,A、B用synchornize加锁,这个类会不会有互斥
- 同一个实例的两个方***不会出现互斥
- 数据库事务ACID解释一下
- 假设数据库没有隔离性会发生哪些异常?
- 数据库的隔离等级
- 数据库1范式、2范式、3范式、BC范式,进行解释
- 举个满足3范式的例子
- 算法题LeetCode112:二叉树路经总和
- 反问
二面(50分钟)
二面直接一开始就先花了十分钟写算法题。
- 算法题:129. 求根节点到叶节点数字之和
- 算法用到了BFS来解,顺便介绍下BFS
- 自我介绍
- 介绍下项目
- 问项目
- 项目中用到了爬虫,讲一下爬虫过程中遇到的问题
- 团队协作遇到的问题以及解决方式
- 设计模式的用处
- 介绍下讲到的技术文章:为什么要使用HashMap?
- HashMap与其他数据结构的对比
- 介绍下synchronized
- 反问
三面(50分钟)
- 自我介绍
- 介绍项目
- 项目中遇到的哪些问题?是怎么解决的?
- 非关系型数据库和关系型数据库的对比
- 非关系型数据库的问题。是怎么解决的?
- 数据库优化有了解吗?
- 索引有哪些类型?建立索引的时候要遵循哪些规则(才能命中索引)?
- Java的多线程怎么使用?
- wait和notify和notifyAll的使用。重点是notify和notifyAll的区别
- 进程与线程最本质的区别
- 单进程操作系统与多进程操作系统
- 垃圾回收机制了解吗?
- Java的动态代理
- Java的反射实现原理
- 平时怎么关注技术?最近看到的感兴趣的
- 大学生活里遇到的最有挑战的技术问题
- 大学里印象最深刻的事情
- 个人优缺点
- 反问
HR面
补充一下HR面。
- 前三轮面试感受体会
- 对部门的期待,想收获哪些东西
- 项目经历。从中学到了哪些东西
- 职业规划
- 对前端、后端、客户端的看法
- 为什么想选择客户端
- 实习时间、实习时长
- 用一个词语来形容自己
许愿Offer🙏
全部评论
(6) 回帖