2016秋招面经

2016 秋招面经

 

免责声明:以下仅代表愚蠢的我的个人的意见,求轻喷,我玻璃心会嘤嘤嘤。

 

个人情况: 985 渣硕,女, java 工程师。

 

8 月多找工作开始,到国庆的十一,找工作的事情暂时告一段落。到现在还是对自己找到工作这件事情没有什么真实感,还是觉得自己只是走运罢了。所以还是把这工作这段时间遇到的事和题目稍微理一下,对我自己也是一个不错的梳理过程,希望对别人也能有个参考。

 

虽然说找工作最重要的就是心态。但是找工作以来各种亚历山大,经常也就是哭一哭再去看书的循环。所以我觉得我的心态应该对别人没什么参考的价值。但是笔试面试的机会尽量不要错过,不管笔试面试的结果如何,都一定是对自己的知识点一次查缺补漏的好机会,虽然各种打击一定不会少的。 QAQ

 

Java 相关书单: https://www.zhihu.com/question/29581524/answer/44872235

这个高票的答案,我也是按着这个书单照方抓药的。

我的书单是:

《剑指 offer 》《编程之美》这两本没啥好解释的,基本上面经少不了这两本书。把这两本刷明白了笔试的编程题应该就没啥问题了。我这两本刷的还是不太彻底。编程题理解起来都很容易,但手底下到底出不出代码和理解是两件事。牛客网或者 leetcode 都是刷题利器。

java core 》我基础比较薄弱,还是打打地基。大神们可以忽略。还有一本《 java 编程基础》你们随意就好。

《算法(第四版)》强烈推荐,感觉比 408 的数据结构好用多了。印刷排版各种舒服,而且是用 java 写的。

《深入浅出 JVM 》这本书真的必看。

sql 必知必会》《高性能 MySql 》数据库基础,第二本我也没看完,可是前几章起码还是要看的。

java 程序员面试笔试宝典》这本也挺好用。

《计算机组成原理》《操作系统》《计算机网络》万恶的 408

 

Java

1、  基本类型的范围及涉及的类型转换。

编程题注意输入输出的范围,碰到过笔试死活 AC 不了,有人说把 int 改成 long 就可以了的。有些题目会问你哪里有编译错误,比如两个 short 相加就会涉及类型转换编译出错之类的。

2、  String 是一个不可变的类及其相关类。

String 是一个 final 类。笔试题很喜欢问两个 String 是否 == 或者 equals 的问题。 Equals 一般问题不大。麻烦在 == 上,是否有 new ,是否编译期指向同一常量,等等。

还有就是如下这种情景:

面试官微笑脸: StringBuilder StringBuffer 有什么区别?

答:线程安全

面试官:哦,那我们来聊聊线程安全。

同理还有 hashMap hashTable 还有 concurrentHashMap ,各种套路深。

3、  拆箱和装箱。

4、  访问修饰符作用域。

5、  Object 类中的所有方法。

Equals 是否重写, hashCode 是否重写

如果重写了 hashCode 使两个对象的 hashCode 一样能不能往一个 set 里扔,会不会覆盖

Clone 方法是否重写

6、  多态

Java 不支持多继承。

方法签名、重载、重写(可能涉及静态分派和动态分派)。

接口和抽象类的联系和区别。

继承

接口中的成员变量 public static final

7、  反射

反射的定义

Java.long.reflect 里常用方法

8、  异常

未检查异常和已检查异常

9、  try/catch/finally

finally 一定会被执行,如果 finally 里有 return 语句,则覆盖 try/catch 里的 return

比较爱考的是 finally 里没有 return 语句,这时虽然 finally 里对 return 的值进行了修改,但 return 的值并不改变这种情况。

10、 集合类

List/Set/Queue 接口及其实现类

HashSet/TreeSet/HashMap/TreeMap/hashTable 这些类的底层实现。

常问: hashSet HashMap 有什么区别 /HashMap HashTable 有什么区别 /hashTable concurrentHashMap 有什么区别。各自的底层实现是基于什么的。这里紧接着的问题通常是:我们来聊聊多线程(微笑脸),或者我们来聊聊红黑树。

11、 初始化

有继承关系、有静态代码块、代码块、构造函数。弄清先后顺序。

12、 多线程

这里的内容已经和 JVM 的内容挨着了。

最基础的是进程和线程的概念。

之后是关键字。 Synchronize volatile 。其底层实现的内容也在 JVM 上了。

Synchronize lock

Sleep wait 的区别

Sleep yield 的区别

线程的状态及其转换

JVM:

《深入浅出 JVM 2 3 4 7 8 12 13 章重点看。

1、  运行时数据区

堆、本地方法区、程序计数器、虚拟机栈、方法区哪些是线程隔离的

堆和栈的区别

2、  常见的命令行工具

3、  引用技术算法和可达性分析算法

4、  强引用、软引用、弱引用、虚引用

5、  垃圾回收算法

标记清楚算法 复制算法 标记整理算法

6 、安全点, stop the world

7 、垃圾收集器

8 、内存分配规则

9 、空间分配担保   minorGC fullGC

10 、类加载机制

11 、分派

12 volatile

13 synchronize

14 、虚拟机常见参数

 

设计模式:

1、  基本的设计模式及其核心思想

2、  来,我们写一个单例模式的实现。这里有一个深坑,详情请见《 JVM 》第 370

3、  剩下的什么的就随缘吧。适配器类图什么的我也画过啊。

4、  基本的设计原则。如果有人问你接口里的属性为什么都是 final static 的,记得和他聊一聊设计原则。

 

数据库:

这里和自身的项目经验有关系,我用过 MySql ,所以问题主要在这里。

1、  数据库四范式

2、  事务的 ACID :原子性、一致性、隔离性、持久性

3、  事务的隔离级别:未提交读、提交读、可重复读、可串行化

4、  Sql 语句。增删改查基本语句,建表建索引。需要注意细节,比如 count 是否计算 null 值的行等。

5、  Mysql 的存储引擎有哪些,有哪些异同

6、  为什么这个存储引擎用 B+ 树实现。这题我当时没答上。我同学回答是因为它高效!不过答对之后就该聊 B+ 树了红黑树了吧……

7、  哪些情况下索引会失效。

8、  JDBC

 

计算机组成原理、操作系统、网络、 linux

这里其实还有很多东西,我还在继续看。

好多不会的遗忘的连蒙带猜的也过来了。 408 linux 这块我比较薄弱,还再继续补。基础很重要!基础很重要!基础很重要!

 

瞎扯:

1、  基本每家最后都会问:你有什么要问我的么?我的答案一直是:请针对我的面试情况给我一些建议。有些情况面试官会给我扯会犊子,有些会拒绝这个问题。

2、  面试的时候尽量把自己能会的东西都倒出来。有些时候面试官和你的方向可能不一致,这种时候只能问 408 是一件很危险的事情。尽量表现出最大的诚意和准备。

#Java工程师#
全部评论
你上面说的除了虚拟机常见参数和数据库的东西我说不上来, 其他的我基本上该掌握的全掌握了, 还是一个工作都没有.... 计算机组成原理我不知道要掌握到什么程度, 能说说吗
点赞 回复
分享
发布于 2016-10-03 23:13
谢谢lz,收藏啦🙏
点赞 回复
分享
发布于 2016-10-03 22:02
联想
校招火热招聘中
官网直投
收藏了。当目录学习,感谢楼主
点赞 回复
分享
发布于 2016-10-03 22:11
算法那本书作者是谁啊
点赞 回复
分享
发布于 2016-10-03 22:23
408指的是什么。。
点赞 回复
分享
发布于 2016-10-03 23:16
遇到408不是一般的危险😊
点赞 回复
分享
发布于 2016-10-03 23:38
请问你的项目经验啥的怎么样,这个重要吗
点赞 回复
分享
发布于 2016-10-04 01:32
你说的《jvm》作者是谁
点赞 回复
分享
发布于 2016-10-22 20:50
请问算法那本书的例子你都实现了吗 课后题要做吗 ?
点赞 回复
分享
发布于 2017-10-07 17:29
感谢分享~~
点赞 回复
分享
发布于 2017-10-07 19:50
感谢这份干货面经,收了!!!!!
点赞 回复
分享
发布于 2017-10-07 20:50

相关推荐

18 150 评论
分享
牛客网
牛客企业服务