前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于牛客网的JAVA面试题错题总结以及归纳(1)

关于牛客网的JAVA面试题错题总结以及归纳(1)

作者头像
用户2032165
发布2018-06-05 16:42:19
6120
发布2018-06-05 16:42:19
举报
前言

今天在掘金看到一篇关于讲解的Spring框架的文章,文章提到了牛客网的面试题。于是乎我就下载了牛客网app,发现面试题目很丰富。我就挑了java方面的面试题做了一下。10个题目为一组面试题,做完后,我发现了自己错了好多,大多数都是基础题。俗话说:基础的深度决定未来的高度。我感觉自己必须要做一个错题的归纳和总结,把之前学习java过程中遗漏的知识点重新回顾一遍,正好借这一次机会。同时我也觉得理论知识也是非常重要的,理论左右着思想,支撑着代码的质量。

错题归纳
  • 第1题

这里写图片描述 归纳:

  • 1.方法名必须要跟类名相同
  • 2.不要声明返回类型
  • 3.构造方法可以被final,private所修饰
  • 4.一个类中至少有一个构造方法
  • 5.当类中没有提供有参的构造方法,Java默认调用无参的构造方法


  • 第2题

这里写图片描述 归纳:

  • 1.只要在重写Override父类的方法中,子类调用继承于父类的方法时候才会使用到super关键字
  • 2.子类调用继承于父类的方法,不需要使用super关键字,直接调用即可。

  • 第3题

这里写图片描述 这个题目不仔细看很容易出错,以为很简单肯定是4。其实正确的答案是10,因为缺少break;不能跳出。 归纳:

  1. 当switch结构中没有break的话,匹配到合适的值,是不会跳出的。它会一直匹配到最后一个case,直到整个结构结束。

  • 第4题

这里写图片描述 归纳:

  1. 首先字符串调用substring()方法获得一个从当前字符串的子串,该子串是从当前字符串的start处截取到end处所得到的字符串,但不包含end处所对应的字符。
  2. 垃圾回收主要针对的是堆区内存的回收,因为栈区的内存随着线程而释放。堆区分为3个区:年轻代,年老代,永久代(方法区)。
    • 年轻代:通过new运算符创建的对象通常被分配在年轻代。过一定的Minor GC(Minor GC是针对年轻代内存的垃圾回收器)还存活的对象被移动到年老代。
    • 年老代:就是从年轻代移动过来的和一些比较大的对象。Full GC是针对年老代的垃圾回收器。
  • 永久代:存储着被final修饰的常量,static变量,常量池。

解答: 首先str0,str1是静态常量,存储在堆内存的永久代。str2也是新的一个对象,因为substring的源码中其实也是new一个String对象并且返回,str3和str4直接通过new运算符创建出的新对象。str2,str3,str4是存储在堆区的年轻代。经过Full GC后,年老代的内存被清理回收。不算永久代的话,只剩下年轻代。那么年轻代5*3=15个字符数


  • 第5题

这里写图片描述 归纳:

  • default包和protected的区别:前者只要是外部包,就拒绝访问。后者只要是子类就能访问,即时子类在外部包。


  • 第6题

这里写图片描述 归纳:

  1. wait()和notify()是对象的方法,而sleep是Thread类的方法。
  2. wait()和sleep()都会抛出InterruptedException,必须要进行异常捕获。
  3. 调用wait()和notify()必须采用当前锁调用,即必须采用Synchronized中的对象。


  • 第7题

这里写图片描述 解答: dst=new String(src,"GBK").getBytes("UTF-8"); 归纳:

  • 先通过new String(src,"GBK")还原成一个字符串对象,在调用字符串对象的getBytes("UTF-8")得到UTF-8编码的字节数组


  • 第8题

这里写图片描述 归纳:

  1. GenericServlet是一个抽象类,必须给出子类才能实例化。它给出了设计Servlet的一些骨架,定义了Servlet生命周期,还有一些得到名字,配置,初始化参数的方法。
  2. HttpServlet是GenericServlet的子类,还添加了doGetdoPostdoDeteledoTrace等方法处理http协议里的命令的请求响应过程。
  3. 大多数Servlet通过GenericServlet或者是HttpServlet类进行扩展实现。
  4. ServletConfig接口定义了在Servlet初始化的过程中由Servlet容器传递给Servlet得到配置信息的对象。
  5. HttpServletRequest接口扩展了ServletRequest接口,为HttpServlet提供HTTP请求信息。


  • 第9题

这里写图片描述 归纳:

  • Java里不允许程序员进行运算符的重载。如果"+"之前是字符串,则视为连接字符串。如果"+"之前是字符串,"+"之后是基本数据类型,那么还是视为连接。如果"+"之前是基本数据类型,那么视为加法运算。如果"+"之后是引用类型变量的话,则会调用该对象的toString()方法


  • 第10题

这里写图片描述 归纳:

  • 流媒体是一种可以使音频,视频和其他多媒体信息在Internet以及Intranet(企业内部网络)上实现的,无需下载等待的方式进行播放的技术。


尾言

坚持每天把一些遗漏的基础知识点温故而知新。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.06.09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 错题归纳
  • 尾言
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档