2022届秋招小结

大四:计算机科学与技术,学的java后端

字节实习到10.15,国庆开始准备秋招(刷算法,背面试)
暑假期间也投了几个(国庆前的都是裸面,总结原因是算法不行:算法基本都没完全做出来)
8.20 广联达提前批一面-挂
8.20 阿里云2面挂
8.22 4399-HR面-挂
8月一个月:腾讯面了5次,挂了捞,捞了挂
9.30 拼多多拼越计划-hr后的意向阶段-挂
10.10 拼多多正式批笔试-挂
11.4 字节笔试-挂
11.2 蚂蚁-HR面-挂
11-12 蚂蚁二次投递-2面-挂(聊死在实习项目上)
总结:HR面挂有可能是没聊好有可能是真的经历让她觉得不合适,
hr面实话实说,有啥说啥不要虚-有缘自然过
笔试:7-9月都没继续刷算法,面试的算法都是勉强做,笔试很多挂

KPI面筋(专搞心态):
8.25 转转一面-kpi面,
无自我介绍,面试官不开摄像头(这种我上来就感觉不妙)
各种简单八股
最后做了3道算法,都是秒斯,结果面试官疯狂挑刺(试试这个测试用例,试试这个。。嗯,应该都能过)
无反问,1小时后-感谢信邮件

11.7内推投递 
11-15-SHEIN一面-kpi面-全程15min,面试官不开摄像头(提前打了预防针),面试官一共只说了12句话
全程我在将实习经历,扯八股,面完第二天(官网已结束)
看牛客上不少人SHEIN也是类似,这个公司大家可以避雷

------------------------------------------------------------------------------------
快手
11.10 内推投递-快手java后端-杭州
11-12 安排一面
11-16 一面,60min,感觉面试官应该是一个组长那种(语气和问的问题)
自我介绍
实习干了啥,为什么不留下去(问了很久)
MySQL索引和底层结构
各个消息队列之间的具体区别和各自优缺点
java的编码规范(比如变量命名规范,注解规范这些)
用过kibina
cpu爆满时如何排查(top,jps,jstack,jvisualvm用起来)
超多数里面判断一个数是否在里面(布隆过滤器,或位图)
算法题:翻转二叉树
当场说通过,hr一周内会联系
第三天(官网显示挂了。。。)

------------------------------------------------------------------------------------
虾皮
10-27投递内推
11.5笔试
11.11 一面,60min:
自我介绍
实习期间干了啥
说说简历上的第二个项目
说下Spring的IOC和AOP(aop基于代理(jdk代理和cglib代理))
Spring的Bean生命周期(知道啥说啥,从Bean定义(有很多定义方式),到Bean创建,Spring提供了很多回调机制和开放接口作为扩展,比如很多xxAware接口,xxxBeanProcessor接口,InitializeBean接口,到Bean包装(aop),顺便举了简单例子)
Mysql索引,咋定位慢sql,b+树的好处,为什么不用b树
redis的淘汰机制和持久化机制
CAP理解不,大部分情况是考虑哪俩个(可用性和分区容错性)
数组和链表的区别
说说ConcurrentHashMap原理
tcp为什么要4次挥手
Linux查看进程,docker的底层原理(从网络,命名空间,挂载,进程等去说)(简历上写了所以问了问)
Vue为什么比原生的DOM树快(不会,我:vue只停留在使用层面)
3道算法:冒泡排序,不用+-*/%求2数和(忘了位运算的解法,直接转换成2进制模拟),二叉树的最大路径和(力扣hard原题,递归dp)
反问:没有对应的虾皮APP是吗(面向海外,可以用谷歌去找到下载)


11.12 二面,60min
面试体验好,很多问的比较细而且没有具体明确的答案,面试官都会讲解
自我介绍
项目里的登录功能如何做的,如何保证url重放(不了解,面试官:给url添加时间戳和签名,客户端用私钥(只能服务端和客户端知晓)进行MD5加密)
说下联合索引,建立时要注意什么,底层是如何存储的
b+树结构,你是如何定位慢SQL的
redis-mysql如何保证数据的强一致性(一个方案:更新前删缓存,读取mysq时用抢分布式锁)
操作系统的快表和页表,虚拟页表和物理页表(这里没说清楚),缺页中断会发生什么(阻塞)
进程切换时上下文信息是如何处理的(每个进程都有2个栈用户栈和内核栈,切换时会进入内核态,所有信息压入这个进程对应的内核栈就行,切换回它执行时弹回到这个进程的用户栈)
简历上写了对前端也写,如何实现一个页面的强制刷新(url后面添加一对随机参数)
1道算法题:力扣原题,2个链表的加法,返回结果链表(eg:1->1 + 2->1 = 3->2)
反问:深圳虾皮业务也是电商吗(不是,新加坡的才是,深圳的是本地生活(类似饿了吗、配送那种业务))
反问:作息(面试官:hr说是9点到7点,5天,是弹性的不打卡(为啥要加HR说?))

11.13 hr面 电话,10min
说2面通过了
有考研的打算吗,为什么,之前实习为什么不选择转正(想回南方发展,语言是golang更新走java)
希望在以后的工作上学到什么
找工作主要考虑啥(城市、Java)
有其他offer吗(目前0offer,大部分10月底开始投的,东方财富前天刚hr面完,其他都是最近开始1,2面,蚂蚁最近挂2次,腾讯暑假的时候挂4次)
你觉得前2面感觉咋样(一面面试官很有耐性尽量挖掘你的知识深度与广度,二面面试官问的比较细节也会给我讲解,hr:你的面评都很不错(期待一手))
有考虑具体薪资吗(这里我直接打断问:你们那附近房租多少,hr:巴拉巴拉,作息咋样,hr:巴拉巴拉,具体都是负责外卖那种的吗?hr:巴拉巴拉(ShopeeFood),最后我也忘了告诉她我期待的薪资)
hr说最快明后天给结果-要么offer要么感谢信,最晚下周内

11.16 offer邮件
1.11 开始实习

-----------------------------------------------------------------------------
东方财富
2022-10.25投递简历,牛客找人内推直接简历给内推人邮箱。
10-28 hr加QQ联系,填一份表
11-04 一面,40min,QQ视频:
手写代码,10分钟内写好纸上拍照发QQ给面试官,2个有序数组,找中位数(我:直接合并取中间数,力扣上最优解是二分法)
1min自我介绍
你实习期间干了啥(一些后台管理接口和日常需求,广告截屏工具,说完面试官貌似不感兴趣直接问下一问题)
java里的容器(List及其一些实现类,栈,队列,HashMap,Set)
说下synchronized和Lock接口的区别(Lock可以主动放锁,必须在finally里放锁,更加灵活,sync更加方便直接,sync是内部实现,底层是操作系统的真正锁(c++的Moniter对象),Lock则是基于AQS,底层是cas原理)
用过哪些Spring注解(@Bean,@Controller,@Service,@Component,@Autowired,@ComponentScan,@Mapper。。。)
Mysql如何处理事务的(保证ACID,如何保证,持久性:redoLog保证,一定会先写入redoLog日志才算真正提交,之后一定机制刷数据到磁盘,如果出现意外redoLog将会起到作用;原子性:undoLog日志实现,每个事物修改一条数据前会留下一个旧版本的数据副本在undoLog里,如果事物回滚就将undoLog里对应的数据覆盖回去;隔离性:MySQL默认是RR级别,是mvcc去实现的,同时也保证了最大的并发性,每行有个tx_id,undoLog_指针,undoLog日志,在每个事务进行事务读的时候会加锁,比如select * from t where id = 1 for update;会把id1锁住,对于写写并发事务,第二个事务如果也要修改这个id1的数据就会阻塞,有行锁间隙锁表锁实现,对于读写、写读事务mvcc机制则可以保证并发执行,比如另一个事务锁住的是id2他并不修改id1的数据但是它看到的id1的数据一定是稳定的(即其他事务已经提交了的),对于事务1对id1在未提交前的任何操作事务2是看不见的,实现了可重复读(快照读),事务2在第一次读取数据的时候会生成一个ReadView对象(如果是读已提交则每次都生成一个ReadView(当前读)),里面有记录了当时的事务id列表,根据这个列表事务2可以知道哪些数据可见哪些不可见,如果事务1提交了,事务2是可以看到的因为事务2并不关心id1的数据变化,同理对于事务1来说,事务2对于id2的数据修改只有事务2能看到)。
写一条SQL(分数表里找平均分大于60分的所有课程:select * from cs group by cs.cid having sum(cs.score) > 60;)
怎么保证服务高可用(负载均衡,用Nginx+网关,网关集群)
Nginx挂了咋办(Nginx一般是高可用的,如果Nginx不够用,硬件办法或keepalive软件(ip漂移)实现Nginx一主多从,或者DNS域名解析里配置多个Nginx地址映射实现Nginx集群)
消息队列了解不(说了下RabbitMQ的原理,virtualHost,Broker,Exchange,Binding,Queue)
说下你项目Redis的分布式锁咋用的(java里调redis的set nx ex命令,value保存version,删除时比较这个version确保是本线程去删除)
怎么看待软件开发这个职业


11-08 二面,10min,QQ视频:
1min自我介绍
说下Spring的Aop
什么是MVC
说下SpringMVC的原理(DispatcherServelet实现控制转发,根据path找相关的Controller和对应的handler(Controller类下的带RequestMapping注解的方法))
常用的加密算法(md5,sha256,base64,RSA,DES,前3个不可逆,后2个可逆)
用java里的Socket实现简单Server-Client网络编程(参考简单的聊天室的实现方式)
常用的压缩算法(gzip:底层基于了哈夫曼编码,字典压缩法,定长位压缩,前缀树压缩)
tcp为啥要4次挥手
https如何保证客户端获取的公钥是来自于服务端的(CA机构-数字签名,这个一定要理解原理经常问)
如何写一个Vue组件(简历上写了Vue所以问了,)
追问(作息,一般早上9点-10点,晚上加班要申请)

11-11 下午HR面,10min,电话面:
有啥offer没
有考研的想法吗
大学当过啥干部没,大学平时咋度过的
找工作比较倾向啥(城市、语言)

11-16 hr QQ告知全部通过-等offer邮件
11-18 offer 
22*16+3w 大白 国际证券事业部-港美股 上海 9-6(有时候8.下班) 7%攻击斤 5天年假 1500房补 Java 无普调 东财还是挺好的-面试和待遇都留下的好印象


------------------------------------------------------------------------------------
滴滴
10.20找牛客内推发简历到邮箱
11.10 一面, 40min:
自我介绍
介绍项目(中途问了一些具体实现,如订单付款了但是微信未及时通知同步到后台是咋处理的)
对着简历上的一条一条问!(Redis分布式锁,redis5个数据结构,zset底层数据结构,Mysql的事务与mvcc,ConcurrentHashMap)
订单表过于大了如何处理(根据用户id做分库存储,根据创建时间分库,冷热分离,冷数据保存到hdfs里)
类的加载机制,双亲委派的好处(忘了,(防止重复加载,保护jdk内部类))
其他都是基础八股
反问:什么部门(小桔车服,租车,护车,充电,加油等)
面完面试官说我这给你过了,等明天hr安排
拿了虾皮后主动放弃后面的二面了

------------------------------------------------------------------------------------ 总结
如果要去大一点的公司,算法比较重要,项目能单独写一个基本都没问题,面经的话每天看会牛客和javaGuide手册,其他的知识都平时积累的,我的简历属于无亮点那种,面试官
只能挑着问,容易问的很广,八股要很熟-八股不多,一般都会问到不会为止,而且如果是单纯背的话没次面之前都要看一遍,还是要搞懂来而不是背熟好些-可以不变应万变,面多了后容易变成背书(虽然确实不是背 书,但面试官那种看着你的眼神就像小时候在老师面前背书一样。。。)




------------------------------------------------------------------------------------
------------------------------------------------------------------------------------
#秋招总结##面试题目##转转##快手##Shopee##东方财富##滴滴#
全部评论
虾皮不是用goland吗
2 回复 分享
发布于 2022-01-01 22:58
虾皮的薪资怎样呀
1 回复 分享
发布于 2022-07-02 15:13
就那样offershow里的
点赞 回复 分享
发布于 2022-07-03 20:50
八股在哪里找的呢
点赞 回复 分享
发布于 2022-01-05 19:45

相关推荐

要优化Webpack构建的应用程序性能,可以采取以下措施:https://www.nowcoder.com/issue/tutorial?zhuanlanId=Mg58Em&uuid=9d41438f19104dca802ef21b5942c139使用生产模式(Production Mode):将Webpack的模式设置为production,这将启用优化选项,例如代码压缩和剔除未使用的代码。优化Webpack配置:检查并优化Webpack配置,包括使用合适的entry和output配置、配置正确的mode、使用最小化的devtool选项等。代码分割:使用Webpack的代码分割功能将代码分割成更小的块,以便在需要时按需加载,而不是一次性加载整个应用程序。压缩代码:使用Webpack的插件(如UglifyJsPlugin)来压缩和混淆JavaScript代码,以减小文件大小并提高加载速度。优化加载时间:使用Webpack的splitChunks选项来拆分和合并公共模块,以避免重复加载,同时使用Webpack的preload和prefetch功能来预加载和推迟加载资源。懒加载:使用Webpack的动态导入(Dynamic Import)或类似的懒加载方式,以延迟加载不必要的代码,只在需要时再加载。缓存:使用Webpack的文件哈希(File Hash)来生成唯一的文件名,以便在文件内容发生变化时进行缓存失效。减少依赖:精简项目的依赖,只引入必要的模块和库,避免加载不必要的资源和代码。并行构建:使用Webpack的多线程(Thread-loader)、并行运行(parallel-webpack)等工具,以加快构建速度。优化图片:使用Webpack的图片压缩插件(如image-webpack-loader)来优化图片文件大小,以减小资源加载和传输的时间。通过以上措施,可以显著提高Webpack构建的应用程序性能,减少加载时间和资源消耗。
2025-04-06
在牛客打卡302天,今天也很努力鸭!
点赞 评论 收藏
分享
评论
19
84
分享

创作者周榜

更多
牛客网
牛客企业服务