IBM z OS开发一面面经
提前了解了一下z OS系统,是IBM研发的一个很古老的系统,和Linux有点像,面试时候面试官也提到了这个系统向下兼容,因此会涉及到很底层的开发。面试前提前准备了英文自我介绍、一些操作系统知识,然后自己平时用Java比较多,背了背八股。
面试大概持续了五十分钟,两个面试官都很和蔼,技术方面果然主要围绕操作系统(非科班,没学过),问得挺多的,记得的问题如下:
-
自我介绍(中文)
-
讲项目(做了什么,自己负责的部分)
-
操作系统的组成,运行的过程是怎样的
-
为什么要进行字节对齐
-
了解寻址吗
-
缓存,主存,辅存各自的功能
-
进程之间的通信方式?你讲的这些都是理论,有实际用过吗?
-
讲讲死锁
-
如何避免死锁
-
看你用Java,讲讲抽象类和接口?什么时候要用接口?接口可以实现具体功能吗?
-
Java有哪些设计模式?(答单例模式,工厂模式等)
-
讲讲单例模式,单例模式为什么线程安全
-
了解Linux系统吗?Linux系统里有个fork函数,讲讲它的功能?
-
fork函数什么时候会失效?
-
Java里有个ThreadLocal库,为什么要用这个库?(随便答了一下,面试官说他的意思是Java里还有其他方式,为什么一定要用这个?遂不会)
-
synchronized函数的作用范围?
-
如何给一个类加锁?
-
你在项目里负责算法,讲讲你们的算法细节
-
为什么想来做操作系统相关开发
-
英语怎么样?英文自我介绍一下
-
用英文介绍一个你家乡的旅游景点
-
反问
中间还涉及到不少细节问题,对非科班出身还是有点难度的。很注重在实际应用里做过哪些操作系统方面的事,我说我没有实际进行过多进程操作,顶多是多线程,也就没有为难我。感觉面试官懂得很多,最后说感觉沟通得还不错,不知道有没有二面。。许愿二面!
#互联网求职##IBM##面经#