零基础学习一年,拿到BAT三家offer(Java岗)

引言

1、本文没有公众号和博客推广,请放心

2、Java后台开发的经验,其他岗位没有借鉴意义

3、纯发经验攒人品,不装不宣传,有问题留言大家一起讨论,互帮互助!!

4、个人学习方法,并不一定适合每个人。不喜欢看视频学习的就不用继续往下看了。

5、 由于读研都是自己挤时间的,过程不表,实验室的内容就没叙述了。

一面(电话)(50分钟)面的CSIG下面的腾讯云,技术栈是Java,不过几乎不咋问Java。

1. 算法题:六七道,都是剑指offer难度
2. 半小时项目介绍 & 问答
3. 分布式相关:rpc原理、微服务架构
4. 海量数据问题:套路题
5. 计网:传输层、网络层(必须要非常熟,ping的原理,tcp的三次握手、四次挥手、拥塞控制。UDP的不可靠、一对一、一对多)
6. 操作系统:虚拟内存、段式、页式、进程调度算法
7. 数据一致性: 分布式数据一致性、缓存数据一致性
8. Java相关:线程池、HashMap、CopyOnWriteArrayList
9. Redis相关:复制原理、持久化原理
10. 杂谈:最近看什么书,实习地点。

二面(85分钟)

1. 算法题:最长不重复字串
2. 半小时钟项目介绍 & 问答
3. 操作系统:Linux的namespace(不会)、进程线程、线程通信方式、进程通信方式
4. 计算机网络:传输层和网络层,因为我项目做了链路层,也讲了一下。
5. Java相关: 线程池
6. 数据库相关: 一条连表查询语句。数据库索引原理
7. 海量数据问题: 套路题
8. 杂谈:介绍了部门业务

三面(电话) (20分钟)

1. 应该是大老板面试了,问的都很哲学:技术背景、学习方法、项目介绍
2. 问了一些简单技术问题。主要考察逻辑表达和整体的素质。
2. 杂谈:介绍了部门业务

hr(电话)(15分钟)

1. 家庭情况
2. 面腾讯原因,还有面其他公司么
3. 兴趣爱好
4. 业务介绍
5. 口头offer

百度是去年找日常实习的面经,面了两个部门,整理了一下

信息中心
一面
  1. 算法:字符串反转 、 倒着打印链表(为什么用递归比用栈差?) 、 单例模式
  2. 线程start 、 run方法区别
  3. 可以不通过构造函数创建对象吗? object.clone() 反序列化
  4. volatile关键字
  5. Spring AOP原理(cglib 和 JDK的动态代理实现有什么区别?)
  6. 重写equals方法,为什么一定要重写hashcode方法?
  7. 字符串 == 比较。输出true还是false;
  8. 看了七八个程序,然后问输出什么?
  9. HashMap 能不能存储 null 能,放在第一个格子里?concurrentHashMap 能不能存储 null?
  10. 分布式系统设计:现在有一个方法,可以给10台服务器调用,如何统计一天内10台电脑调用的次数和?
  11. 分布式锁的设计:每天早上8:00输出前一天的业务报表发到老板邮箱。如果现在有10台服务器,如果设计这个定时任务?
    法1:分布式锁。法2:通过外部发来一个http请求,传给ngnix,通过ngnix自动进行分配到某一台服务器上。
二面
  1. 你对哪方面知识比较自信?
  2. HashMap初始容量多少?(16)为啥要设计初始为16?如果传入容量10会怎么样?(还是会构建16容量的);
  3. 知道什么异常?(说几个)
  4. http的状态码说几个。403是什么状态?
  5. String有什么方法?
  6. list,set集合在iterator输出的时候能删去值吗?
  7. SimpleDateFormat是线程安全的吗?
  8. 手写左连接。
  9. 聚合函数有哪些?
三面
  1. 算法题:数组A和数组B,求 A并B - A交B;(说了几种,好像不满意不是最优解)
  2. 算法题:矩阵搜索(说完之后问优化,没想到,提示二分搜索);
  3. SSM的运作流程,说说你做的项目难点。
  4. GET POST请求,url里面的参数
  5. 说说索引,如果对每一列都建索引有什么不好?
  6. 白盒测试、黑盒测试
  7. Linux会吗?
凤巢
一面
  1. 算法题:手写堆排序
  2. Spring IOC原理 AOP原理,如何利用AOP实现日志,写过吗?
  3. Spring bean创建的方法 注解 @Service xml配置 @bean
  4. Java反射原理?
  5. SpringBoot 里面 @bean 解释一下
  6. Java内存模型和运行时数据区
  7. Spring 中事务@Tranctional,出现异常回滚是怎么实现的
  8. 数据库MVCC原理
  9. 乐观锁和悲观锁概念
  10. 悲观锁的实际例子。 select * from table for update ...
  11. 乐观锁实际上有没有加锁?
  12. 用两个线程去操作数据库,乐观锁具体是什么实现的?演示一遍,画一画
  13. 数据库常用存储引擎,区别,锁范围。
  14. 写过单纯的非web项目的 Spring工程, 用main实现的吗?例子。
  15. SSM 三层技术架构的总体流程
  16. @component @service @controller 三个区别
  17. mybatis中 # 和 $ 的区别?哪个会出现SQL注入?
  18. JVM 新生代,老年代。survival是不是在任意时刻都只有一块有对象?
  19. JVM 垃圾收集器了解哪些?
二面
  1. 算法题: 实现一个四则运算计算器(两个栈 + 优先级) , 冒泡排序
  2. 输入一个网站的全过程。从计算机网络到服务器内部技术实现流程。
  3. 日常怎么学习。

###头条面试

一面

1. 算法题:二分搜索相关
2. 概念题:解释 分布式、微服务、负载均衡、高可用
3. http是有状态还是无状态? TCP是有状态还是无状态?
4. 客户端禁用cookie怎么办? 你说的实现方式安全吗?
5. SSL,http和https,https是有状态还是无状态?
6. String为什么设计成final不可变? 是怎么实现不可变的?
7. 自己能实现一个不可变的类吗?
8. equals 和 hashcode 为什么要一起重写?如果不重写hashcode会出现什么问题?
9. hashmap插入的时候,哈希冲突解决? 查找的时候,哈希冲突怎么解决?
10. hashset是怎么实现的? hashmap是怎么实现hashset的?
11. 多线程:并发和并行,原子类,CAS操作
12. mysql的索引:B+树底层实现?B树的底层实现?为什么要用B+树而不用B树?
13. 最左前缀匹配具体是怎么实现查找的?最左前缀匹配用了B+树的哪些特性?
14. (a,b,c)联合索引,为什么不能单用(b),而一定要用(a,b)?B+树是怎么实现的?
15. 什么是幻读,不可重复读?这些概念是在事务内还是事务外? 事务内
16. mysql怎么实现可重复读?设置了可重复读隔离级别底层是怎么实现的? (MVCC)
17. 了解MVCC吗?怎么实现的?什么是快照读?快照读能读取到最新的吗?快照读和当前读的区别?
18. synchronized和reentrentlock哪个效率高?

二面

1. 算法:实现一个缓存队列 ,二叉树的镜像
2. 进程和线程的区别?内存管理说一下你的了解。进程调度算法。
3. 为啥B+树最后叶子节点需要用链表相连接? 便于区间查找
4. TCP状态转换图,画一下。
5. 操作系统I/O模型了解吗?epoll模型了解吗?
6. CopyOnWriteArrayList的相关特性?
7. ArrayList遍历的时候能删除元素吗? 删除的时候会报什么异常?

三面

1. 算法题: (1)树的节点最大距离(2)区间覆盖 例 [1 3] [2 5] [3 6]能否覆盖[2 6]
2. Linux相关命令。
3. 手写SQL,join

转载于:https://blog.51cto.com/14311648/2392001

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值