前言
因为自己要准备暑期实习了,所以就在网上找了一些Java后端实习需要会的东西,建议有需要的小伙伴可以花一些时间看看,可以了解一下暑期实习大概得会哪些技能。怕大家嫌太浪费时间,所以整理的不多。
央视网新媒体技术岗笔经
1.RPC协议
2.HTTP的三次握手和四次挥手
3.常见排序算法的时间复杂度,写出快速排序算法的实现
4.如何设计秒杀系统
5.数据库连接池
6.线程池,为什么不许使用Executors的默认机制创建线程池
7.java基本数据类型,自动拆装箱
8.软件设计中的IO流
9.collection和collections的作用
中科闻歌Java后端开发春招面经
1.自我介绍
答:……(有时间的话也可以想想提前自己要说......啥,不至于到时候太紧张导致嘴瓢,不过问题也不大 )。
2.介绍一下我做过的项目
答:(我只答了项目的一个基本功能) ,我想理想一点的答案应该包括项目的基本框架以及其中某些关键点用到的函数啥的。
3.SpringBoot的常见注解
答:.....
Controller和RestController的区
AutoWired和Resource的区别
4.一个Java基本语法,应该是有关多线程的 (不过我感觉我没听过,所以不记得说了啥了)
5.mysql的索引 (还是要说详细点,因为我恰好背了这个,结果被一眼识别了,所以背八股是不行吗)
6.对于前端的一个请求,Spring MVC的具体处理细节是啥,如何实现了对前端请求的一个应答(这个是基于我的项目经历来问的、,所以基本掌握自己在简历上写的项目经历很重要,特别是和岗位相关度大的项目要重点掌握)。
字节抖音后端开发日常实习面经
2022年9月1号字节抖音后端日常实习一面(60分)
1.科研项目的介绍,难点,收获
2.put和post的区别,能用put的都能用post吗
3.对c++封装继承多态的理解
4.vector和list的区别
5.https和http的区别
6.http3大概说一下
7.tcp和udp的区别
8.指针和引用的区别
9.算法题:三数之和
总结:都是常规八股,算法题也是常规题,看平时的基础积累。
2022年9月1号字节抖音后端日常实习二面(60分)
1.单例模式的应用场景
2.工厂模式的应用场景
3.django后端框架低层消息路由的传递过程
4.项目选型方面
为啥选pg不选mysql
为啥选django不选spring boot
为啥选vue不用react angular
数据库表为啥这么多
项目数据库是如何应对新添的需求的
5.浏览器请求相册里的数据,这一整套的流程
6.进程/线程/协程的区别
7.进程通信的方式
8.数据库索引的存储结构
场景题1: m元分成n个红包,随机分配,需要保证红包的金额均匀分布,每个红包金额大于等于0.01,且是0.01的整数倍。
场景题2: m*n矩阵,从第一行第一列开始走,每次只能往右或者往下走,求走到最后一行最后列的位置有多少种走法:dp和数学方法都说一下
总结:项目这块还是看积累,八股也都是基础八股不算偏。
2022年9月2号字节抖音后端日常实习三面(40分)
1.工程项目如何保证工程质量呢
2.场景题: 如果我需要监控抖音平台的预警情况,需要实时监测各个指标信息,及时通知与报警。请问如何设计这个系统,从架构方面。
面经总结:自我感觉系统架构和场景题这方面很能考察出候选人的素养,这方面确实需要加强准备去实习好好学习这方面的知识了。
南京小米java开发秋招补录面经
一面(2023.1.9)
自我介绍
java支持多继承吗
线程的生命周期
线程和进程的区别
单例模式有几种
写一下双重锁的单例
jvm有哪些区域
jvm哪些区域是线程共享的,哪些是线程私有的
gc中判断对象可回收的方式有哪些
gc垃圾回收算法有哪些
那些对象可以作为gc root
gc中的引用计数法有哪些缺陷
抽象类和接口的区别
sleep和wait的区别
一道leetcode简单题
二面(2022.1.12)
自我介绍
浏览器中的一个网址如何去返回给你界面,在网络中经历了什么
springboot的依赖注入是什么
springboot中的自动装配是怎么实现的
juc中的类了解哪些
一道leetcode树
三面 (2022.1.13)
自我介绍
spring中bean的生命周期
用过线程池吗,说一下线程池常用的参数
mysql单列索引和多列索引的区别
用过线程池吗,说一下线程池常用的参数
mysql中的底层是什么,b树结构是什么
mysql执行一条select语句是如何执行的
mysql如何调优
hashmap底层是怎么实现的
redis有哪几种数据类型
redis如何实现分布式锁
网易传媒事业群Java开发实习秋招面经
一.对着项目问的
1.项目里面爬虫咋用的
2.如果遇到登录限制,访问频率控制咋处理
3.看过webscrapy的源码吗
4.项目里面有评估过准确率召回率吗
5.解释准确率召回率
6.问机器学习常用算法咋演变到XGBoost的
7.boost含义
二.java
1.常用集合类以及底层实现
2.了解过线程安全的集合类吗
三.设计模式
1.常用设计模式,举例说明
四.数据库
1.索引
2.了解过缓存吗
3.比较mysql和hbase的适用场景
五.spring
1.spring和springboot打包出来有什么区别
2.springboot注解管理机制
六.并发
1.解释线程池
算法
二叉树跟根节点到叶子节点的最大路径
比亚迪Java开发秋招面经
技术面一面(1h)
面试官提问:
1.首先先简要自我介绍,介绍自己的项目,介绍自己在项目上的分工。
2.首先开始聊408,计组的冯诺依曼体系结构、总线的分类;操作系统主要的功能,聊线程上下文切换;聊数据结构的红黑树特性、数组和链表的区别。
3.之后,开始聊Java集合框架,简单介绍TreeMap(如何实现有序呀? 内部实现)。
4.聊到Java SE,简单介绍Java l/O;NIO、BIO、AIO区别;接着聊起Java内存模型、有没有尝试过Java性能优化相关的实践?
5.聊到线程、锁这一块,谈创建线程的三种方式、synchronized用过吗? 有没有用过线程池?线程池有哪几种?(回答不上来)
6.开始根据项目聊SSM框架,首先先聊SpringBoot跟Spring之间的异同点;聊SpringCloud了解多少大致说一下;讲到负载均衡时问到负载均衡的几种算法;介绍Spring的AOP和IOC;Spring运用了哪些设计模式?;问到了Bean的生命周期。
7.接下来聊到消息队列,这里我只说自己结合简历上的项目使用过一次仅限了解;然后就开始聊Redis。
8.首先问到Redis的五种基本数据结构;问持久化的两种方式详细介绍;问道我有没有在大学期间自已搭建Redis哨兵集群?介绍哨兵机制:浅浅问了一下主观下线和客观下线的异同。
9.然后面试官到这里可能发觉自己问的算是有点多吧,开始让我自己归纳MySQL知识点的学习情况。我回答的时候也根据他的引导先讲了MySQL基础架构;讲自己对目前日志的学习情况说了两阶段提交、binlog和redo log;然后介绍innodb的聚簇索引、二级索引,提了一点B+树,区别介绍了MyISAM的索引结构(文件+二级索引);锁的分类;事务的特性、隔离级别;最后问了一下有没有实践分表分库(我回答了没有哈哈)。
聊完后开始反问:
1、面试分别有几轮?回答:年前的招聘是线上两面(一面技术面,二面HR面)
2、提及自己的处境,谈到自己如果在比亚迪工作的担忧。回答:要我自信一些,稍微鼓励了我下,(说话期间貌似还穿插了我还不错的细节? )
keep Java 开发秋招面经
一面(25min)
自我介绍
项目介绍
讲讲java锁
讲讲mysql acid
讲讲spi
讲讲ioc底层原理
事务的底层原理
讲讲策略模式
算法题:
翻转区间链
滑动窗口求最大值
数预智能 Java 开发实习面经(2022.12.13)
- nacos负载均衡是什么?(后续补补)
- 注册中心在CAP中,你觉得应该优先保证哪两个?(是AP,这块说错了)
- 你在Seata贡献了什么?
- Redis为什么这么快?(基于内存、单线程、IO多路复用)
- Redis的IO模型了解吗?(要说出关键点)
- Redis是怎么解决线程安全问题的?
- 说下Redis的数据结构及其使用场景?
- Redis作为缓存的话,说下如何保证数据一致性?(延迟双删、消息队列重试、基于binlog)
- 说下缓存击穿,如何解决?(设置热点数据永不过期、更新缓存时,加全局锁,保证只有一个走数据库)
- 分布式锁有哪些实现方式?
- 说下Spring IOC?
- 说下Spring Bean的生命周期?
- 说下Spring AOP?他的底层实现是什么?(动态代理)
- 说下动态代理除了原生的jdk代理,还有什么?(Cglib、javaassist)
- 说下原生jdk代理的缺点?
- 说下Spring中使用到的设计模式?
- 说下Spring侦听器模式的实际应用及好处?
- 说下HashMap底层原理,及数据结构
- 说下HashMap扩容的过程
- 说下Mysql索引的分类?(需要从数据结构、物理存储、字段特性、字段个数去说,我这块说的不全)
- 说下聚簇索引 & 非聚簇索引区别
- 有一张表,对a、b、c三个字段建立联合索引,问只对a、b where查找,能命中吗?(最左匹配原则)
- 说下Java内存模型
- 说下GC回收算法(标记清除、标记复制、标记整理、分代收集)
- 说下分代收集的原因是什么?
- 标记清除和标记整理的区别?
ZOOM Java 开发实习面经
- 自我介绍
- 实习项目
- 压测是怎么做的,量大吗
- 项目的主要用户是谁
- SaToken是什么,原理?
- 用户权限列表是存在哪里的?
- 你应该对linux命令很了解吧(我:一点点)
- 讲一下你熟悉的linux命令吧
- 为什么要做这个项目(简历上的第一个项目)?(我:看到redis的geo技术时想实操一下,做着做着干脆就做成一个项目了——由技术点扩展到项目)
- jwt token原理是什么
- 项目是怎么发送邮件的?
- smtp发送邮件,要是邮件发送失败怎么办?(就是邮件发送出去了,但是接收方没有收到怎么办)
- 地理位置是怎么获取的?
- RBAC说一下?
- RabbitMQ底层原理了解吗?
- BeanFactory和FactorhBean,分别讲一下
- Spring有什么注解?
- @Autowired和@Resources有什么区别?
- SpringMVC原理?
- 了解哪些设计模式?
- 说一下观察者模式?
- 说一下代理模式?
- Spring都用了哪些设计模式?
- 手写单例模式(饿汉,懒汉,线程安全)
- ThreadLocal是什么,原理说一下?
- 缓存穿透是什么?怎么解决?
- 缓存击穿呢?
- 计算机网络了解吗,TCP三次握手(我说了解面试官就没再问了,面试官说时间不够了还有很多要问的,后面的问题基本我说到点子上面试官就会让不用讲了,继续问一下个问题)
- 浏览器收到url到显示网页底层全过程(越详细越好)
- Redis的数据结构有哪些
- 主从复制了解吗
- Redis集群会导致数据丢失吗?(我说了脑裂的情况)
- 数据库了解哪些
- 讲一下mysql的锁(全局锁,表锁,行锁)
- 表锁用在哪些地方,行锁呢
- 索引是什么(讲了聚簇索引和非聚簇索引的底层实现)
- 平时是怎么学习新技术的?
携程 Java 后端秋招面经
【一面】
自我介绍与简历
redis数据结构
缓存雪崩、缓存击穿、缓存穿透
java锁相关知识
CAS
虚拟机内存区域?给了一段代码,分析不同变量的存储位置
java stream了解么?
常用的设计模式
sql:
table1(id),table2(id)
a表存在b表不存在的id,用join写。
【二面】
自我介绍+简历
缓存雪崩、缓存击穿、缓存穿透
数据库索引
讲讲threadlocal?(概念+一些应用举例+常见的内存泄漏问题)
怎么实现线程安全?(什么情况下会有线程安全问题+如何解决线程安全问题)
高并发场景分析
缓存一致性方案,大概讲了四五种方案,每种方案的优劣都进行了讨论,面试官表示很赞同
数据库编码格式有哪些?(这个把我问住了,我只回答了创建数据库的时候要选择,以及印象的两三种)
数据库varchar字段区分大小写么?如何修改?
如何优化数据库?
最后
目前整理的就只有这些内容了,还有需要的小伙伴可以到牛客网上瞅瞅。如果对上面提问有思路的,可以在评论区留言,俺在此非常感谢!!!