前言
本系列的目的是明明白白、彻彻底底的搞定日期/时间处理的几乎所有case。上篇文章铺设所有涉及到的概念解释,例如GMT、UTC、夏令时、时间戳等等,若你还没看过,不仅强烈建议而是强制建议你前往用花5分钟看一下,因为日期时间处理较为特殊,实战必须基于对概念的了解,否则很可能依旧雾里看花。
说明:日期/时间的处理是日常开发非常常见的老大难,究其原因就是对日期时间的相关概念、应用场景不熟悉,所以不要忽视它
本文落地实操,二者相辅相成,缺一不可。本文内容较多,文字较长,预计超2w字,旨在全面的彻底帮你搞定Java对日期时间的处理,建议你可收藏,作为参考书留以备用。
本文提纲
一、一面 1小时40几分钟,基本会的被问完了
- 1.介绍项目,考虑没考虑过服务器挂了怎么办
- 这里应该是考查系统架构
- 2.面向对象特性
- 3.怎么理解多态
- 4.接口和抽象类的区别
- 5.说说并发是怎么回事,有什么问题,单核能并发吗?
- 6.JMM
- 7.说说volatile
- 8.说说synchronized,发生异常会释放锁吗
- 9.Lock
- 10.JVM内存结构,详细说栈、方法区和堆
- 11.String A = new String(“abc”) 创建了几个对象
- 12.public class A{String name = “”;},public class B{A a = new A(); String add = “”;},如果我现在B b = new B(); 问JVM内存的变化
- 13.类加载的过程
- 14.Java8的.class文件用Java7的虚拟机可以加载吗
- 15.说说GC,可达性分析法,什么可以作为GC ROOTS
- 16.说说CMS,CMS有几个阶段,哪些阶段需要stop the world
- 17.随便说一种单例模式
- 18.说说AOP、IOC
- 19.说说索引分类,索引实现
- 20.说说MVCC
- 21.事务问题和隔离级别
- 22.幻读是什么
- 23.CPU负载过高怎么排查问题
- 24.知道MQ,RPC吗
- 25.说说网络分层
- 26.说说TCP和UDP
- 27.哪一层有差错校验,有什么方法
- 28.HTTP常见状态码
- 29.说说B+树的结构
- 30.聚簇索引,非聚簇索引,什么是回表查询
- 31.建索引要注意什么问题
- 32.链表和数组
- 33.单链表反转思路
- 34.重定向和转发的区别
- 35.具体的一次HTTP请求的过程,越详细越好
- 36.怎么看待工作环境都是男生并且要加班
- 37.交给你一个任务,你不会做,怎么学习
- 38.怎么看待工作中有些琐碎的事情要处理
二、二面 三四十分钟,后面提问再讨论了20分钟
- 1.进程和线程的区别
- 2.进程的通信方式,管道里面的fd[]是啥
- 3.面向对象特性,多态
- 4.TIME_WAIT和CLOSE_WAIT(忘了怎么问的了)
- 5.TCP和UDP区别
- 6.TCP三次握手,传输控制怎么实现
- 7.HTTP和IP协议
- 8.cookies是什么,怎么用
- 9.堆的特点,堆排序时间复杂度,堆排序过程
- 10.怎么确定给谁加索引,加不加索引
- 11.做题:有序有重复的整数数组,得到去重后数组,返回无重复数字数量(要求尽量不用额外空间)
- 12.状态码
- 13.项目规模,几个人,推送怎么做的,是一个人做的吗
- 14.怎么学习新的技术
- 15.目前有offer吗,是哪里的(可以不说)
- 16.能实习吗
- 17.斐波那契数列知道吗?怎么做?
- 18.动态规划知道吗
三、HR面
- 1.自我介绍,抓住介绍的点让你详细说说
- 2.为什么实习经历只有一个月
- 3.为什么不去找其他的实习
- 4.其他的面试流程
- 5.考虑去哪里工作,北京是唯一选择吗
- 6.为什么来美团,从哪里知道美团技术团队
总结:
总体下来技术面问的不算深,一面看我有不清楚的地方会换其他的问题继续问,java基础,jvm,java并发,数据结构,网络,数据库基本简历上写的都问了一遍,整体答的还可以,基本都能说来些什么,但没复习语言基础还有变量分配,那里答的有点含糊,也尽量答了。所有的问题,即使不清楚的地方,也会尽量答,答自己所能知道的所有。二面主要问了网络和操作系统,感觉很虚,网络看完基本没复习过,TIME_WAIT竟然忘记了,现场画状态图思考了一波,OS是弱项,IPC基本只知道方法种类,但具体的不知道,比较虚,堆排序也没看,现场想堆排序应该怎么做。
面试官反馈,建议我多思考问题的本质。面试官非常好~~美团体验很好,二面咨询了很多具体的业务问题,还有未来发展等,面试官都一一解答。
HR面因为是突然接到的电话,在走廊面的,感觉有点慌,忘记说已经有offer了,但是和二面面试官讲过,不知道会不会被当做不诚信。
最后
按照上面的过程,4个月的时间刚刚好。当然Java的体系是很庞大的,还有很多更高级的技能需要掌握,但不要着急,这些完全可以放到以后工作中边用别学。
学习编程就是一个由混沌到有序的过程,所以你在学习过程中,如果一时碰到理解不了的知识点,大可不必沮丧,更不要气馁,这都是正常的不能再正常的事情了,不过是“人同此心,心同此理”的暂时而已。
“道路是曲折的,前途是光明的!”
道路是曲折的,前途是光明的!”
[外链图片转存中…(img-owlIKrpH-1621850061343)]
[外链图片转存中…(img-7TsSmJfV-1621850061345)]