湖南金科建设有限公司网站,win8式网站后台模板,网站的建设及维护,网页微博怎么看直播目录 第一幕 、第一场#xff09;某大厦楼下大门前第二场#xff09;电梯中第三场#xff09;公司前台 友情提醒 背面试题很枯燥#xff0c;加入一些戏剧场景故事人物来加深记忆。PS:点击文章目录可直接跳转到文章指定位置。 第一幕 、
第一场#xff09;某大厦楼下大门… 目录 第一幕 、第一场某大厦楼下大门前第二场电梯中第三场公司前台 友情提醒 背面试题很枯燥加入一些戏剧场景故事人物来加深记忆。PS:点击文章目录可直接跳转到文章指定位置。 第一幕 、
第一场某大厦楼下大门前
【门卫甲门卫乙面试者老王路人等】
门卫甲来者何人报上名来。
老王隔壁老王前来面试
门卫乙现在面试Java的人很多如果谁都放进去恐怕总裁会责怪我们你先说说1.Java的跨平台原理 回答对了再进去面试吧。
老王这个公司倒是有意思门卫当起了面试官。Java实现跨平台是JVM(Java虚拟机)起的作用编译好了一份Java字节码换到不同的平台上时并不需要重新编译前提是这些平台上都安装了相应平台的JVMJVM不是跨平台的。
门卫甲我也有个问题2.说一下Java的垃圾回收机制 对了我去买个冰棍老乙给你也带一根。
老王给我也带一根钟薛高我就给你说垃圾回收机制 垃圾回收器通常是作为一个单独的低级别的线程运行对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。垃圾回收器不可以马上回收内存可以手动执行System.gc()通知GC运行但是Java语言规范并不保证GC一定会执行。 回收机制包括 ①分代复制垃圾回收 不同生命周期的对象可以采取不同的收集方式生命周期比较长的如Http请求中的 Session对象、线程、Socket连接。生命周期比较短的如String对象。分代回收是把不同生命周期的对象放在不同代上包括年轻代、年老代和持久代因此垃圾回收区域、时间也不一样。 ②标记垃圾回收 使用标记清除算法,内存耗尽时,程序将会被挂起,垃圾回收开始执行.当所有的未引用对象被清理完毕时,程序才会继续执行。标记清除算法由两个阶段组成: 标记阶段标记所有的可访问对象。 收集阶段垃圾收集算法扫描堆并回收所有的未标记对象。 ③增量垃圾回收 解决标记清除的长停顿问题。增量收集器把堆栈分为多个域每次仅从一个域收集垃圾。这会造成较小的应用程序中断。
门卫乙其实我也不知道你说的对不对不过你照着手机读是不是有点过分了。手机收起来问你一个简单的。3.JVM加载class文件的原理机制
老王不知道
门卫乙让你手机收起你就不知道是吧我来告诉你经过编译的Java源程序并不是一个可执行程序而是一个或多个类文件JVM会确保这个类被加载、连接验证、准备和解析和初始化。 ①类的加载是由类加载器和它的子类在运行时查找和装入类文件中的类把.class文件中的数据读入到内存中。 ②连接阶段加载完成后进入连接阶段包括验证、准备为静态变量分配内存并设置默认的初始值和解析将符号引用替换为直接引用三个步骤。 ③最后JVM对类进行初始化包括如果类有父类先初始化父类类中存在初始化语句就依次执行这些初始化语句
门卫乙我话说完你赞成还是反对。
老王赞成。一直都是你问我我也问你一个4.门卫大哥你对Java内存了解多少
门卫乙一般我不轻易显露自己的学识但是你既然诚心诚意的发问了我就露一手 ①Java内存分为堆与栈java中一个线程就会相应有一个线程栈与之对应Main函数就是栈的起始点也是程序的起始点即程序执行的入口。 ②栈是运行时的单位存储基本数据类型和堆中对象的引用以及当前程序相关的信息(局部变量、程序运行状态、方法、方法返回值)等, 而堆是存储的单元存储对象信息如对象的属性。 ③栈解决程序的运行问题即程序如何执行运行逻辑或者说如何处理数据堆解决的是数据存储的问题即数据怎么放放在哪儿。 ④堆与栈的分离使得堆中的内容可以被多个栈共享提供了有效的数据交互方式节省了空间。 ⑤由于栈只能向上增长就会限制住栈存储内容的能力而堆中的对象是可以根据需要动态增长的因此栈和堆的拆分使得动态增长成为可能相应栈中只需记录堆中的一个地址即可。
门卫甲你回来了。
门卫乙是我回来了不是你回来了。在上班时间能吃冰棍吗老王你说说5.为什么不把基本类型放在堆中
门卫甲抢答因为基本类型占用的空间一般是1~8个字节不会出现动态增长的情况—长度固定因此栈中存储就够了如果把它存在堆中是没有什么意义的
门卫乙问你了吗显眼包。老王回答一下6. java中的参数传递是传值呢还是传引用
门卫甲 抢答 对象传递是引用值传递传递的是引用的地址值基本数据类型传递是值传递
老王我可以进去了吗过度的饱食有伤胃口毫无节制的门卫面试结果只会让我错过面试的时间。— —对了把冰棍给我。
门卫甲/乙要糕没有要进去你就进去吧。
第二场电梯中
【老王保洁公司老板保洁女生】
老板关于公司保洁方面你已经做的很好了。但是其他种种事项还需要你单独来办公室单独讨论拟定。我知道你在这方面的阅历尚浅先问你一个问题7.你对面向对象思想的理解
保洁女生想炒鱿鱼直接说何必整这出。亏我昨天背了面试题面向对象编程简称OOP技术使用许多代码模块每个模块都只提供特定的功能它们是彼此独立的可以增加代码重用的几率更加有利于软件的开发、维护和升级。另外OOP的三大核心特性继承、封装、多态的特性使得在面对象编上能够设计出高内聚、低耦合的系统结构使得系统更灵活、更容易扩展而且成本较低所以这一编程思想是目前一种应用最为普遍的软件设计思想。
老板看来你还是有点功底8.说说面向对象的三大特性
老王我抢答 ①封装 封装就是把描述一个对象的属性和行为的代码封装在一个“模块”中也就是一个类中属性用变量定义行为用方法进行定义方法可以直接访问同一个对象中的属性。 ②继承 继承是子类共享父类数据和方法的机制这是类之间的一种关系提高了软件的可重用性和可扩展性。在定义或实现一个类的时候可以在一个已经存在的类的基础之上来进行把这个已经存在的类所定义的内容作为自己的内容并可以加入新的内容或修改原来的方法使之更适合特殊的需要这就是继承。 ③多态 多态指的同一个对象在程序不同时刻的多种运行状态。指的就是父类引用指向子类对象调用方法时会调用子类的实现而不是父类的实现。不同子类继承了同一个父类。当我们统一用父类引用变量去调用这些不同的子类对象中的方法时我们称为多态。 为使多态能运行存在着继承或者实现关系 可以将子类的对象赋给父类/接口以多态的形式来传递参数增强了参数类型的灵活性。 多态的好处和弊端 好处多态的存在提高了程序的扩展性和后期可维护性 弊端虽然可以预先使用但是只能访问父类中已有的功能运行的是后期子类的功能内容。不能预先使用子类中定义的特有功能。 多态应用场景当接口已经确定但同一个接口在不同环境需要不同实现的时候。如工厂模式
老板你是谁还抢答不过看起来答得不错来保洁公司上班吧。
老王口出狂言。
保洁女生我辞职。
第三场公司前台
【接待人员埃斯卡莱罗面试者老王面试者奥斯卡】
奥斯卡老王这个公司不好你千万不要来面试他们整天加班没有加班费放假只能调休。
埃斯卡莱罗老王别理他他也是来面试的。你先填一下表格9.Java基础语法面试题
问题答案.java源文件中是否可以包括多个类不是内部类有什么限制可以有多个类但只能有一个public的类并且public的类名必须与文件名相一致。一个文件中可以只有非public类如果只有一个非public类此类可以跟文件名不同和的区别和都可以用作逻辑与的运算符为短路与另外可以做为整数的位运算符的两侧必须要求是布尔值或者布尔表达式。如果左侧为false程序不会去继续判断右侧表达式的真假。java中的基本数据类型有哪些byte(位)1字节、short(短整数)2字节、int(整数)4字节、long(长整数)8字节、float(单精度)4字节、double(双精度)8字节、char(字符)2字节boolean(布尔值)理论上占1bit。8bit是一字节。Integer与int的区别int基本数据类型Integer是java为int提供的封装类。int的默认值为0而Integer的默认值为nullint是值传递值保存在值栈中integer是引用地址传递存在堆中通过对象的引用来调用。char型变量中能不能存贮一个中文汉字char型变量是用来存储Unicode编码的字符的unicode编码字符集中包含了汉字所以char型变量中可以存储汉字。7)short s1 1; s1 s1 1;有什么错? short s1 1; s1 1;有什么错?由于s11运算时会自动提升表达式的类型所以结果是int型再赋值给short类型s1时编译器会提示错误需要强制转换类型。由于是java语言规定的运算符Java编译器会对它进行特殊处理因此可以正确编译。和equals方法有什么区别 操作符专门用来比较两个变量的值是否相等比较两个基本类型的数据或两个引用变量是否相等只能用 操作符。equals方法只能用于判断引用类型重写后用于判断对象内容是否相同。不重写方法的话就是使用操作符判断引用类型的地址值。所以一定要记得重写啊不然白给作用域publicprivateprotected以及不写时的区别?public当前类同包子类其他包。protected当前类同包子类。default当前类同包。private当前类。Java 常用包java.lang–语言包包括Object类、Thread类、String、Math、System、Runtime、Class、Exception、Process等java.util–实用工具包Scanner、Date、Calendar、LinkedList、Hashtable、Stack、TreeSet等java.NET–网络功能包URL、Socket、ServerSocket等java.sql–数据库连接包实现JDBC的类库java.io–输入输出包与流相关的包Java 常用接口Comparable ,Collection,Set, List, Map, Runnable Iterable Iterator 等
老王奥斯卡这公司面试强度这么高吗
奥斯卡面试的真谛在于那就是认清了面试的真相后依然热爱面试。发觉了工作的残酷后依然过着美丽人生。祝你好运。