2017阿里,百度,京东java面试+笔试大合集,2018的你会
2017阿里,百度,京东java面试+笔试大合集
1、阿里
面试(一二面合集)
1、介绍一下你自己。
2、介绍一下你认为做的最好的一个项目。
3、请用五分钟的时间把你做的项目的流程图画一下。
4、项目中你遇到的难点是什么?怎么解决的?
5、项目中你认为哪个技术是你最拿手的?
6、介绍一下HTTP协议
7、如何把一个大的日志文件哈希到不同的哈希表中,这些哈希表的存储格式是什么?
8、linux网络编程,画一个c/s通信的流程
9、多线程了解多少,做过的项目中有没有用到过?
10、描述一下动态规划的思想
11、快排。
12、内存分配方式有哪几种?代码段放在哪个内存区?static int a[1024][1024][1024]放在哪个区?会不会有异常?
13、如何表示图?
14、如何验证图的连通性?
15、对互联网的业务和技术是否关注?
笔试
第一道:
对于给定的整数集合S,求出最大的d,使得a+b+c=d。a,b,c,d互不相同,且都属于S。集合的元素个数小于等于2000个,元素的取值范围在[ ],假定可用内存空间为100MB,硬盘使用空间无限大,试分析时间和空间复杂度,找出最快的解决方法。
阿里巴巴第二道(研发类)
原题大致描述有一大批数据,百万级别的。数据项内容是:用户ID、科目ABC各自的成绩。其中用户ID为0~1000万之间,且是连续的,可以唯一标识一条记录。科目ABC成绩均在0~100之间。有两块磁盘,空间大小均为512M,内存空间64M。
1) 为实现快速查询某用户ID对应的各科成绩,问磁盘文件及内存该如何组织;
2) 改变题目条件,ID为0~10亿之间,且不连续。问磁盘文件及内存该如何组织;
3) 在问题2的基础上,增加一个需求。在查询各科成绩的同时,获取该用户的排名,问磁盘文件及内存该如何组织。
如果想学习Java工程化、高性能及分布式、高性能、深入浅出。性能调优、Spring,MyBatis,Netty源码分析的朋友可以加我的Java进阶群,680130298,群里有阿里大牛直播讲解技术,以及Java大型互联网技术的视频免费分享给大家。
2、京东
1、Dubbo超时重试;Dubbo超时时间设置
2、如何保障请求执行顺序
3、分布式事物与分布式锁(扣款不要出现负数)
4、分布式session设置
5、执行某操作,前50次成功,第51次失败a全部回滚b前50次提交第51次抛异常,ab场景分别如何设置Spring(传播性)
6、Zookeeper有哪些用
7、JVM内存模型
8、数据库垂直和水平拆分
9、MyBatis如何分页;如何设置缓存;MySQL分页
10、熟悉IO么?与NIO的区别,阻塞与非阻塞的区别
11、分布式session一致性
12、分布式接口的幂等性设计「不能重复扣款」
笔试
3、百度
自我介绍
1、Java中的多态
2、Object类下的方法
3、Finalize的作用和使用场景
4、Hashcode和equals
5、为什么要同时重写hashcode和equals
6、不同时重写会出现哪些问题
7、Hashmap的原理
8、Hashmap如何变线程安全,每种方式的优缺点
9、垃圾回收机制
10、Jvm的参数你知道的说一下
11、设计模式了解的说一下啊
12、手撕一个单例模式
13、快速排序的思想讲一下
14、给个数组,模拟快排的过程
15、手写快排
16、设计题,一个图书馆管理系统,数据库怎么设计,需求自己定
笔试
简答题1
一个单词单词字母交换,可得另一个单词,如army->mary,成为兄弟单词。提供一个单词,在字典中找到它的兄弟。描述数据结构和查询过程。
简答题2
线程和进程区别和联系。什么是“线程安全”
简答题3
C和C++怎样分配和释放内存,区别是什么
算法题1
一个url指向的页面里面有另一个url,最终有一个url指向之前出现过的url或空,这两种情形都定义为null。这样构成一个单链表。给两条这样单链表,判断里面是否存在同样的url。url以亿级计,资源不足以hash。
算法题2
数组al[0,mid-1] 和 al[mid,num-1],都分别有序。将其merge成有序数组al[0,num-1],要求空间复杂度O(1)
系统设计题
百度搜索框的suggestion,比如输入北京,搜索框下面会以北京为前缀,展示“北京爱情故事”、“北京公交”、“北京医院”等等搜索词。
如何设计使得空间和时间复杂度尽量低。
总结
以上是面试的经验以及学习的方面,分享给大家,希望大家可以了解什么是大型互联网名企面试题。觉得收获的话可以点个关注收藏转发一波喔,谢谢大佬们支持!!