本文共 4913 字,大约阅读时间需要 16 分钟。
点击上图,立即进群!
经授权转载自 小、麦
原文:https://www.nowcoder.com/discuss/188241
小编按
小、麦同学的Java后台开发的学习经验分为两篇,昨天分享了上篇,今天是下篇。
今天则是小、麦同学参加BAT和头条四家公司的面试经验,他最终也斩获了BAT三家大厂offer~
感兴趣的话继续往下看吧!
百度
“百度是去年找日常实习的面经,面了两个部门,整理了一下
”部门1:信息中心
一面
算法:字符串反转、倒着打印链表(为什么用递归比用栈差?)、单例模式
线程start 、 run方法区别
可以不通过构造函数创建对象吗?object.clone() 反序列化
volatile关键字
Spring AOP原理(cglib 和 JDK的动态代理实现有什么区别?)
重写equals方法,为什么一定要重写hashcode方法?
字符串 == 比较。输出true还是false;
看了七八个程序,然后问输出什么?
HashMap 能不能存储 null 能,放在第一个格子里?concurrentHashMap 能不能存储 null?
分布式系统设计:现在有一个方法,可以给10台服务器调用,如何统计一天内10台电脑调用的次数和?
分布式锁的设计:每天早上8:00输出前一天的业务报表发到老板邮箱。如果现在有10台服务器,如果设计这个定时任务?
(法1:分布式锁。法2:通过外部发来一个http请求,传给ngnix,通过ngnix自动进行分配到某一台服务器上。)二面
你对哪方面知识比较自信?
HashMap初始容量多少?(16)为啥要设计初始为16?如果传入容量10会怎么样?(还是会构建16容量的);
知道什么异常?(说几个)
http的状态码说几个。403是什么状态?
String有什么方法?
list,set集合在iterator输出的时候能删去值吗?
SimpleDateFormat是线程安全的吗?
手写左连接。
聚合函数有哪些?
三面
算法题:数组A和数组B,求 A并B - A交B;(说了几种,好像不满意不是最优解)
算法题:矩阵搜索(说完之后问优化,没想到,提示二分搜索);
SSM的运作流程,说说你做的项目难点。
GET POST请求,url里面的参数
说说索引,如果对每一列都建索引有什么不好?
白盒测试、黑盒测试
Linux会吗?
部门2:凤巢
一面
算法题:手写堆排序
Spring IOC原理 AOP原理,如何利用AOP实现日志,写过吗?
Spring bean创建的方法 注解 @Service xml配置 @bean
Java反射原理?
SpringBoot 里面 @bean解释一下
Java内存模型和运行时数据区
Spring 中事务@Tranctional,出现异常回滚是怎么实现的
数据库MVCC原理
乐观锁和悲观锁概念
悲观锁的实际例子。select * from table for update ...
乐观锁实际上有没有加锁?
用两个线程去操作数据库,乐观锁具体是什么实现的?演示一遍,画一画
数据库常用存储引擎,区别,锁范围。
写过单纯的非web项目的 Spring工程, 用main实现的吗?例子。
SSM 三层技术架构的总体流程
@component @service@controller三个区别
mybatis中 # 和 $ 的区别?哪个会出现SQL注入?
JVM 新生代,老年代。survival是不是在任意时刻都只有一块有对象?
JVM 垃圾收集器了解哪些?
二面
算法题:实现一个四则运算计算器(两个栈 + 优先级) , 冒泡排序
输入一个网站的全过程。从计算机网络到服务器内部技术实现流程。
日常怎么学习。
阿里
“Java开发岗位。从3.7开始简历面,到4.30收到意向书。流程两个月,阿里终于上岸了。
在3.12之前面了阿里云、蚂蚁、菜鸟、数据产品的各种简历面(全部有录音)。
内推最终投的菜鸟。不得不说,投菜鸟真的需要非常好的心态。嗯。每一面至少间隔两礼拜以上。
”各部门简历面
volatile的底层如何实现,怎么就能保住可见性了?
三个线程如何实现交替打印ABC
线程池有哪些创建方式和安全性问题
有哪些线程池的类型
线程池中LinkedBlockingQueue满了的话,线程会怎么样
线程池的底层原理和实现方法
线程之间的交互方式有哪些?有没有线程交互的封装类 (join)
算法:堆排序、栈实现队列、反转链表
Java锁机制,都说一下~
除了@ResponseBody,controller层如何标准返回给前端所要的数据类型?你会怎么实现?
异常捕获处理
Spring MVC的原理和流程
HashMap和ConcurrentHashMap哪个效率更高?为什么?
Redis的缓存淘汰策略有哪些?
Java内存模型说一下
mybatis如何进行类型转换
mybatis的xml有什么标签
MySQL锁机制
如何修改linux的文件权限
jvm的回收算法
你会怎么设计数据库表结构
数据库有哪些索引?
如何防止sql注入
抽象类和接口有什么不同
myql间歇锁的实现原理
future的底层实现异步原理
SpringBoot Starter原理
rpc原理
多个服务端上下线怎么感知
缓存和数据一致性,怎么处理。流式计算
多线程讲一下,FutureTask
Java和mysql的锁介绍,乐观锁和悲观锁
分布式一致性讲一讲
分布式锁的实现方式,zk实现和redis实现哪个比较好
多点登陆怎么实现
把乐观锁加在数据库上面,怎么实现
项目介绍
降级处理hystrix了解过么
两次点击,怎么防止重复下订单
ioc原理详细讲讲,源码看过么
静态代理和动态代理的区别
JUC说说你知道的东西
B+树的叶子节点
菜鸟面经
一面
Java内存模型
full gc怎么触发
gc算法
高吞吐量的话用哪种gc算法ConcurrentHashMap和
HashMap
JDK8的stream的操作
volatile原理
有参与过开源的项目
项目介绍
线程池原理,拒绝策略,核心线程数
1亿个手机号码,判断重复(我答的biset吧,Java有实现bitset)
是否有写过小工具
单元测试介绍一下,多模块依赖怎么单元测试。Mockito
二面
项目介绍
dubbo、netty介绍原理
限流算法
zk挂了怎么办
秒杀场景设计,应付突然的爆发流量
redis的热点key问题
redis的更新策略(先操作数据库还是先操作缓存)
分布式数据一致性
一致性哈希
消息队列原理介绍(不太会)
full gc问题,怎么排查
jvm的回收策略
ClassLoader原理和应用
注解的原理
数据库原理,数据库中间件,索引优化
aop原理和应用
大数据相关,MapReduce
机器学习有了解么?
Java的新技术,以及技术最新进展
Docker的原理
三面
全程项目
讨论了一下数据库表设计
四面
项目介绍
分布式事务
Java三大特性
数据库表设计
RPC原理
netty原理
降级策略和降级框架
HR面
基础问题,不多赘述
腾讯
“面的CSIG下面的腾讯云,技术栈是Java,不过几乎不咋问Java。
”一面-电话(50min)
算法题:六七道,都是剑指offer难度
半小时项目介绍 & 问答
分布式相关:rpc原理、微服务架构
海量数据问题:套路题
计网:传输层、网络层(必须要非常熟,ping的原理,tcp的三次握手、四次挥手、拥塞控制。UDP的不可靠、一对一、一对多)
操作系统:虚拟内存、段式、页式、进程调度算法
数据一致性:分布式数据一致性、缓存数据一致性
Java相关:线程池、HashMap、CopyOnWriteArrayList
Redis相关:复制原理、持久化原理
杂谈:最近看什么书,实习地点。
二面-牛客视频(85min)
算法题:最长不重复字串
半小时钟项目介绍 & 问答
操作系统:Linux的namespace(不会)、进程线程、线程通信方式、进程通信方式
计算机网络:传输层和网络层,因为我项目做了链路层,也讲了一下。
Java相关:线程池
数据库相关:一条连表查询语句。数据库索引原理
海量数据问题:套路题
杂谈:介绍了部门业务
三面-电话(20min)
应该是大老板面试了,问的都很哲学:技术背景、学习方法、项目介绍
问了一些简单技术问题。主要考察逻辑表达和整体的素质。
杂谈:介绍了部门业务
HR面-电话(15min)
家庭情况
面腾讯原因,还有面其他公司么
兴趣爱好
业务介绍
口头offer
Q
大佬,想问问你,腾讯的手撕代码是只能用C++ 吗,可以跳出用本地IDE吗?
A
小、麦:看面试官,我的面试官让我不用IDE,我写完跑不通,说了下思路,就过了
头条
“去年找日常实习的面经,整理了一下。三面算法没写出来,挂了。
”一面
算法题:二分搜索相关
概念题:解释 分布式、微服务、负载均衡、高可用
http是有状态还是无状态?TCP是有状态还是无状态?
客户端禁用cookie怎么办?你说的实现方式安全吗?
SSL,http和https,https是有状态还是无状态?
String为什么设计成final不可变?是怎么实现不可变的?
自己能实现一个不可变的类吗?
equals 和 hashcode 为什么要一起重写?如果不重写hashcode会出现什么问题?
hashmap插入的时候,哈希冲突解决?查找的时候,哈希冲突怎么解决?
hashset是怎么实现的?hashmap是怎么实现hashset的?
多线程:并发和并行,原子类,CAS操作
mysql的索引:B+树底层实现?B树的底层实现?为什么要用B+树而不用B树?
最左前缀匹配具体是怎么实现查找的?最左前缀匹配用了B+树的哪些特性?
(a,b,c)联合索引,为什么不能单用(b),而一定要用(a,b)?B+树是怎么实现的?
什么是幻读,不可重复读?这些概念是在事务内还是事务外?事务内
mysql怎么实现可重复读?设置了可重复读隔离级别底层是怎么实现的?(MVCC)
了解MVCC吗?怎么实现的?什么是快照读?快照读能读取到最新的吗?快照读和当前读的区别?
synchronized和reentrentlock哪个效率高?
二面
算法:实现一个缓存队列 ,二叉树的镜像
进程和线程的区别?内存管理说一下你的了解。进程调度算法。
为啥B+树最后叶子节点需要用链表相连接?便于区间查找
TCP状态转换图,画一下。
操作系统I/O模型了解吗?epoll模型了解吗?
CopyOnWriteArrayList的相关特性?
ArrayList遍历的时候能删除元素吗?删除的时候会报什么异常?
三面
算法题:(1)树的节点最大距离(2)区间覆盖 例 [1 3] [2 5] [3 6]能否覆盖[2 6]
Linux相关命令。
手写SQL,join
小、麦同学的分享就到这了,希望对各位看官有所帮助~求赞!!!
”推荐阅读:
招募 | 2020届秋招社群志愿者
重磅 | 腾讯宣布改革职级体系
重磅 | 阿里组织架构大调整
必备 | 华为招聘公众号大全
雷区 | 这几类企业慎重选择
一个没有任何套路的求职公众号
长按识别关注校招薪水
校招薪水,是面向全球高校学子的校招薪资交流以及求职互助平台。平台致力于校招薪资的透明化,给招聘信息做减法,在提供高可信的薪资查询服务外,鼓励大家远离焦虑,避免套路,减少踩坑,让广大校招求职者更加专注于求职这件事情。目前平台已经累计提供了数千万次免费薪资查询服务,累计合作无套路信息推广企业达数十家,在国内外名校学子中口碑极佳,公众号跟小程序用户数已累计突破30W。校招薪水,用薪相随!校招实习以及雇主品牌宣传合作请添加微信:zjuerdream。
辛苦整理,喜欢的盆友告诉我在看哦❤️