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层都可以涉及)。

经验

阿里

阿里巴巴.jpg

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

腾讯

tx.jpg

腾讯的话也是类似的道理,校招一面放出的是各个有headcount的leader,T3.1到T3.3不等,几个一面面试官对应一个二面面试官,后者是前面那几个的老大。像鹅厂这样的公司的是:

业务领域跨的特别广。电商、SNS、普通的C/S软件、游戏、各种App。

一面面试官直接对面试者负责。换句话说,通过你就意味着他要直接当你老大。

一面完全是随便分的,你投的感兴趣事业是互娱,但是分到的可能是SNG的某款社交产品的程序组老大面你,所以你的面试官不一定对得上的你background。

应该做哪些准备,才拥有进入BAT研发部门的资格?

电商项目实战.jpg

分布式专题.jpg

工程化专题.jpg

微服务架构专题.jpg

性能优化.jpg

源码分析专题.jpg

图顶水印.jpg

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏青玉伏案

设计模式(一):“穿越火线”中的“策略模式”(Strategy Pattern)

在前段时间呢陆陆续续的更新了一系列关于重构的文章。在重构我们既有的代码时,往往会用到设计模式。在之前重构系列的博客中,我们在重构时用到了“工厂模式”、“策略模式...

23760
来自专栏IMWeb前端团队

【小三传奇】这是一个关于游戏的故事

咳咳,如果你是被标题吸引过来的,只能说明你思想不太纯洁。 其实,这里要讲的,是关于一个游戏的故事,这个游戏的名字叫做小三传奇,曾经在ios平台上面很火的一款游戏...

20180
来自专栏HansBug's Lab

算法模板——Dinic网络最大流 1

实现功能:同sap网络最大流 今天第一次学Dinic,感觉最大的特点就是——相当的白话,相当的容易懂,而且丝毫不影响复杂度,顶多也就是代码长个几行 主要原理就是...

33680
来自专栏Java架构

每个 JavaScript 工程师都应当知道的 10 个面试题以人为本1. 能说出来两种对于 JavaScript 工程师很重要的编程范式么?2. 什么是函数式编程?3. 类继承和原型继承有什么区别?

33060
来自专栏JetpropelledSnake

Python入门之实现简单的购物车功能

Talk is cheap,Let's do this! product_list = [ ['Iphone7 Plus', 6500], ['...

45960
来自专栏微信公众号:Java团长

什么才是Java的基础知识?

近日里,很多人邀请我回答各种j2ee开发的初级问题,我无一都强调java初学者要先扎实自己的基础知识,那什么才是java的基础知识?又怎么样才算掌握了java的...

8710
来自专栏数据结构与算法

BZOJ1026: [SCOI2009]windy数(数位dp)

13020
来自专栏陈树义

我是SPI,我让框架更加优雅了!

自从上次小黑进入公司的架构组之后,小黑就承担起整个公司底层框架的开发工作。就在刚刚,小黑又接到一个任务:做一个通用的歌曲信息解析框架。即输入歌曲数据,之后返回该...

9110
来自专栏从流域到海域

《笨办法学python》 第14课手记

《笨办法学Python》 第14课手记 本节课将argv和raw_input和起来使用,作者在之前说,这个组合是个蛮顺手的用法。请注意,引入argv并使用arg...

264100
来自专栏不二小段

【爬虫与反爬】记一次网址编码研究

相爱相杀的爬虫与反爬工程师啊……愿你们和谐相处。 前些日子写爬虫时遇到一个比较奇怪的编码,是构造目标网址的一个组成部分,我更倾向于说是编码而不是加密,虽然的确有...

35980

扫码关注云+社区

领取腾讯云代金券