2016网易春招Java在线笔试回忆录
别看是在线笔试,但是非常严格,全称窗口不得最小化和关闭,转移,全称需要打开摄像头监控,使用草稿纸需要摄像头对准……反正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在线笔试回忆录的更多相关文章
- 链家2018春招Java工程师编程题题解
Light 题目描述 在小红家里面,有n组开关,触摸每个开关,可以使得一组灯泡点亮.现在问你,使用这n组开关,最多能够使得多少个灯泡点亮呢? 输入 第一行一个n,表示有n组开关.接下来n行,每行第一个 ...
- 京东2019春招Java工程师编程题题解
生成回文串 题目描述 对于一个字符串,从前开始读和从后开始读是一样的,我们就称这个字符串是回文串. 例如"ABCBA","AA","A"是回 ...
- 爱奇艺2018春招Java工程师编程题题解
字典序最大子序列 题目描述 对于字符串a和b,如果移除字符串a中的一些字母(可以全部移除,也可以一个都不移除)就能够得到字符串b我们就称b是a的子序列. 例如."heo"是&quo ...
- hihocoder 1288 : Font Size (微软2016校园招聘4月在线笔试)
hihocoder 1288 笔试第一道..wa了好几次,也是无语..hihocoder错了不会告诉你失败的时候的测试集,这样有时候就很烦.. 遍历所有的字体,从min(w,h)开始逐渐变小开始遍历. ...
- 微软2016校园招聘4月在线笔试 A FontSize
题目链接:http://hihocoder.com/problemset/problem/1288 分析:题目中所求的是最大的FontSize(记为S),其应该满足P*[W/S]*[H/S] > ...
- 微软2016校园招聘4月在线笔试 ABC
题目链接:http://hihocoder.com/contest/mstest2016april1/problems 第一题:输入N,P,W,H,代表有N段文字,每段有ai个字,每行有⌊W/S⌋个字 ...
- 微软2016校园招聘4月在线笔试 hihocoder 1289 403 Forbidden
时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描写叙述 Little Hi runs a web server. Sometimes he has to deny acces ...
- [Hihocoder 1289] 403 Forbidden (微软2016校园招聘4月在线笔试)
传送门 #1289 : 403 Forbidden 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Little Hi runs a web server. Someti ...
- 【第二十三期】春招实习阶段性总结(阿里云已OC)
本人算是一个半路出家找工作的菜鸡了,现在手中阿里云云原生offer.百度度小满offer.腾讯PCG二面环节.美团点评等offer环节.希望我的经历分享能对各位或之后准备春招的同学有帮助. 个人背景 ...
随机推荐
- 你必须知道的EF知识和经验
注意:以下内容如果没有特别申明,默认使用的EF6.0版本,code first模式. 推荐MiniProfiler插件 工欲善其事,必先利其器. 我们使用EF和在很大程度提高了开发速度,不过随之带来的 ...
- 理解CSS外边距margin
前面的话 margin是盒模型几个属性中一个非常特殊的属性.简单举几个例子:只有margin不显示当前元素背景,只有margin可以设置为负值,margin和宽高支持auto,以及margin具有 ...
- 终于等到你:CYQ.Data V5系列 (ORM数据层)最新版本开源了
前言: 不要问我框架为什么从收费授权转到免费开源,人生没有那么多为什么,这些年我开源的东西并不少,虽然这个是最核心的,看淡了就也没什么了. 群里的网友:太平说: 记得一年前你开源另一个项目的时候我就说 ...
- .NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法
.NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法 0x00 为什么需要Map(MapWhen)扩展 如果业务逻辑比较简单的话,一条主管道就够了,确实用不到 ...
- 浅谈WEB页面提速(前端向)
记得面试现在这份工作的时候,一位领导语重心长地谈道——当今的世界是互联网的世界,IT企业之间的竞争是很激烈的,如果一个网页的加载和显示速度,相比别人的站点页面有那么0.1秒的提升,那也是很大的一个成就 ...
- 前端学HTTP之日志记录
前面的话 几乎所有的服务器和代理都会记录下它们所处理的HTTP事务摘要.这么做出于一系列的原因:跟踪使用情况.安全性.计费.错误检测等等.本文将谥介绍日志记录 记录内容 大多数情况下,日志的记录出于两 ...
- ASP.NET Core应用的错误处理[1]:三种呈现错误页面的方式
由于ASP.NET Core应用是一个同时处理多个请求的服务器应用,所以在处理某个请求过程中抛出的异常并不会导致整个应用的终止.出于安全方面的考量,为了避免敏感信息的外泄,客户端在默认的情况下并不会得 ...
- ZKWeb网页框架1.3正式发布
本次更新的内容有 更新引用包版本 Microsoft.AspNetCore.Hosting.Abstractions 1.1.0 Microsoft.AspNetCore.Http.Abstracti ...
- 【云知道】究极秒杀Loadrunner乱码
Loadrunner乱码一击必杀 之前有介绍一些简单的针对Loadrunner脚本或者调试输出内容中乱码的一些设置,但是并没能完全解决一些小伙伴的问题,因为那些设置实在能力有限,还是有很多做不到的事情 ...
- Linux网卡驱动安装、防火墙原理
安装网卡驱动程序: 需要检查是否安装kernel依赖包: rpm –q kernel-devel #检查kernel依赖包是否安装 yum –y install kernel-devel 检查gcc和 ...