想提高开发效率的必看!高级java面试题大全

一、字节跳动技术一面(算法)

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 注解,突然发现了一个注解@Aspect,不知道干什么用的,你可能会去查看源码或者通过博客学习,花了半小时终于弄懂了,下次又看到@Aspect 了,你有点郁闷了,上次好像在哪哪哪学习,你快速打开网页花了五分钟又学会了。

从半小时和五分钟的对比中可以发现多学一次就离真正掌握知识又近了一步。

人的本性就是容易遗忘,只有不断加深印象、重复学习才能真正掌握,所以很多书我都是推荐大家多看几遍。哪有那么多天才,他只是比你多看了几遍书。 转存中…(img-eInqBGet-1625142931348)]

人的本性就是容易遗忘,只有不断加深印象、重复学习才能真正掌握,所以很多书我都是推荐大家多看几遍。哪有那么多天才,他只是比你多看了几遍书。

经验分享 程序员 微信小程序 职场和发展