别看是在线笔试,但是非常严格,全称窗口不得最小化和关闭,转移,全称需要打开摄像头监控,使用草稿纸需要摄像头对准……反正2个小时,题量在那儿摆着,有作弊的功夫不如好好做做最后的编程题呢……网易不让泄漏原题,但是我只是说了考察的知识点,不犯法吧……

  3月初投了网易内推,当初以为有内推码的就免笔试了,最后空欢喜,有内推码也要在线笔试……先在线填写了简历,等了漫长的半个多月,开始就认为简历挂掉了,毕竟网易,周边的小伙伴,有挂掉的……我都等到上周了才来通知,说今天在线笔试……

  总体感觉考察不算很难,但是很广,而且对JavaSE的知识点考察很深入,还不仅仅是考察Java,涉及了设计模式,Java语法,数据库SQL,Linux命令,Windows,数据结构,网络,算法,操作系统等领域,而且编码题不能在IDE上编码,导致很不适应,说明平时太依靠IDE了,也不是啥好事儿。

  题型回忆:

  • 设计模式就一道题,很浅显,应该是送分的,考察的观察者模式,题目把观察者模式的使用场景大概描述了下,让你选这应该使用哪个设计模式,so easy。
  • 第二道正好是我之前总结过的JVM学习记录里的JVM的GC调优和堆区内存空间结构问题,给出了几个GC参数,让计算伊甸园的大小,好像我算错了, 妈蛋,什么东西不复习都不行啊!

JVM学习(4)——全面总结Java的GC算法和回收机制

  • 还有一道考察Java语法基本功的,属于Java初始化的范畴,大概类似下面这几个,实在回忆不起100%原题了:

    • 就是记住:Java程序并不是一开始就运行自己的构造方法而是先运行其父类的构造方法。注意:子类实例化的时候会先调用父类的构造,然后才调用子类的构造。所以一般在子类的构造中第一条语句就是调用父类构造不过如果没有在第一条语句显示地调用父类构造,那名JAVA会自动先调用父类的默认无参构造,当然这种情况下,你得保证父类必须有无参构造!
 class SuperClass {

       SuperClass(String str) {

           System.out.println("Super with a string.");

       }

    }

    publicclass SubClass extends SuperClass {

       SubClass(String str) {

           System.out.println("Sub with a string.");

       }

       publicstaticvoid main(String[] args) {

           SubClass sub = new SubClass("sub");

       }

    }

  程序在初始化子类时(没有显示调用父类的构造器)先要寻找其父类的默认无参构造方法,结果没找到那么编译自然不能通过。解决这个问题有两个办法:

1.在父类中增加一个默认无参构造方法。 
2.在子类的构造方法中增加一条语句:super(str); 且必须在第一句。      

class One {

       One(String str) {

           System.out.println(str);

       }

    }

class Two {

       One one_1 = new One("one-1");

       One one_2 = new One("one-2");

       One one_3 = new One("one-3");

       Two(String str) {

           System.out.println(str);

       }

}

publicclass Test {

       publicstaticvoid main(String[] args) {

           System.out.println("Test main() start ");

           Two two = new Two("two");

       }

}
    • 从main()方法中实例化了一个Two类的对象,构造方法作用就是初始化。先初始化Two类的成员变量(即在创建对象时对象所在类的所有数据成员会先进行初始化),Two类有3个成员变量,都是One类的对象,那么要初始化这三个对象,就调用3次One类的相应的含参构造方法来初始化它们。最后在初始化Two类的对象。
    class One {
One(String str) {
System.out.println(str);
}
} class Two {
One one_1 = new One("one-1");
One one_2 = new One("one-2");
static One one_3 = new One("one-3"); Two(String str) {
System.out.println(str);
}
} publicclass Test {
publicstaticvoid main(String[] args) {
System.out.println("Test main() start ");
Two two_1 = new Two("two-1");
System.out.println("------------");
Two two_2 = new Two("two-2");
}
}
    • 含静态变量的情景,先初始化two类的static的变量,调用one的构造器初始化,打印one-3,再按顺序初始化two类的非static的成员变量,最后初始化two类的对象two_1,如果一个类中有静态对象,那么它会在非静态对象前初始化,但只初始化一次,非静态对象每次调用时都要按顺序初始化一次。
class One {
One(String str) { System.out.println(str);
}
} class Two {
One one_1 = new One("one-1");
One one_2 = new One("one-2");
static One one_3 = new One("one-3"); Two(String str) {
System.out.println(str);
}
} publicclass Test {
static Two two_3 = new Two("two-3"); public static void main(String[] args) {
System.out.println("Test main() start ");
Two two_1 = new Two("two-1");
System.out.println("------------");
Two two_2 = new Two("two-2");
}
}
    • 程序中主类的静态变量会在main()方法执行前初始化,之后和上个例子一样。
class One {
One(String str) {
System.out.println(str);
}
} class Two {
static int i = 0;
One one_1 = new One("one-1");
static One one_2 = new One("one-2");
static One one_3 = new One("one-3"); Two(String str) {
System.out.println(str);
}
} publicclass Test {//主类
public static void main(String[] args){
System.out.println("Test main() start ");
System.out.println("Two.i = " + Two.i);
}
}
    • 首次访问主类中的静态变量(没有创建对象)时也要先初始化该静态变量,先初始化two类的静态成员(如果有的话),顺序初始,因为主类中,没有实例化新的对象,所以其余的普通成员变量不用管。

Test main() start

one-2

one-3

Two.i = 0

  接下来的题顺序忘了,就大概回忆知识点有多少算多少了……

  • 考察Java的异常体系,让解释ClassNotFoundException异常和NoClassDefFoundError异常,啥场景出现,如何解决。
  • 考察了Java的锁的机制,主要是介绍下自旋锁和互斥锁的概念,区别和使用场景。
  • 考察了JDK 5的 JUC 包,给了四个选项,好像有Future,Sephere等,让找出和其他三个区别最大的一个类。考察的是对JUC的熟练程度。
  • 考察Java的类加载机制,回答如何卸载 Java 类。
  • SQL中 where 后不能出现什么语句,考察的SQL的语法,比较投的Java Web开发……
  • ping命令,对局域网内的主机ping通了,内网能上,但是连不上外网,可能是因为啥?
  • windows下的exe和dll区别和概念?
  • Linux下何时从用户态切换到内核态。考察的Linux的基础知识。
  • Linux下的权限命令考察的挺多,出了两个类似的题。
  • 一道操作系统进程调度的问题,主要考察短作业优先算法下,求平均周转时间。
  • 数据结构的二叉树,已知前序,后序遍历,问该树有几个可能的画法。
  • 考察树的叶子节点计算。
  • 考察栈的特性,一个编程题,问如何匹配字符串的各种括号,编程实现,在线的,不能用IDE。
  • 考察递归算法的时间复杂度和如何改进,我之前总结过,写的是尾递归和线性递归。

JVM学习(1)——通过实例总结Java虚拟机的运行机制

  • 还有一个编程题,很遗憾,没做对,大概数据着急了,没咋记……

……

其他的小题忘了,就这样吧。再接再厉!

欢迎关注

dashuai的博客是终身学习践行者,大厂程序员,且专注于工作经验、学习笔记的分享和日常吐槽,包括但不限于互联网行业,附带分享一些PDF电子书,资料,帮忙内推,欢迎拍砖!

2016网易春招Java在线笔试回忆录的更多相关文章

  1. 链家2018春招Java工程师编程题题解

    Light 题目描述 在小红家里面,有n组开关,触摸每个开关,可以使得一组灯泡点亮.现在问你,使用这n组开关,最多能够使得多少个灯泡点亮呢? 输入 第一行一个n,表示有n组开关.接下来n行,每行第一个 ...

  2. 京东2019春招Java工程师编程题题解

    生成回文串 题目描述 对于一个字符串,从前开始读和从后开始读是一样的,我们就称这个字符串是回文串. 例如"ABCBA","AA","A"是回 ...

  3. 爱奇艺2018春招Java工程师编程题题解

    字典序最大子序列 题目描述 对于字符串a和b,如果移除字符串a中的一些字母(可以全部移除,也可以一个都不移除)就能够得到字符串b我们就称b是a的子序列. 例如."heo"是&quo ...

  4. hihocoder 1288 : Font Size (微软2016校园招聘4月在线笔试)

    hihocoder 1288 笔试第一道..wa了好几次,也是无语..hihocoder错了不会告诉你失败的时候的测试集,这样有时候就很烦.. 遍历所有的字体,从min(w,h)开始逐渐变小开始遍历. ...

  5. 微软2016校园招聘4月在线笔试 A FontSize

    题目链接:http://hihocoder.com/problemset/problem/1288 分析:题目中所求的是最大的FontSize(记为S),其应该满足P*[W/S]*[H/S] > ...

  6. 微软2016校园招聘4月在线笔试 ABC

    题目链接:http://hihocoder.com/contest/mstest2016april1/problems 第一题:输入N,P,W,H,代表有N段文字,每段有ai个字,每行有⌊W/S⌋个字 ...

  7. 微软2016校园招聘4月在线笔试 hihocoder 1289 403 Forbidden

    时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描写叙述 Little Hi runs a web server. Sometimes he has to deny acces ...

  8. [Hihocoder 1289] 403 Forbidden (微软2016校园招聘4月在线笔试)

    传送门 #1289 : 403 Forbidden 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Little Hi runs a web server. Someti ...

  9. 【第二十三期】春招实习阶段性总结(阿里云已OC)

    本人算是一个半路出家找工作的菜鸡了,现在手中阿里云云原生offer.百度度小满offer.腾讯PCG二面环节.美团点评等offer环节.希望我的经历分享能对各位或之后准备春招的同学有帮助. 个人背景 ...

随机推荐

  1. ZIP压缩算法详细分析及解压实例解释

    最近自己实现了一个ZIP压缩数据的解压程序,觉得有必要把ZIP压缩格式进行一下详细总结,数据压缩是一门通信原理和计算机科学都会涉及到的学科,在通信原理中,一般称为信源编码,在计算机科学里,一般称为数据 ...

  2. Hello Web API系列教程——Web API与国际化

    软件国际化是在软件设计和文档开发过程中,使得功能和代码设计能处理多种语言和文化习俗,在创建不同语言版本时,不需要重新设计源程序代码的软件工程方法.这在很多成熟的软件开发平台中非常常见.对于.net开发 ...

  3. 使用AWS亚马逊云搭建Gmail转发服务(三)

    title: 使用AWS亚马逊云搭建Gmail转发服务(三) author:青南 date: 2015-01-02 15:42:22 categories: [Python] tags: [log,G ...

  4. 安卓易学,爬坑不易——腾讯老司机的RecyclerView局部刷新爬坑之路

    针对手游的性能优化,腾讯WeTest平台的Cube工具提供了基本所有相关指标的检测,为手游进行最高效和准确的测试服务,不断改善玩家的体验.目前功能还在免费开放中. 点击地址:http://wetest ...

  5. java 利用ManagementFactory获取jvm,os的一些信息--转

    原文地址:http://blog.csdn.net/dream_broken/article/details/49759043 想了解下某个Java项目的运行时jvm的情况,可以使用一些监控工具,比如 ...

  6. 小兔Java教程 - 三分钟学会Java文件上传

    今天群里正好有人问起了Java文件上传的事情,本来这是Java里面的知识点,而我目前最主要的精力还是放在了JS的部分.不过反正也不麻烦,我就专门开一贴来聊聊Java文件上传的基本实现方法吧. 话不多说 ...

  7. 一个简单的网站web项目的详解

    有不对的术语,或者不好理解的部分,欢迎大家批评指正,谢谢大家! 近期做的网站web项目,实现登录功能,查询功能.首先把这个项目分为几个模块来处理,当前用户模块,历史用户模块,历史记录模块,数据库模块, ...

  8. 服务治理要先于SOA

      讲在前面的话: 若企业缺乏对服务变更的控制和规则,那么一个服务在经过几个项目之后,就很有可能被随意更改成多个版本,将来变成什么样更是无法预测.久而久之,降低了服务重用的可能性,提高了服务利用的成本 ...

  9. 设置WindowServer2012 时间同步NTP

    在powershell中以管理员身份运行以下命令即可 w32tm /config /manualpeerlist:pool.ntp.org /syncfromflags:MANUAL Stop-Ser ...

  10. <程序员从入门到精通> -- How

    定位 自己才是职业生涯的管理者,想清楚自己的发展路径: 远期的理想是什么?近期的规划是什么?今日的任务和功课又是什么? 今日之任务或功课哪些有助于近期之规划的实现,而近期之规划是否有利于远期之理想? ...