华勤技术开发工程师一面面经20220930
base 无锡
面试官人很nice
1、自我介绍
2、英语四六级分数
3、介绍项目
4、遇到的困难(我说的非常笼统,面试官让说的详细一些)
5、做完项目收获
6、为什么不做深度学习
7、说一下实习
8、对Java语言的理解(我说了三大特性)
9、常用的集合类以及他们的子类
10、多线程的创建方式
继承 Thread 类创建线程 实现 Runnable 接口创建线程 使用 Callable接口 使用线程池例如用 Executor 框架
11、Java内存区域,分别是存放什么的(直接内存)
12、OOM会出现在哪里
13、并发编程的三大特性:原子性、可见性、有序性
14、string,stringbuilder和stringbuffer的区别
15、不同操作系统的调度算法是一样的吗
(不会)
毫无疑问,不同的环境需要不同的调度算法。之所以出现这种情形,是因为不同的应用领域(以及不同的操作系统)有不同的目标。换句话说,在不同的系统中,调度程序的优化是不同的。这里有必要划分出三种环境: 1) 批处理。 2) 交互式。 3) 实时。 批处理系统在商业领域仍在广泛应用,用来处理薪水册、存货清单、账目收入支出、利息计算(在银行)和其他的周期性的作业。在批处理系统中,不会有用户不耐烦地在终端旁等待一个短请求的快捷响应。因此,非抢占式算法,或对每个进程都有长时间周期的抢占式算法,通常都是可接受的。这种处理方式减少了进程的切换从而改善了性能。 在交互式用户环境中,为了避免一个进程霸占CPU拒绝为其他进程服务,抢占是必需的。即便没有进程想永远运行,但是,某个进程由于一个程序错误也可能无限期地排斥所有其他进程。为了避免这种现象发生,抢占也是必要的。服务器也归于此类,因为通常它们要服务多个突发的(远程)用户。 然而在实时系统中,抢占有时是不需要的,因为进程了解它们可能会长时间得不到运行,所以通常很快地完成各自的工作并阻塞。实时系统与交互式系统的差别是,实时系统只运行那些用来推进现有应用的程序,而交互式系统是通用的,它可以运行任意的非协作甚至是有恶意的程序。
16、说一下调度算法和内存管理机制
17、CPU上运行的是进程还是线程
18、进程和线程的区别
19、学校成绩排名
20、优点缺点
反问
#华勤技术##Java开发##23届秋招笔面经##2023一起秋招吧#