来看看最真实的大厂Java岗的面试题(百度,360,腾讯真题)

温馨提示:

一定不要在没有面试经验的情况下先面大厂,或者是你想去的公司,一定一定一定要做好充足的准备!!

百度(123面)

一面:
讲讲项目中的爬虫和优化怎么做的,为什么选用jsoup而没有用python的urllib

说说你了解的反爬虫措施,和针对异常的处理。

做一个网站要从哪些方面考虑反爬虫。

项目中怎么实现的充值,锁的机制和事务注解,如何保证了事务的一致性。

spring层面做事务和数据库层面做的区别,各自实现方式。

聊了事务的传播性和隔离级别,mysql的默认隔离级别(可重复读)

spring中事务传播性怎么配置(xml方式和注解方式,还有关于savepoint的使用)

算法:O(1)删除执行链表结点,做分析(其实是要指出剑指offer中那个直接copy值的方法的缺陷和隐患)

算法:二叉树的最长距离(递归的思想)

这里也整理了其他大厂的面试题,需要的朋友可以点击:点这个!点这个!暗号:csdn

在这里插入图片描述
二面

聊项目

说说spring的IOC和AOP思想

关于AOP在spring的应用(比如事务,通知,aspectJ,slf4j的原理,和log4j的对比)

关于jdk代理和cglib第三方代理(说出对接口代理和子类继承的区别)

用的什么数据库

最大的数据量多大,用了索引没有,怎么用的

为什么索引不能随便用,什么时候用(什么时候失效,什么时候最高效)。

如何达到索引开销和性能的平衡,用了一个表去举例。(方法就是,根据情境看经常做的查询是哪些,然后依次是什么查询条件,保证最高效索引的同时,也保证索引不失效,避免无效开销,并且根据show profile和explain功能进行对比分析)

数据库用了缓存没有,讲讲redis的理解(用作缓存,队列,也可做存储)。

redis是单线程还是多线程的,举个例子(做计数器,rank排行榜)

讲讲hbase的原理,CloumnFamily包含哪些,region什么情况做分割,对于版本号这个第四维度的使用方式(一般默认三个版本)等等

经理面 综合面

聊家庭,家乡,工作意愿,爱好等等

讲讲项目的设计,包括异常的处理,数据库设计,通信模型的设计。

讲讲你理解的JVM吧(重点知识)

360

一面

自我介绍加项目

线程池如何优化的爬虫,数据规模

网络时延如何处理

同名影片如何选取,有没有更好的方式。

反爬虫的原理,从低级到高级说一下,分别如何应对

线程进程区别

说下资源方面的区别,共享,不共享

共享的具体哪些资源

jvm内存模型

堆区的特点

数据库左连接右连接,场景

给200个200个数的数组,找到最大的200个

git 常用的操作,git rebase和git merge区别

分布式数据库怎么调用

linux常用命令,查看内存,查看磁盘使用率

360二面

聊项目,介绍下背景,怎么谈的

印象最深的模块及解决,其他项目呢,跟着老师做的,还有简历上没写的项目

项目经验还可以那基础怎么样自己觉得,

说下jvm吧你知道的,中间会问

jvm详细如下

内存模型

垃圾回收

分代及回收算法

哪些作为gc root

收集器的特点分类

类加载机制和双亲委派模型

几个加载器

tomcat类加载有什么不同,说加载顺序并不是双亲模型,具体顺序说一下

并发注意什么,线程实现同步的方式,通信

几种同步的区别

悲观锁乐观锁,底层怎么实现的,越详细越好

单例模式的特点,几种实现,容易引发的问题

如何防止内存泄露,哪些会容易造成

jvm调优如何检查内存泄露,如何优化gc参数

写sql 查询带日期多次考试成绩表中,每个学生的每门课最高成绩,日期要准确

分别用having子句写和用子查询写

写代码 旋转数组中查找某一个值

360 三面 hr面经

讲一下项目怎么接的,怎么跟甲方沟通,遇到的最大问题,怎么克服的

自己的项目和老师的项目和安排怎么协调。

平时有什么爱好,怎么安排自己的时间

摄影都去哪拍,喜欢什么运动,什么时候运动

为什么选我们部门,其他部门你怎么看

我们是做移动端后台的,喜欢玩手机吗

说说常用的app平时怎么用,频率

以后会不会创业,为什么

以后的规划,职业技术和生活两方面

需要的朋友可以点击:点这个!点这个!暗号:csdn

在这里插入图片描述

腾讯

腾讯的面试很考察思维能力,经常会有一些意想不到的问题,或者智力题。挺有意思。

一面
hashmap底层结构画一下,手写代码做一个url解析器,用正则方式和hashMap的数据结构。

识别2的n次方,写个函数。

自己实现http response响应头的结构及解析,用buffer(写个伪代码)

resp头中都有什么(主要考察http相关知识)

海量数据找到出现次数最多的100个(内存不足的时候可以先做hash分片,最后多路merge,每次操作可以用hashMap计数,也可以自己做hash函数计数)

redis底层实现,zset数据结构

jvm内存模型,分代,cpu100% 怎么排查

nio模型说一下

selector中的wakeup什么含义

select poll epoll (linux内核相关的知识)

arraylist.sort怎么实现的(可以看看TimSort的思想)

怎么看待java跟c

二面
100亿个数找最大1000个

有什么缺点,分布不均匀(说一下堆的复杂度由来)

有没有其他思路(用hash散列,计数排序)

然后讲了基于partition的划分思想(找到第k个开始partition,在左边就在右面递归,在右面就在左边递归,最后确定partition出最大的k个)

怎么快速告诉我是不是在这100亿个数中?

一个进程最多申请多大空间(看机器cpu的处理位数看情况)‘

怎么保证进程间数据的安全?线程呢?

安全方面有没有做过一些研究?

登录验证怎么做的,为什么用md5,有没有改进( salt使md5库难解出),微信用的什么方式你知道吗?你想想应该用什么方式?

那说到通信安全,怎么保证http的安全性,幂等性,回调同一个会话怎么标识不同请求,不同会话怎么区分

TCP 3次握手和timewait讲一下原理

讲一下滑动窗口,饱和了怎么处理

http安全吗?https说一下?

get和post请求

linux怎么查看网络状态(vmstat)

查看udp的性能,udp端口多少,什么时候用udp?

为什么tcp不行?

qq里哪些用的tcp哪些用udp?分别针对每种情况说一下为什么?

看到腾讯还是很爱问网络通信、大数据处理的。

还有Redis、MySQL、Liunx、Spring、Redis以及BATJ面试真题详解等,需要的话可以点击:点这个!点这个!暗号:csdn**

还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_48011329/article/details/108450607