本人方向java后端开发,第一次找实习,从投简历到现在差不多一个月了,在面试过程中学到的东西还是蛮多的
现在日常实习好像不太好找,有好几个厂都要求是21届的,投了大概30+的公司,得到大概15+公司的面试机会,所幸最终还是拿到了几个公司的offer
下面是我记的比较清楚几个公司的面试问题,算是回馈牛客吧!
人人车
介绍项目
Spring boot了解多少?
Spring MVC常用注解?当接收一个对象,对某些字段加校验,非空校验,长度校验?
课程管理主要设计到的表?
这些表涉及到索引吗?
给一个学生选课系统的场景,应该涉及到哪些表,字段?
找出选课人数最多的课程名,sql语句?
基本类型,分别几个字节?
byte b = (byte) 130;
b 输出是多少
int 和 Integer 自动拆装箱,哪些场景会自动拆箱,自动装箱。
Integer a = 100;
Integer b = 100;
Integer c = new Integer(100);
System.out.println(a == b);
System.out.println(a == c);
a = 200;
b = 200;
c = new Integer(200);
System.out.println(a == b);
System.out.println(a == c);
输出分别是什么?
面向对象的基本要素?
封装,抽象、继承、多态描述一下?
输出什么?
happen-before?
JUC包了解吗?
JUC包下的线程安全的容器?
线程池,Exectors,ThreadPoolExector说一下?
设计模式了解吗?手写单例模式,哪些场景用到?
小鹏汽车
抽象类和接口的区别?
map、set、list的区别?
HashMap、HashTable的区别?
实现多线程的几种方式?
线程的生命周期?
并发锁用过哪些?
JVM内存模型?
在项目开发中有没有遇到过JVM的异常和错误?
垃圾回收有哪些常用的算法?
简要介绍一下类加载机制和类加载器?
javaweb开发cookie和session有什么区别?
如果把浏览器的cookie给禁用掉还能访问服务端的session吗?
如果把浏览器的cookie给禁用掉,想要访问服务端的session有什么办法?
数据库事务的概念?项目开发时如何控制事务?
数据库索引?
所有的列加索引都会快吗?
mysql和ES里的索引有什么区别?
SpringCloud有哪些主要的组件以及作用?
SpringMVC和Spring boot有哪些区别?
那Spring boot是通过什么方式来避免那些配置,集成框架的?
联想
简单介绍下项目,后端的微服务有哪些?
除了Euraka还用过别的SpringCloud组件吗?
怎么保证微服务调用的时候它们执行的一致性?比如调用A,B两个微服务,一个调用成功另一个调用失败,怎么办?
对java基础掌握得怎么样?
基本的数据类型?
equals和==的区别?
重写和重载?
HashMap底层数据结构,线程安全吗?
创建线程池有哪些核心参数?
如何启动一个线程?
start和run有什么区别?
类加载机制,类加载器?准备阶段的赋值问题?
为什么用双亲委派模型加载?
事务分为几种?
MySQL索引的底层实现?
什么时候会产生索引查询,什么时候会产生回表查询?
B+树叶子点存储的是所有的数据吗?
用索引查询快,那所有的表都可以建立一个索引?
怎么看索引是否生效、失效,命中了哪些?
Sql优化?
遍历一个HashMap的方式?
借贷宝
什么对象可以作为HashMap的key,Object的类型可以当做key存进去吗?
ConcurrentHashMap和HashTable的区别?
ConcurrentHashMap,1.7、1.8求大小(size)是怎么实现的?
深拷贝和浅拷贝?
线程池的核心参数?
Spring和tomcat怎么协同工作的?一个请求过来的处理过程?
Autowired的原理,用过没?
Springboot和SpringMVC有什么区别呢?为什么要推出Springboot解决了什么问题?
Springboot的主启动入口能简要说一下吗?
设计一个数据库表的步骤?
怎么在一个数据表上加索引?
怎么评估一个索引的优劣?用工程化的方法和命令评估?
事务的隔离级别?
linux的常用命令?如何修改Linux的环境变量?
ES怎么用的?
缓存,redis用到过吗?
为什么要使用RabbitMQ,实现的功能?
亚信科技
介绍项目
接口和抽象类的区别?
HashMap和HashTable
ArrayList和Vector的区别
实现线程的方法?
Jsp了解吗?
SpringCloud用过哪些组件?
MySql怎么做表关联查询?
left join和right join的区别?
linux用过吗?问了一些常用的命令。
宜信
介绍项目
ES和Logstach的作用,为什么要把mysql数据同步到ES里面?实时同步还是定时同步?
还没同步之前,有可能ES里的数据和Mysql里的数据不一样,前端查询会出现问题,有考虑过吗?
在项目里学到了什么?技术难点?
有想过为什么要用Spring框架吗?或者说Spring框架带来的好处?
int和Integer的区别?
基本数据类型有哪些?
String能否被继承?
说一下JDBC操作数据库的过程?
有没有用到过连接池?说一下结构?为什么要用到连接池(好处)?
get和post的区别?
框架常用的注解说一下?有没有更深入的了解其底层原理?
java的多线程,创建线程的几种方法?线程的状态?线程池的创建?
JVM内存区域,各区域的作用?
内存泄漏?
gc的过程?为什么会有这种机制?
linux系统用过吗?常用的命令?
爱奇艺(一面)
介绍项目
HashTable和HashMap的区别
怎么理解HashTable线程安全的?
HashMap多线程并发时会造成什么问题?可以用什么类似结构实现线程安全?
ConcurrentHashMap介绍一下。
多线程有用过吗?创建线程有哪些方式?
线程池有用过吗?创建方式?核心参数有哪些?
线程池什么时候以核心线程数去访问,什么时候以最大线程池去访问?
数据库有用过哪些?
mysql和mongodb使用的区别,分别用于哪些场景?
你是怎么理解事务的?
事务的隔离级别介绍一下,mysql默认的隔离级别?
悲观锁和乐观锁介绍一下。
ES在项目里用来做什么的?为什么要用到?
Spring单例和多例有了解过吗?
说一下你对IOC/AOP的理解。
数据库索引介绍一下。
当你设计一个数据库表时,哪些字段加索引,哪些字段不加索引,怎么设计?
开发工具svn/git有用到过吗?
爱奇艺(二面)
MOOC的设计思想介绍一下(我的项目框架)
Eureka介绍一下
三/四次握手介绍一下
tcp/udp的区别
介绍一下jvm的内存
new一个对象放在哪个区域?
堆内存gc过程
常见查看内存(gc)的命令有哪些?
旷视科技(一面)
介绍项目
介绍HashMap
concurrenthashmap和HashMap的区别
CAS和AQS的全称,介绍一下
说一下对synchronized关键字的了解,修饰什么,怎么加锁?
锁的分类,按照加锁程度。
锁升级的过程,竞争一定会升级成重量级锁吗,什么时候会升级成重量级锁?
自旋锁知道吗?
synchronized和Reentrantlock的区别?
说一下JVM的类加载机制
介绍三次握手,四次挥手
Tcp协议属于哪一层,怎么理解网络分层的概念
一条Sql语句在数据库里是怎么执行的
ES在项目里的作用,为什么要用到ES?
Monodb和Mysql的作用?
MySql的存储引擎,默认的是哪种,存储结构是什么?
为什么用到B+树,B+树查询的复杂度,为什么不用平衡树、红黑树、二叉树、B树、map等结构?
索引命中听说过吗?
一条Sql语句执行的很慢大概是什么原因引起的?
说一下在SpringMVC里收到一个请求,返回结果的过程。
AOP/IOC
智力题:黑白帽子
算法题:求连续数值最大的子数组
旷视科技(二面)
项目经验有哪些?
介绍项目,技术难点
微服务和普通架构的区别
TCP和UDP的区别
三次握手/四次挥手,为什么要用三次或者四次
谈谈你对http协议的理解
常见状态码介绍一下,403
http是无状态协议吗?既然是无状态的,那登录状态怎么保存的呢?
Cookie和session有什么关联,在项目中怎么应用的?
如果你要来旷视,旷视最吸引你的是什么?
你觉得你身上有什么吸引人的?
百度
介绍项目
项目里用到过Mybatis,有没有用过Hhibernate?
看你简历只有一个项目,在学校还有没有学习过别的项目?
重载和重写的区别?
抽象类和接口?
常用的设计模式有哪些?介绍一下,应用的场景?
Spring里用了哪些设计模式,哪个用得比较多?
介绍一下JVM内存和GC,常用的垃圾回收算法?
JVM的热加载机制?
有没有学过一些别的编程语言?
TCP/UDP,三次握手和四次挥手介绍一下。
linux有学习过吗?常用的linux命令?看CPU负载和占用内存的命令?
进程和线程的区别?
资源调度的基本单位?
数据库的事务,介绍一下四个特性,隔离级别
给一个很长的Sql,性能很差,有哪些手段去优化它呢?
怎样去分析索引的性能?
各个排序算法介绍一下,排序过程,时间和空间复杂度。
写一下快排
环形链表
数组翻转,如何快速查找到指定数值
京东数科(一)
项目做的过程中遇到了什么问题?怎么解决的?
左连接(left join)会导致性能下降,有考虑过sql优化吗?
mybatis源码看过吗?里面的"#"、“$”的用法区别?
Spring boot和MVC的区别?
为什么用Spring Cloud?
微服务是基于Https协议吗?还知道其它的微服务框架吗?
Logstash,ES的使用?更新时间的判断怎么实现的?
MongoDB主要用来干嘛的?
ArrayList什么情况下会产生线程不安全的情况?
synchronized和Viotile的区别与联系?
TreadLocal了解吗?
线程池的拒绝策略?当创建的线程超过了最大线程数和队列的长度的拒绝策略?
cms标记的四个阶段?
为什么要四次挥手?
TCP/UDP的区别?
索引为什么会用到b+树?数据都存储到叶子结点?回表查询?
看过什么框架的源码?有没有遇到有些框架不好用的地方?
Springboot是怎么集成这些框架的呢?
Spring是怎么解决循环依赖的问题呢?
Spring的bean是单例的吗?
京东数科(二)
介绍项目
之前有过实习吗
项目的技术难点
你说ES减轻mysql数据库的压力,还有没有其它的办法?
Redis和ES的优缺点?
Redis能保持分布式数据的一致性吗?
Monodb是怎么使用的?和MySQL的区别?
流媒体这方面有了解吗?
视频更新怎么做的?旧的视频又是怎么处理的?
如果Eureka客户端断开了,还能继续和其它微服务做通信吗?
场景:设计两个微服务,一个微服务给账户加钱,另一个实现账户提现,同时加钱和提现后怎么保证账户余额正确,用Spring事务如何实现,有哪些问题,采取哪些措施。
实现一个学生类,用类的对象作为HashMap的key,在实现类的时候有没有要注意的事情。
HashMap的数据结构
红黑树有什么优势
怎么先把一个红黑树存在磁盘上的文件里面,再从文件恢复到内存?
多线程、线程池讲一下
场景:线程池中核心size为2,队列长度为3,最大线程size为4,一直向线程池提交任务,各个线程size的变化是怎样的?
violatile的作用,两个线程访问一个变量,这个变量加violatile和不加的区别
MySQL的索引,你是怎样创建索引的,什么情况下创建,依据是什么?
你是怎么理解SpringCloud的
设计模式知道哪些?代理和装饰者区别?
还有一些公司,比如网易、去哪儿、滴滴,由于没有录音所以差不多都忘了。
出来找实习也是为自己即将到来的秋招增加一些砝码吧,现在也正是秋招的时候,希望21届的学长学姐们都能拿到满意的offer,22届的小伙伴们也要抓紧准备喽!
全部评论
(22) 回帖