2017年终巨献阿里、腾讯最新Java程序员面试题,准备好进BAT了吗
Java基础
进程和线程的区别;
Java的并发、多线程、线程模型;
什么是线程池,如何使用?
数据一致性如何保证;Synchronized关键字,类锁,方法锁,重入锁;
Java中实现多态的机制是什么;
如何将一个Java对象序列化到文件里;
说说你对Java反射的理解;
同步的方法;多进程开发以及多进程应用场景;
在Java中wait和seelp方法的不同;
synchronized 和volatile 关键字的作用;
服务器只提供数据接收接口,在多线程或多进程条件下,如何保证数据的有序到达;
抽象类与接口的区别;应用场景;抽象类是否可以没有方法和属性;
静态属性和静态方法是否可以被继承?是否可以被重写?以及原因?
修改对象A的equals方法的签名,那么使用HashMap存放这个对象实例的时候,会调用哪个equals方法;
说说你对泛型的了解;
Java的异常体系;
如何控制某个方法允许并发访问线程的个数;
动态代理的区别,什么场景使用;
Dex加载过程和优化方式;
Jvm和Gc机制;
常用的设计模式。
数据结构与算法
堆和栈在内存中的区别是什么(数据结构方面以及实际实现方面);
最快的排序算法是哪个?给阿里2万多名员工按年龄排序应该选择哪个算法?堆和树的区别;写出快排代码;链表逆序代码;
求1000以内的水仙花数以及40亿以内的水仙花数;
子串包含问题(KMP 算法)写代码实现;
万亿级别的两个URL文件A和B,如何求出A和B的差集C,(Bit映射->hash分组->多文件读写效率->磁盘寻址以及应用层面对寻址的优化)
蚁群算法与蒙特卡洛算法;
写出你所知道的排序算法及时空复杂度,稳定性;
百度POI中如何试下查找最近的商家功能(坐标镜像+R树)。
遍历二叉树
自己集合实现一个队列
自己实现线程安全类
快速排序和冒泡的排序,怎么转换一下。
其它
死锁的四个必要条件;
常见编码方式;utf-8编码中的中文占几个字节;int型几个字节;
实现一个Json解析器(可以通过正则提高速度);
MVC MVP MVVM; 常见的设计模式;写出观察者模式的代码;
TCP的3次握手和四次挥手;TCP与UDP的区别;
HTTP协议;HTTP1.0与2.0的区别;HTTP报文结构;
HTTP与HTTPS的区别以及如何实现安全性;
都使用过哪些框架、平台;
都使用过哪些自定义控件;
介绍你做过的哪些项目;
非技术问题汇总
研究比较深入的领域有哪些;
对业内信息的关注渠道有哪些;
自己最擅长的技术点,最感兴趣的技术领域和技术点;
项目中用了哪些开源库,如何避免因为引入开源库而导致的安全性和稳定性问题;
时针走一圈,时针分针重合几次;
现在下载速度很慢,试从网络协议的角度分析原因,并优化(网络的5层都可以涉及)。
java交流群669823128
经验
阿里

阿里巴巴
阿里针对大部分校招的普通人来说,一面只会放出M1级别的,对应到P6,问你点基础知识,二面可能是M2级别的也就是P7、P8的样子,运气好的遇到跟你谈谈人生谈谈职业规划什么的,运气不好的遇到那种下面带几个team还成天看技术blog的就问你点比较新鲜的知识或者是比较基础但是冷门的那种知识,所以平时没事看点跨领域的博客、看点经典名著防防身还是很必要的,经历了一整天枯燥无味的面试突然碰到一个眼前一亮的绝对是一个加分项。
腾讯

tx
腾讯的话也是类似的道理,校招一面放出的是各个有headcount的leader,T3.1到T3.3不等,几个一面面试官对应一个二面面试官,后者是前面那几个的老大。像鹅厂这样的公司的是:
业务领域跨的特别广。电商、SNS、普通的C/S软件、游戏、各种App。
一面面试官直接对面试者负责。换句话说,通过你就意味着他要直接当你老大。
一面完全是随便分的,你投的感兴趣事业是互娱,但是分到的可能是SNG的某款社交产品的程序组老大面你,所以你的面试官不一定对得上的你background。
应该做哪些准备,才拥有进入BAT研发部门的资格?

电商项目实战

分布式专题

工程化专题

微服务架构专题
性能优化

源码分析专题
java学习群669823128
2017年终巨献阿里、腾讯最新Java程序员面试题,准备好进BAT了吗的更多相关文章
- 阿里,百度,腾讯招聘 Java 程序员的技术标准
阿里巴巴篇 扎实的计算机专业基础,包括算法和数据结构,操作系统,计算机网络,计算机体系结构,数据库等 具有扎实的Java编程基础,理解IO.多线程等基础框架 熟练使用Linux系统的常用命令及shel ...
- “大话架构”阿里架构师分享Java程序员需要突破的技术要点
一.源码分析 源码分析是一种临界知识,掌握了这种临界知识,能不变应万变,源码分析对于很多人来说很枯燥,生涩难懂. 源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心. 我认为是阅读源码的最核心 ...
- 聊聊阿里社招面试,谈谈“野生”Java程序员学习的道路
引言 很尴尬的是,这个类型的文章其实之前笔者就写过,原文章里,笔者自称LZ(也就是楼主,有人说是老子的简写,笔者只想说,这位同学你站出来,保证不打死你,-_-),原文章名称叫做<回答阿里社招面试 ...
- 一名十年Java程序员回忆阿里面试经历——揭开阿里面试的“遮羞布”
阿里面试经历 去阿里面试可以说非常非常的偶然和戏剧性,因为本人根本没投简历,以至于阿里hr给我电话的时候我一度认为是诈骗电话.因为深圳这家公司不错我还想在这里干个两年左右再考虑考虑. 这个时候的本人已 ...
- 腾讯Java程序员第二轮面试11个问题,你会几个?
此前,分享了阿里巴巴.网易.百度等多家名企的JAVA面试题. 这也引来了不少程序员网友们的围观. 其中,也有相当一部分网友是已经从事Java开发好多年的程序员,当他们阅读完JAVA面试题的反应是:一个 ...
- 2017年 Java 程序员,风光背后的危机
不得不承认,经历过行业的飞速发展期,互联网的整体发展趋于平稳.为什么这么说?为什么要放在 Java 程序员的盘点下说? 的确,对于进可攻前端,后可守后端大本营的 Java 程序员而言,虽然供应逐年上涨 ...
- 十面阿里 Java 程序员,最终拿下阿里 P6 offer!
转子:https://mp.weixin.qq.com/s/RkMxPbm8E99-rTZKmvBy6Q 今天介绍小编的一个朋友,他现今有四年开发经验了,前前后后为了进阿里面试十次(阿里旗下—蚂蚁金服 ...
- 2016 Java程序员的年终总结(转)
2016 Java程序员的年终总结 技术积累 (1)代码规范 1.1.1.通常的模块分布:一般如果你要实现一个web 应用,你从后台将数据展示到前端页面,在一个比较大的公司,你少不了跟其他项目有交集( ...
- 腾讯架构师分享的Java程序员需要突破的技术要点
一.源码分析 源码分析是一种临界知识,掌握了这种临界知识,能不变应万变,源码分析对于很多人来说很枯燥,生涩难懂. 源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心. 我认为是阅读源码的最核心 ...
随机推荐
- [笔记]Go语言写文件几种方式性能对比
Go语言中写文件有多种方式,这里进行如下几种方式的速度对比: 打开文件,写入内容,关闭文件.如此重复多次 打开文件,写入内容,defer 关闭文件.如此重复多次 打开文件,重复多次写入内容,defer ...
- JavaScript:关闭当前页面(微信、电脑)
WeixinJSBridge.call('closeWindow'); // 关闭微信浏览器 window.opener=null; window.open('','_self'); window.c ...
- HDU 4292 Food (拆点最大流)
题意:N个人,F种食物,D种饮料,给定每种食物和饮料的量.每个人有自己喜欢的食物和饮料,如果得到自己喜欢的食物和饮料才能得到满足.求最大满足的人数. 分析:如果只是简单地N个人选择F种食物的话可以用二 ...
- 自动化测试管理平台ATMS(V1.0.1_7.29)下载
自动化测试管理平台ATMS(V1.0.1_7.29)下载http://automationqa.com/forum.php?mod=viewthread&tid=2582&fromui ...
- 多种数据库之间 update的不同
sql server update a set a.gqdltks=b.gqdltks,a.bztks=b.bztks from landleveldata a,gdqlpj b where a.GE ...
- 强大的jQuery幻灯片播放插件 支持全拼、拖拽和下载等功能
在线演示 本地下载
- c语言的按位运算符
& 按位与 | 按位或 ^ 按位异或 1. 按位与运算 按位与运算符"&"是双目运算符.其功能是参与运算的两数各对应的二进位相与.只有对应的两个二进位均为1时,结果 ...
- C++中int转为char 以及int 转为string和string 转int和字符串的split
1.对于int 转为char 直接上代码: 正确做法: void toChar(int b) { char u; ]; _itoa( b, buffer, ); //正确解法一 u = buffer[ ...
- 关于PropertyGrid控件的排序问题
前些天,由于在项目中需要用到PropertyGrid这个控件,展现其所在控件的某些属性,由于有些控件的属性较多,不易浏览,而且PropertyGrid的排序默认的按照字母的顺序排列的,这样导致在在某些 ...
- JAVA集合类汇总 - 转载
一.集合与数组 数组(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用. 集合(只能存储对象,对象类型可以不一样)的长度可变,可在多数情况下使用. ...