您的位置:首页 > 职场人生

互联网公司面试题以及范围

2017-08-12 10:15 274 查看
Java笔试题

一、 10个箱子,每个箱子10个苹果,其中一个箱子的苹果是9两/个,其他的都是1斤/个。 要求利用一个秤,只称一次,找出那个装9两/个的箱子

二、 如何查看linux 的cpu使用情况

三、 一个Linux用户设置了umask 022, 新建一个文件,默认权限是什么?

四、 通过浏览器访问京东首页 www.jd.com时,都向服务器传了哪些信息?

五、 比较memcached和redis

六、 抽象类和接口区别,使用时如何选择?

七、 多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?

八、 什么是死锁,举例说明

九、 XML文件的解析方式有哪些, Java中有哪些工具类

十、 Overload和Override的区别

十一、 比较SoftReference, WeekReference和 PhantomReference

十二、 用代码实例或UML描述适配器模式

十三、 描述你所理解的Java集合框架

十四、 任选两题,写出代码

1. 写一个函数,输入n,输出其斐波那契数列的第n项。

斐波那契数列的定义如下:

2. 实现用户类User(包含用户Id,用户名和年龄字段), 要求其可以作为HashMap的key使用

3. 实现一个简单的JavaBean和JSON相互转换的工具类

4. 写一个方法,参数为 String。此方法返回 参数String中最长的回文字符串的长度。回文字符串示例:奇数情况:abcba,偶数情况:abba

JAVA面试内容

挖掘候选人优点,找出不足

1)基础知识(T1-T4):

1、集合/数组、接口/抽象类、反射/泛型等(Hashmap、ConcurrentHashmap、TreeMap;ArrayList、LinkList;等)

2、多线程(多线程的相关使用、并发包等)

3、设计模式

4、常用框架(如:struts、mybatisc、spring等)的相关使用、原理

5、mysql数据库(索引的使用和原理;SQL优化;数据库锁;数据库事务/隔离级别;等)

6、内存溢出、内存泄露(如何产生;问题排查;解决过程等)

7、JVM(垃圾回收过程、算法、JVM优化等)

8、常用算法(二分查找、快速排序、递归等)

9、缓存的使用、原理等(内存缓存、memcached、redis等)

10、代码重构

11、Linux常用命令

12、服务器(部署、性能调优等)

2)设计方面(T2选,T3-T4 必):

1、代码框架设计

2、数据库表设计

3、分布式系统设计(可用性,可伸缩性,高并发,高性能等)

3)编码方面(T1-T3必, T4选):

1、编码习惯(方法、变量命名等)

2、程序结构(可读性等)

3、严谨性(分支条件,边界条件等)

4、单元测试 (是否主动检查/使用的测试用例是否完备)

4) 其他方面(T1-T4):

1、沟通能力

2、应变能力

3、稳定性

4、潜力

countdownlatch

CAS

Volite原理

Mysql索引,乐观锁,事物

HashMap数据结构

ThreadLocal源码

Integer常量池

AutomicInteger原理

Jmap

Synchronized锁

JVM内存模型

JVM类加载机制

JVM垃圾回收算法及机制

SpringMVC是线程安全的吗

Spring IOC AOP 的原理

Mybatis原理

索引原理

2017-11-24面试题更新

1:集合类以及集合框架;HashMap与HashTable实现原理,线程安全性,hash冲突及处理算法;ConcurrentHashMap

2:如何将一个Java对象序列化到文件里

3:Java的并发、多线程、线程模型

4:Java中实现多态的机制是什么

5:什么是线程池,如何使用?

6:数据一致性如何保证;Synchronized关键字,类锁,方法锁,重入锁

7:进程和线程的区别

8:说说你对Java反射的理解

9:Java如何调用c、c++语言

10:你所知道的设计模式有哪些

1:堆和栈在内存中的区别是什么(数据结构方面以及实际实现方面)

2:求1000以内的水仙花数以及40亿以内的水仙花数

3:最快的排序算法是哪个?给阿里2万多名员工按年龄排序应该选择哪个算法?堆和树的区别;写出快排代码;链表逆序代码

4:万亿级别的两个URL文件A和B,如何求出A和B的差集C,(Bit映射->hash分组->多文件读写效率->磁盘寻址以及应用层面对寻址的优化)

5:子串包含问题(KMP 算法)写代码实现

1:死锁的四个必要条件

2:常见编码方式;utf-8编码中的中文占几个字节;int型几个字节

3:实现一个Json解析器(可以通过正则提高速度)

4:MVC MVP MVVM; 常见的设计模式;写出观察者模式的代码

5:TCP的3次握手和四次挥手;TCP与UDP的区别

6:HTTP协议;HTTP1.0与2.0的区别;HTTP报文结构

1:研究比较深入的领域有哪些

2:对业内信息的关注渠道有哪些

3:最近都读哪些书

4:自己最擅长的技术点,最感兴趣的技术领域和技术点

5:项目中用了哪些开源库,如何避免因为引入开源库而导致的安全性和稳定性问题

1:您在前一家公司的离职原因是什么?(划重点,基本都会问到)

2:讲一件你印象最深的一件事情

3:介绍一个你影响最深的项目

4:介绍你最热爱最擅长的专业领域

5:公司实习最大的收获是什么

6:与上级意见不一致时,你将怎么办

7:自己的优点和缺点是什么?并举例说明?

8:你的学习方法是什么样的?实习项目中遇到的最大困难是什么以及如何解决的

9:说一件最能证明你能力的事情

10:针对你你申请的这个职位,你认为你还欠缺什么

11:如果通过这次面试我们单位录用了你,但工作一段时间却发现你不适合这个职位,你怎么办

12:项目中遇到最大的困难是什么?如何解决的

13:你的职业规划以及个人目标;未来发展路线及求职定位
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息