一、字节跳动技术一面(算法)
- Java 的 16 进制与字符串的相互转换函数
- JAVA 时间格式化处理
- 将毫秒转化为日期
- 文本的倒序输出
- 判断一个数字是奇数还是偶数
- 用Hibernate 实现分页
- 35 选 7 彩票程序
- 获取 GMT8 时间
- 中文乱码转换
- 小标签
- Big5 字与 Unicode 的互换
- 取得服务器当前的各种具体时间
- 用半角的特殊符号代替全角的特殊符号
- 数组和数组之间的转换代码
- 从资源文件里读取值的类
- 一个随机类
- 计算传入值是否星期六
- 转换文件大小
- Java 日期格式化及其使用例子
- Java几个常用方法
- 判断字符是否属于中文
- 去掉字符串中重复的子字符串
- 将指定 byte 数组以 16 进制的形式打印到控制台
- 获得任意一个整数的阶乘,递归
- 拷贝一个目录或者文件到指定路径下
- 简单的 txt 转换 xml
- 字母排序(A-Z)(先大写,后小写)
- 列出某文件夹及其子文件夹下面的文件,并可根据扩展名过滤
- 字符串匹配的算法
二、字节跳动技术二面
List和Set比较,各自的子类比较
- HashMap和ConcurrentHashMap的区别
- HashTable和ConcurrentHashMap的区别
- String,StringBuffer和StringBuilder的区别
- wait和sleep的区别
- JVM的内存结构
- 强引用,软引用和弱引用的区别
- 数组在内存中如何分配
- Spring MVC的核心是什么,请求的流程是怎么处理的,控制反转怎么实现的
- Mybatis如何处理结果集
- Java的多态表现在哪里
- 接口有什么用
- 说说http,https协议
- 说说tcp/ip协议族
- tcp五层网络协议
- TCP与UDP的区别
- cookie和session的区别,分布式环境怎么保存用户状态
- BIO、NIO和AIO的区别
- Java中常说的堆和栈,分别是什么数据结构;另外,为什么要分为堆和栈来存储数据
- 为什么要用线程池
- MySQL优化经验
- 悲观锁和乐观锁的区别,怎么实现
- 什么是线程死锁?死锁如何产生?如何避免线程死锁?
- notify和notifyAll区别
- 谈一谈对MySQL InnoDB的认识
- 谈一谈数据库事务的隔离级别?
- MySQL主备同步的基本原理
- 类在虚拟机中的加载过程
- 强引用、软引用、弱引用、虚引用与GC的关系
- 请写一段栈溢出、堆溢出的代码
三、字节跳动技术三面
- 说一下spring中Bean的作用域
- 说一下spring中Bean的生命周期
- 对Spring中依赖注入两种方式的认识
- Spring框架中都用到了哪些设计模式?
- BeanFactory 和ApplicationContext的区别
- 数据库的三大范式
- TCP和UDP的区别及其适用场景
- 说一下Spring的核心模块
- (转发)forward与(重定向)redirect的区别
- redis常用的五种数据类型
- 内部类和静态内部类的区别
- 非静态内部类中的变量和方法不能声明为静态的原因
- String,StringBuilder,StringBuffer的区别
- 集合和数组之间的相互转换
- 面向对象的特征有哪些方面?
- 概括的解释下线程的几种状态
- Java集合类里面基本的接口有哪些
- Iterator和ListIterator的区别
- Enumeration和Iterator的区别
- 介绍一下HTTP的响应结构
- final、finalize和finally各自的作用
- 说一下你了解的几种进程间的通信方式
结尾
这不止是一份面试清单,更是一种”被期望的责任“,因为有无数个待面试者,希望从这篇文章中,找出通往期望公司的”钥匙“,所以上面每道选题都是结合我自身的经验于千万个面试题中经过艰辛的两周,一个题一个题筛选出来再次对好答案和格式做出来的,面试的答案也是再三斟酌,深怕误人子弟是小,影响他人仕途才是大过,也希望您能把这篇文章分享给更多的朋友,让他帮助更多的人,帮助他人,快乐自己,最后,感谢您的阅读。
章分享给更多的朋友,让他帮助更多的人,帮助他人,快乐自己,最后,感谢您的阅读。
由于细节内容实在太多啦,在这里我花了两周的时间把这些答案整理成一份文档了,在这里只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!