

专科生校招几乎是不可能进入到大厂的;
小公司的话只需要框架会用,能干活就行,而且对学历要求也没那么大;
Java 语言找工作好找;
(1)
(2)
(3)
找实习记录
一面:
自我介绍 能实习多久 对前端的了解,部门要写点前端(说了解 HTML + CSS + JS + JQuery) 了解 VUE 吗(不了解) 之前实习做的是纯后端吗(对) JDK1.8 新特性(stream、lambda 表达式、接口 default 方法) 具体说下 lambda 表达式(不知道什么意思,我就说了下怎么写) HashMap put 实现(八股文) JDK1.8前后 HashMap 有什么改动(八股文) HTTP 和 HTTPS 的区别(八股文) HTTP 和 HTTPS 的默认端口sm (80 和 443)(八股文) TCP 和 UDP 的区别(八股文) DNS 协议(八股文) 平时用过什么数据库(只敢说 MySQL) 了解过 Redis 吗 介绍下 MySQL 的索引(八股文) 在什么情况下不适合加索引(频繁改动和删除的数据、数据量小、区分度小的字段(比如性别)) 索引失效的情况(不满足最左前缀原则、where 后面不能用函数) Redis 数据类型(八股文) Spring、SpringMVC、SpringBoot 区别(八股文) 在第二个项目中做了什么 项目中前端部分你做了哪些(没有做过,我是纯后端) 项目中与钉钉的交互逻辑(说了个大概,不是我实现的) 共享屏幕用 IDE 写代码:写一个 POST 接口,输入参数为一个数组,返回倒序结果,postman 调用,15分钟。具体实现用了快排,逻辑没有问题,请求的时候一直请求不过来,调了几分钟还是没用。面试官直接说要去开会,没时间了,一面过了,二面会有 hr 联系你。
二面:
求序列是否有循环依赖,比如 [[A, B], [B, C], [C, A]],A->B->C->A,就有循环依赖。(面试官看我不会就说可以换题) 大数加法,36 进制,'0' - '9' 为阿拉伯数字 0 - 9,'a' - 'z' 为阿拉伯数字 10 - 35(AC)
服务端发送 FIN(第二次 FIN) 报文前要等待多长时间(等数据处理完就会发送 FIN 报文了) 是网络层的数据处理完,还是应用层的数据处理完呢(看具体情况,如果是 HTTP 请求的话就是应用层数据处理完;如果是基于 TCP 编码的话就是传输层数据处理完)
缓存更新机制是怎么设计的 答:一开始是先删除再更新,这种情况会有读写并发脏数据的问题。吹了一波牛逼,说怎么排查到这种错误的,排查后使用先删除再更新再删除的策略。第一次的删除可以避免 Redis 宕机导致脏数据的问题,后面先更新再删除可以避免读写并发脏数据的问题; 你这种策略还有什么问题(目前还没有碰到过)
答:1.先看 nginx 和后端服务是否挂掉。 2.如果没有挂掉,看后端日志,根据日志异常排错。 3.如果根据日志没有找出问题,就本地复现。
我感觉这次发挥不太好,你对我有什么建议吗? 答:我觉得还好啊,你可能对自己期望比较高吧,哈哈哈。 下一轮还是技术面吗 答:不清楚 最快什么时候可以得到回复 答:会很快,字节效率很高的
三面:
自我介绍 讲下 GC(八股文) 介绍下 SpringSecurity,看过它的源码吗(没有) Redis 数据结构(八股文) 介绍下 HashTable(八股文) 熟悉 Nginx 吗(负载均衡、反向代理) 了解 oAuth2.0 吗(不了解) HashMap 和 ConcurrentHashMap 的区别(八股文) Redis 主从复制(不了解) 容器了解吗(说了下 Docker 的概念和几种操作),容器实例之间数据怎么做隔离的(不了解) 了解飞书吗 职业生涯怎么规划的 介绍了下部门干什么的 能不能暑期入职(不能) 有转正的机会吗(特别优秀的同学会考虑转正,几率比较小(我怀疑就是没有)) 最快什么时候能得到回复呢(本周) 你还有其他的 offer 吗 base 希望哪里。北京、深圳、上海(深圳吧)
一面(3.12,1h):
介绍项目 介绍下令牌桶算法 令牌桶算法和漏斗算法的区别 如果令牌桶一秒放一个令牌,但是10秒才来一个请求,这样的话放令牌的那个线程就浪费了令牌资源,能不能来一个请求就放一个令牌?
答:我觉得这样做违反了令牌桶的概念,如果此时一下来了10个请求呢,你那种做法满足不了我这个情况。(面试官说:我的意思是 每次去令牌桶取令牌的时候都去统计一下该生成多少个令牌,就能满足我的要求了。不过我觉得你这个答法答的还可以)
STW 为什么要暂停所有应用线程
如果并发执行的话会有浮动垃圾,而浮动垃圾会导致 Concurrent Mode Failure 异常
扩容为多大(两倍) 为什么两倍(这样数组的大小永远都是2的幂次方,可以使用位运算代替取模运算,提高效率) 1.8 以后有什么变化
为什么挥手要四次 为什么要有 TIME_WAIT 状态 说下快重传(这里没答好,忘记了) 了解 TCP 的 no_delay 吗(不了解)
被限流后返回什么状态码(返回 20X,蒙的) 了解 429 吗(不了解)
你能看到哪些内容(懵了,没有做过实验) 你能看到域名吗(能看到。乱蒙的) 为什么能看到(不能看到的话怎么请求响应(继续蒙)) 但是域名可以服务端解密啊,作为中间人的话能不能看到域名(应该看不到。蒙的) 其实可以看得到。你为什么上不去 Google 就是这个原理(不懂)
如果没有命中索引,你该怎么加索引呢
往中间插入有什么问题(索引节点会分裂,影响效率)
说思路 时间复杂度
我有哪些需要加强的地方(代码写的不是很流畅,大体思路很清晰;基础还可以,但是深入的话还需要加强)
二面(3.16,2h):
初始大小设为多少(2 的整数次幂,这样可以使用位运算代替取模运算,提高效率。面试官好像不认可)
name LIKE "%张%" 会命中吗(不会,因为不知道 "张" 前面还有什么字符,所以 B+ 树无法查找) name LIKE "张%" age < 21,这种可以使用索引吗(可以啊,建立一个联合索引(name, age))
内存管够(HashMap、布隆过滤器、桶排序,看在哪个桶的范围内,桶内二分查找)这个问题扯了好久,面试官一直问还有没有别的;如果白名单是动态的呢,怎么维护布隆过滤器。
哪个更快(HashMap 更快,为 O(1);二分查找 O(logn)) 为什么二分比较省空间(因为二分查找使用数组;HashMap 用拉链法解决冲突,链表中会维护 next 指针)
用学号做主键可以吗(会有点问题,因为学号不是自增的) 为什么自增的好,因为自增的话 B+ 树直接往后面插入就行了,不是自增的话会往中间插入,往中间插入有可能会分裂节点,增加开销;
这里我扯了一大堆有的没的,耽误了很长时间。内存实现:一个 IP 对应一个令牌桶线程;面试官说这样大体是可以,但是会有内存限制,说勉强过吧。MySQL/Redis 我一直想不出来,面试官就说跳过,这道题花了 20 多分钟。
每个 IP 对应一个大小为 10 的循环队列,队列里面存储请求的时间。比如现在队列满了 10 个,第 11 个请求来了,就拿第 11 个请求的时间减去第一个请求的时间,如果小于等于 5 秒,就拒绝第 11 个请求,如果大于5秒,就删掉第一个请求,再把第11个请求加入循环队列。 用个 HashMap 来存令牌,key 就是 ip,value 就是对应的令牌,每次放的时候就放所有 ip 的令牌,频率为 10次调用/5秒。 滑动窗口,一个 ip 对应一个滑动窗口类
使用 zset 实现滑动窗口,key 是 ip,value 是请求次数,score 是时间,可以使用 zrangebyscore key startScore endScore 查看局部分数范围内的值,可以用来统计滑动窗口中的请求次数。
你做了什么
我问:我觉得我今天发挥的不太好,你对我有什么建议吗 答:没啥建议,我觉得你很急躁,第 9 道题回答的不是很好,数据库你还可以,毕竟做过项目的。 我问:下一轮还是技术面吗 答:是的 我问:有转正机会吗 答:暑期实习不错的话是可以转正的 我问:是做产品,还是来一个项目就做一个项目 答:物联网开发平台产品迭代
三面(3.18,19min):
系统性能怎么改善(不会,乱扯一通。加机器、CPU转速更快) TCP、UDP 区别(八股文) TCP 为什么可靠(八股文) SELECT、EPOLL 区别(八股文) HTTP 协议说下(八股文) MySQL 遇到过什么问题(说了下索引失效) 为什么学 Java(学校课程教了 Java,我就选择了 Java 这个方向,扯了下自学的过程) 能不能接受转 C++(我说语言只是工具,随便换) 什么时候来实习(暑期)
分享读者:Yang
https://www.nowcoder.com/discuss/614524?type=all&order=time&pos=&page=2&channel=-1&source_id=search_all_nctrack
https://www.nowcoder.com/discuss/632878?type=post&order=time&pos=&page=1&channel=-1&source_id=search_post_nctrack
— 【 THE END 】— 本公众号全部博文已整理成一个目录,请在公众号里回复「m」获取!
最近面试BAT,整理一份面试资料《Java面试BATJ通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。
获取方式:点“在看”,关注公众号并回复 PDF 领取,更多内容陆续奉上。
文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)