双非二本的2019春招Java岗的5家面经

前言:
一个菜鸡的春招血泪史,共勉
2019.4.27更新:
终获两个offer:

途牛天津研发部Java实习 追一科技深圳总部Java研发实习

2019.3.27更新:
三月快结束了,对我来说春招也基本落幕了.虽然好多大厂4月才开始招聘,不过我已经不打算投递了,心太浮躁.天天在找公司,投简历,找公司,投简历之间徘徊.对基础知识也没有深入研究,源码看的也不多,都是抓重点知识.仍记得阿里面试官最后给我的总结:面很广,但是不够精.
决定静下心来好好系统补补基础,刷刷题.
重点:刷题很重要,因为笔试是第一关,不仅如此,很多面试官都会让你手撕算法.
2019.4.13更新:
哈哈哈 真香 我没放弃 四月不好意思又投了七八十份简历
先推荐一波我关注的求职来源:
1. 牛客网 2. 实习僧 3. 校招薪水(公众号) 4. 各大网站官网 5. 关注牛客实习群的讨论

【双非二本的2019春招Java岗的5家面经】背景:双非二本大三
前前后后投了不下三百来家简历,
简历不合格占了多数,
几十家给了笔试,过了一个cvte和途牛,不过因为cvte需要去现场面(好吧,没准备好)
五家面试:
1. 厦门吉比特(厦门) 一面挂 2. 阿里蚂蚁金服 (杭州) 一面挂 3. 腾讯前端 (深圳) 一面挂 4. 追一科技 (深圳)目前等hr面 5. 途牛天津研发部 (天津) 已拿offer

1. 毫无准备的一次面试: 2019.2.20:吉比特Java后台一面(32min)
2019牛客提前批一血:猝不及防的java实习面经
2. 准备了近一个月 勉强初级: 2019.3.18:阿里蚂蚁金服Java后台一面(41min)
题目没听清就回答,答非所问…回答问题也是支支吾吾不够连贯,凉的心服口服
6. 学校专业课开了哪些 7. 简单自我介绍 8. 操作系统一个进程包括哪些资源 9. 线程和进程的区别 10. 又回到第一个问题:共享哪些资源 11. 一个线程new出来一个对象,将引用 传递给另外一个线程,另外一个线程可以使用吗 12.计算机网络里,UDP属于哪一层的 13. TCP和UDP分别面向什么场景,又有什么不同呢? 14. UDP多对多,一对一是什么? 10.UDP如何发送给多个接收方的 15. 你是怎么学习Java的 16. HashMap的时间复杂是多少 17. HashMap为什么是红黑树 18. MVC分别指什么? 19.MVC中具体的业务代码放在哪 (回答server层) 20. 那server层在MVC的哪一层 21. Spring框架提供了什么基础功能 22. IOC和AOP是在什么情况下用到 23. IOC怎么创建对象的 24. AOP怎么实现的 25. jdk动态代理和cglib动态代理原理简单说下 26. 项目(redis抢红包怎么实现的) 27. 最后一个人抢完红包后为什么要创建线程插入到本地数据库 28. Redis怎么保证并发情况下是OK的 29. Lua为什么可以保证一致性 30. 你之前又遇到其他的技术难题(Nginx) 31. Nginx做负载均衡的算法有哪些 32. 我的问题问完了,你还有什么想问我的吗

面试官点评:技术上面挺广的,需要注意搞原理性问题上不需要多广,要把搞透
面试官技术上意见:把以前做过的东西往深了挖一挖,再做一些重复性的东西没有什么意义
代码评测:
1亿个数字内求Top100的数
3. 仍然菜鸡: 个人春招的最快凉经
2019.2.20:腾讯全前端一面(18min)
投的是后台开发,隔了十多天被前端部门捞了起来.
因为项目上写的是Redis抢红包,所以上来就问的是项目的问题.
项目设计知识:
Redis+Lua+SSM
要哭惹,全程怼redis,完全没有招架之力,不应该靠基础吗…苦兮兮
结果怼完Redis就问我还有啥想问的没?
What? 没了? 操作系统,网络呢?
一脸懵逼…
都是泪,直接上问题吧
1. redis和程序的部署是分开的还是一起? 2. 为什么不考虑用程序发起请求而是用浏览器 之间的区别 压测端和服务端在同一个服务器有什么问题 3. 怎么测出他的极限性能 4. 循环了两万而不是并发是两万 5. 可以得到同一时间的请求数吗 6. 扩展到每天有1亿人次的访问量该怎么设计 7. 1亿量级需要多少台服务器 8. nginx这层挂掉怎么处理 9. redis集群怎么访问 10.你怎么知道其中一台机器有没有挂 10. 主服务器挂了,副服务器替换主服务器的机制是什么?谁来执行 11. 我访问的那台redis挂了,它怎么告诉我去别台机器呢 12. 存在redis的数据太大了怎么办 13. 业务要求存储过量的数据怎么办 14. 如果一台redis服务器挂掉了,如何短时间内恢复数据 15. 短时间不能重启,只能换一台机器.那怎么恢复之前挂掉的数据

题外话:
nginx单点故障解决方案:
https://www.v2ex.com/t/477322
4. 准备就绪: 2019.4.9:追一科技(35min)
上来先自我介绍 因为期间winform做过一个排课系统,就开始怼了一些项目 后来怼Java基础
了解索引吗?介绍下 项目中遇到什么困难 项目中设置权限管理springMVC执行流程 了解一些设计模式 spring的核心 解释下IOC AOP呢 aop用到哪些代理模式 spring的bean注入: sceop属性有哪些 jdk和jre区别 介绍下hashmap hashtable和concurrentHashMap 统计字符串中出现字符的次数 redis中的lua是什么语言 为什么不用分布式锁实现 springboot springcloud和dubbo有了解吗 springcloud全家桶有哪些 你每天都在学习吗 可以实习几个月 会不会影响你学习

一面技术官评价:
技术能力 技术体系掌握的还是不错的
面试官对我印象不错,让我后续关注 微服务 dubbo
二面隔了一周才打 都以为凉凉了
2019.4.16:追一科技二面:(28min)
简单介绍一下自己 什么时候可以实习 有考研计划吗 接口和抽象类区别? 抽象类可以完全替代接口吗? ==和equals区别 如何比较两个对象是否为一个对象(比如两个人是同一个人) hashtable hashmap和ConcurrentHashMap区别 事务的四个特性 tcp和udp区别 tcp的单路和复用 了解http吗 https中的s在七层之上还是七层之下 http请求到action接收到的第一行代码中间发生了什么 一个学生表 一个成绩表(各课成绩) 求总成绩排名第三的学生

部分问题答案:
https中的s在七层之上还是七层之下?
其实s是指ssl在应用层之下 运输层之上.
参考:https://juejin.im/post/5c889918e51d45346459994d
最后一题的sql答案可以参考这篇文章:
https://blog.csdn.net/zqmy_/article/details/84929955
追一科技的二面给我的影响挺深的 我发现了自身还有挺多问题的 已经有一段时间没上手代码,结果 最后一个sql题目就gg了.
路漫漫其修远兮啊
到了我提问环节 这里我把面试官原话粘贴出来了 希望对想了解追一科技Java岗的朋友一些帮助
我的问题 :
1. 你们java是做产品的还是做项目的
追一有好几个团队 是做AI这个领域 AI有twoa和twob(不知道是不是这么念) 我们实际上是做twob,是给企业做具体化产品的 当然我们也有标准话的产品 .要完成一个产品是需要多个团队的 我们至少有前端团队做web端以及移动端 后面对接java 提供服务器端的封装 再往下是c++团队,再往下是数据团队和算法团队 比较核心的是算法团队 因为他们会提供一些底层的组件 比如说自然语言识别自然语言识别这些组件 c++团队会对他们进行封装 java团队会根据业务再对他们进行封装成服务 这些服务就可以对外提供 再根据前端团队进行封装成用户界面 这就是一个完善的产品 可以提供给各个企业直接服务
2. 你们的技术栈:
spring为主 往微服务这一块靠 但是不会直接采用springcould和dubbo纯java端框架
因为我们是跨语言协作的团队 无论springcould还是dubbo这些对于c++团队来说是相当不友好的
更底层我们是用扣be来血思做(没听懂这是啥技术 望指点翻译)对接 doker容器这种技术 当然还有一些其他技术如redis mysqlmonngodb等等根据实际的产品来决定
3. 你们的产品会用到分布式的情况吗
我前面说到了 既然用到了springcould肯定会有分布式 说道并发量的话 我们的产品会有公有云和私有云的两种结构 以公有云的产品的服务器会给很多家中小企业提供服务 就比如一个聊天机器人 不同人跟他聊天 这个并发量其实挺大的
4. 关于实习方面 实习期有多久
这个要看你自己的时间 考虑到你是在校学生 比如回去毕业答辩等 这个时间其实是双方协调的问题
5. 准备就绪 2019.4.4:途牛电话一面(35min)
老规矩 自我介绍然后开始怼基础,项目没怎么问(面试官很礼貌,一直您您您,怪不好意思的)
1. ArrayList和linkList和vector使用场景 当操作是在一列 数据的后面添加数据而不是在前面或中间,并且需要随机地访问其中的元素时,使用ArrayList会提供比较好的性能;当你的操作是在一列数据的前面或中 间添加或删除数据,并且按照顺序访问其中的元素时,就应该使用LinkedList了。 2. list和set区别 set --其中的值不允许重复,无序的数据结构 list --其中的值允许重复,因为其为有序的数据结构 3. set装入一个对象如何让stdent去重 https://blog.csdn.net/m0_37659184/article/details/74332664 4. intger和int区别 5. String和StringBuffer和StringBuilder 6. ==和equals区别 7. 简单设计一下 抽象类和接口的场景 8. synchronized 有几种使用方法,锁不同方法有区别 9. 什么是事务 在你的项目中如何加入事务 10.left join 和 right join inner join区别 10. 在项目里为何使用redis, 为什么使用redis 在你的项目中起到了什么作用 11. redis是作为ssm的二级缓存还是一级缓存 12. 能介绍一下一二级缓存 13. 你在应用中如何体现一级缓存的优势举个例子 14. 提示一下一个sql在一个session查两次的时候,第二次查询还会调用db吗 15. redis有持久化吗 什么时候会持久化 RDB和AOF

2019.4.12:途牛视频二面(35min)
本来定的13号以后去现场面,结果突然12号晚上面试官就打了电话
那也只好硬着头皮上了, 不过这面纯聊天 没有问技术内容 (有点出乎意料)
体验:面试官很nice,人很好 就跟朋友一样唠嗑聊聊点家庭情况啥的 (随心聊天就行)
二面简单问了Redis抢红包项目以及各种日常问题大致如下:
1. 为什么做这个抢红包项目 2. 介绍下你家庭情况 3. 有对象没 4. 为什么不考研 5.为什么投简历投了天津 (因为我简历写了北上广深 唯独没有天津) 6. 为什么学java 是因为从众吗 7. 有没有遇到过自然灾害,比如台风(估计看我是台州的) 8. 有没有遇到生死攸关的时候 9. 等等一系列个人问题,没有参考价值 随意答

2019.4.13:途牛hr面(35min)
只是确认实习时间还有工资
2019.4.14:途牛天津Java研发岗5.6号入职
总结:
简历很重要,突出你的重点,最好一张A4范围内
一般简历写什么,面试官就会针对问问题.如果有项目,不管大小公司面试官都会问.
基础也很重要:操作系统,网络,数据库,Java基础,数据结构,算法,海量计算
注意: 算法是大头,可以刷刷剑指Offer, 应付大部分笔试和面试没问题.
祝大家都早日上岸!

    推荐阅读