论文交了没事分享一下去年的面经参加了中兴捧月免笔试一面凉经:1、出示身份证2、自我介绍3、本科成绩排名、硕士成绩排名4、java的代码量5、抽象类和接口的差别,使用场景  抽象类要被子类继承,接口要被类实现。  接口只能做方法声明,抽象类中可以作方法声明,也可以做方法实现。  接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量。  接口是设计的结果,抽象类是重构的结果。  抽象类和接口都是用来抽象具体对象的,但是接口的抽象级别最高。  抽象类可以有具体的方法和属性,接口只能有抽象方法和不可变常量。  抽象类主要用来抽象类别,接口主要用来抽象功能。6、扩展都是用父类来做吗7、为了避免类太臃肿,用聚合和组合,这两个方式怎么用?  聚合(整体和部分可以分开)  组合(整体和部分不能分开)  聚合是一种弱关联关系;组合是一种强关联关系。  在聚合关系中的两个类(或实体)的生命周期是不同步;但,在组合关系中的两个类(或实体)的生命周期是同步的。8、wait和sleep的差异  两者都可以暂停线程的执行。  sleep() 方法没有释放锁,而 wait() 方法释放了锁 。  wait() 通常被用于线程间交互/通信,sleep()通常被用于暂停执行。  sleep() 是 Thread 类的静态本地方法,wait() 则是 Object 类的本地方法。  wait() 方法被调用后,线程不会自动苏醒,需要别的线程调用同一个对象上的 notify()或者 notifyAll() 方法。sleep()方法执行完成后,线程会自动苏醒,或者也可以使用 wait(long timeout) 超时后线程会自动苏醒。9、线程自己写过线程池吗  使用线程池的好处:  降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。  提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。  提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。  execute()方法用于提交不需要返回值的任务,所以无法判断任务是否被线程池执行成功与否;  submit()方法用于提交需要返回值的任务。线程池会返回一个 Future 类型的对象,通过这个 Future 对象可以判断任务是否执行成功。10、final和abstract能一起用吗  abstract与final不能同时使用,因为abstract的作用是定义抽象方法让子类继承重写的,而final修饰的方法是可以被子类继承但是不能重写。11、这俩关键字都是啥12、初始化字符串用字面量还是new String()13、差异在哪  String 类中使用 final 关键字修饰字符数组来保存字符串14、字面量的String存在什么问题?15、字面量String存在哪个空间?16、里式替换、依赖倒置  里式替换:派生类(子类)对象可以在程式中代替其基类(超类)对象  依赖倒置原则(Dependence Inversion Principle)是程序要依赖于抽象接口,不要依赖于具体实现。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。17、框架为什么要设置ioc?目的是什么18、框架是怎么实现ioc?19、框架的底层实现依赖的是什么?20、高度是k的二叉树最多有多少节点?最少k,最多 2^(k-1)21、数组和链表的区别?22、这俩在内存开销上的差异?  链表存储了指针,开销更大23、普通的线性搜索和二分查找的优势?  线性查找可以针对任何数组,将数组中的每项依次遍历出来之后,与所要查找项对比。消耗时间也是不规律的,可能查找项处于数组的第一位,也可能处于数组的最后一位。还有可能数组中完全不存在需要查找的项目。O(n)  二分查找法,针对有序数组使用。因为数组已经有序排列,可以通过将数组从中间分割,将中间项与所需查找项对比;然后再根据对比结果,再次向上或者向下,寻找中间项对比,直至完成查找。O(logN)24、有什么offer?25、找工作看重什么?26、有对象没?对象工作定了吗?同一级吗?27、获取稳定和开发的工作会优先考虑吗?28、目标薪资?29、反问(20分钟 结束)
点赞 12
评论 2
全部评论

相关推荐

不愿透露姓名的神秘牛友
今天 11:34
点赞 评论 收藏
分享
屌丝逆袭咸鱼计划:心态摆好,man,晚点找早点找到最后都是为了提升自己好进正职,努力提升自己才是最关键的😤难道说现在找不到找的太晚了就炸了可以鸡鸡了吗😤早实习晚实习不都是为了以后多积累,大四学长有的秋招进的也不妨碍有的春招进,人生就这样
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务