百度java程序员:
1 手写ArrayList
2 手写进制转换算法,求出一个数的二进制数1的个数
3 JAVA基础 equals和==
4 多线程方式、threadlocal,各种锁,synchronized和lock
5 设计模式、spring类加载方式、实例保存在哪、aop ioc、反射机制
6 类加载器,双亲委派模型,热部署
7 jvm内存模型,内存结构、堆的分代算法、堆的分区、gc算法、gc过程。
8 tcp ip 七层模型 rest接口规范 get和post区别,长度,安全。
9 tcp ip的arp协议,两个同一网络的主机如何获得对方的mac地址。
10 负载均衡、高并发、高可用的架构
11 mysql的引擎区别
12 redis缓存,redis的集群部署,热备份,主从备份,主从数据库,hash映射找到知道指定节点。
13 了解云计算么,了解云容器docker么,容器和虚拟机的区别。
百度java程序员二面:
1自我介绍 项目中负责哪些 做了哪些
2项目中的数据库备份,主从数据库、集群
3数据库的索引原理,b+树原理,trie树引申,二叉查找树的原理
4海量数据中查找一个单词,分布式计算map reduce ,或者用hsah映射筛选部分结果
5java的抽象类和接口区别、java的hashmap,java的内存模型,分区,分代垃圾回收算法。实例、常量放在哪里。
6 int 4个字节,double 8个字节。
7 多线程中的wait和sleep区别,notify的作用
8 设计模式了解哪些,写一个观察者模式。实现两个接口,一个是主题一个是观察者,并写出对应方法。
9写一个生产者消费者队列的方法,分别写两个类代表生产者和消费者,并且用队列模拟其生产消费。用while循环和wait notify可以实现,但我忘记在队列上加synchronize关键字,于是让我再写一题。写的是:输入一个字符串,输入第一个只出现一次的字符,写出来了。
10:tcp ip的四次挥手 子网掩码的作用, 子网掩码(subnet mask)又叫 网络掩码 、 地址掩码 、子网络遮罩,它是一种用来指明一个 IP地址 的哪些位标识的是 主机 所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成 网络地址 和 主机地址 两部分。
11 :了解linux么,说一下linux的内核锁?没接触过。
12 有没有用过sed 使用shell脚本写一个将文本中的字符替换掉的脚本,大概说了一下用grep || 替换。没再问linux的
阿里java程序员:
1、微信红包怎么实现。
2、海量数据分析。
3、测试职位问的线程安全和非线程安全。
4、HTTP2.0、thrift。
5、面试电话沟通可能先让自我介绍。
6、分布式事务一致性。
7、nio的底层实现。
8、jvm基础是必问的,jvm GC原理,JVM怎么回收内存。
9、Java是什么。
10、API接口与SDI接口的区别(API是提供给别人的接口)。
11、dubbo如何一条链接并发多个调用。Dubbo的原理,序列化相关问题。
12、用过哪些中间件。
13、做过工作流引擎没有。
14、以前的工作经历,自己觉得出彩的地方(钉钉)
15、线程池的一些原理,锁的机制升降级(天猫、蚂蚁)
16、从系统层面考虑,分布式从哪些纬度考虑(天猫)
17、Hadoop底层怎么实现(天猫)
18、threadLocal,线程池,hashMap/hashTable/coccurentHashMap等(天猫)
19、秒杀系统的设计(天猫)
20、虚拟机,IO相关知识点(天猫)
21、Linux的命令(天猫)
22、一个整形数组,给定一个数,在数组中找出两个数的和等于这个数,并打印出来,我写的时间复杂度高,要求O(n)。(天猫)
23、n个整数,找出连续的m个数加和是最大。(天猫)
24、更重视开源技术(蚂蚁金服上海)
其实不管面试题目有多难只要技术过关就不用担心 推荐我的Java大神交流:561614305 小白最好不要加 先踏实学好技术 接受开发两年经验以上的人进群
腾讯各地面试:
1.面向对象编程有哪些特点?
2.String和StringBuffer有什么区别?
3.Integer和int有什么区别
4.String类能否被继承?
5.JSP中动态include和静态include有什么区别?
6.用javascript打印一句话。
7.final、finally、finalize的区别。
8.用mysql创建一张表,字段有id(主键自增)、ip地址、时间。
9.向表中插入一条记录,ip为127.0.0.1、时间为当前系统时间。
10.删除表中所有ip为127.0.0.1的记录。
11.写一个函数,实现字符串反转。
JAVA开发工程师面试经验(上海) - 腾讯
2016-08-23 | 网上申请
面试过程:
(1)linux
压缩文件命令
vim字符替换命令
(2)java
ArrayList和LinkedList的区别
HashMap底层数据结构,满了之后怎样扩容
synchronize关键字
两个synchronize方法,使用同一对象进行锁定,是否会互斥
数据库连接池底层实现
(3)mysql
mysql索引是怎么实现的
数据库建表规范
既然有哈希,为什么要用树