临近毕业的5月,面试了几家公司,都感觉挺不错的。以下是面试时的问题:
Company one: 永洪科技
一面:
0、先自我介绍下?
1、这么多项目经验,随便哪一个项目,介绍一下?
1.1 Spring原理说一下?
2、Map实现有哪些?
2.1 HashMap和Hashtable的区别是什么?
2.2 HashMap是怎么实现的?
3、有了解过高并发吗?
3.1 java.util.concurrent包的类有用过吗?
3.2 ConcurrentHashMap用过吗?它和HashMap的区别是什么?
4、我们公司这边正在从H5转React,React你有用过吗?
4.1 你用过Vue?介绍下原理?
5、多线程怎么创建?
6、MongoDB有用过吗?管道流?
二面:
0、先自我介绍下?
1、你做项目中,有没有遇到过什么问题?怎么解决的?
2、HashMap和ConcurrentHashMap区别是什么?
2.1 ConcurrentHashMap实现原理?(分段锁)
3、快速排序原理说一下?
4、归并排序原理说一下?代码写一下?时间复杂度是多少?
5、我现在有40万个数据,通过归并排序进行排序,如果我是通过基于多线程实现的归并排序,我该怎么做?你来设计实现下?代码?画出来原理图?
HR面:
0、先自我介绍下?
1、你对加班文化怎么看?
2、你觉得面试官对你的看法怎么样?
3、你对接下来的三年有什么样的规划?
4、你期望的薪资是多少?
5、你的学校是重点本科吗?
6、负压能力如何?举例说明?
VP面:
0、先简单自我介绍下?
1、项目中有遇到过什么问题吗?怎么解决的?
2、有女朋友吗?
3、有没有面试过其他公司?
Company two: 凤凰网
现场笔试:
5单选、
1解答(TCP三次握手图解、四次挥手图解)
2道编码(手写)(折半查找的递归、非递归实现编码以及复杂度;音频文件的拷贝)
1道设计题(40亿的数据,请设计出来用最快的速度查找出来给定的数据的算法)
一面:
1、Map有哪些实现?HashMap和Hashtable的区别?ConcurrentHashMap和HashMap区别?
2、Http长连接?实现方案?
3、TCP/IP模型有几层?分别是?都有什么作用?
4、Redis有用过吗?怎么实现数据持久化?怎么用来做缓存?
5、中间件有用过吗?比如MQ
5.1 Netty原理是什么?怎么解决粘包/半包、拆包问题?
6、SQL语句设计?(比较复杂,记不清了)
7、Spring原理?
8、Hibernate用过吗?原理是?
二面:
0、先自我介绍下?
1、项目都是些什么项目?
2、在哪实习过?为什么现在才找工作?
3、系统中的用户权限是怎么设计的?画出数据库表的关系图?
4、设计题(移动积分、兑换等等很复杂的一个设计题)
5、回去等通知,10天左右时间
Company three: 收钱吧
笔试:
1简答5小问:就是关于hashcode与equals重写的不断变形
5道编码题(手写):
1、十进制转二进制
2、用最简的方法求出来a^b(a、b都是长整形、假设不会出现栈溢出或者内存不够情况)
3、25个梨,你和你的一个朋友每次只可以拿1个、2个、3个梨,拿到最后一个梨的人胜出,请问你该怎么拿才能胜利?有多少种方式?
4、我定义了一种匹配格式,请检测给定字符串是否符合?
5、10层台阶,你最多可以每次走1步、2步,请问走到第10层台阶有多少种方法?
1道设计题:100万张优惠券,每张1~5元优惠,总金额不能超过200万元,请用高并发多线程设计?
一面:
1、数据库外连接查询的具体代码;怎么提高查询效率?(索引);索引创建具体语句写出来;查询某个表中建立了哪些索引的SQL语句说一下?
2、Lucene的原理,请详述?怎么实现数据持久化?
3、Spring在你的项目中主要是做什么功能的?这个问完后,又说,你实现一下这几项功能;
4、类的外部变量,方法内的变量是?(局部变量);JVM中存在哪?如何存?
5、栈和堆什么区别?对象和引用存在哪?什么时候垃圾回收器启动?垃圾回收机制怎么检测到一个对象没有引用,要被回收了?
6、Aop怎么实现的?静态代理和动态代理什么区别?
7、线程同步是为了解决什么问题?怎么实现线程同步?
7.1 synchronized加载方法上与加在对象 代码段上区别?
二面:
1、当我们在浏览器的地址栏输入一个url,然后回车,回车这一瞬间到看到页面到底发生了什么呢,请详述,越详细越好。
2、TCP/IP协议有几层?分别是?每层分别干什么?
3、MySQL有用过吗?MongoDB有用过吗?二者区别是什么?有没有前者无法实现,而后者可以,反之。
4、Redis有用过吗?主要是用做什么?怎么实现数据持久化?
5、负载均衡?反向代理?
6、Spring和SpringBoot区别是什么?SpringBoot增加了哪些功能?
7、List和Set区别是什么?
7.1 List有哪些实现类?区别?
7.2 Set有哪些实现类?区别?
8、Map有哪些实现类?这些实现类的实现原理?
8.1 HashMap和Hashtable的区别?
8.2 ConcurrentHashMap和HashMap的区别?
9、线程同步与线程异步分别是什么?怎么实现?
10、协同式程序是什么?怎么实现?
11、排序算法有哪些?时间复杂度?哪些是稳定排序?
12、什么是事务?
13、GC原理?算法是什么?
14、堆和栈的区别是?Java中堆是什么?栈又是什么?
15、你前端用的是什么?(Vue和Bootstrap)
16、你接下来三年的规划是什么?
三面:
0、先简单介绍一下自己?
1、你用过Spring和Struts2,session会话你是怎么实现的?怎么管理的?
1.1 有没有其他的实现方式?(存储到redis缓存中)
2、系统权限管理怎么实现的,请详述?
3、redis除了存储管理session之外,你还有其他的具体使用吗?
4、你的项目中的多线程具体应用场景,请详述?
5、分库分表技术,请详述?
5.1 假设我有一个用户表,在一台服务器的数据库实例A中存储,针对用户有另外一些业务相关信息存储在另一台服务器的数据库实例B中存储,当前我有一个业务,需要根据A中的条件过滤查询B中的数据,该怎么实现?
6、你项目中用到过哪些异常?
6.1 针对异常,你是怎么处理的?有分层次管理吗?怎么实现?
Company four: 洋钱罐
1、项目经验不错,这些项目都是从哪来的?随便哪一个,详细介绍下?
2、请设计一个空间数据库实现算法出来
3、我有一张表,里面有 t (userId, x, y),用户编号,x、y坐标,写出来查询距离给定点最近的坐标点的用户编号的SQL语句
4、我定义了一种格式:非字母的都可以作为分隔符,请手写出来给定字符串被非字母分割成的字符串/单词数的代码?(意思就是我的入参是一个字符串,返回值为被分割成的字符串或者单词数)
以此,就当做对自己面试的回顾和纪念吧!也希望能够帮到找工作的你们!