精选

广东某上市公司初级Java开发面试分享-25届双非

前言

感谢鱼皮,跟着做项目近半年,确实是学进去了,面试鸭也时不时刷一下,算是知识掌握的不错。lz25双非0实习,艰难寻找实习和投校招,结果颗粒无收,没想到最后柳暗花明又一村。两周后简历被HR捞起来了,然后就是光速一面二面hr面,一天面一个,两个面试的时间原本都是半小时,结果一面聊着聊着一个多小时过去了,问题基本都答出来,基本全是在面试鸭上面刷过的,三个小时后通知进行二面。二面是技术总监面,疯狂拷打api项目,又是聊着聊着起来了,还是因为他有事才中止了,仅仅半个小时就通过让HR面。

一面

某个技术人员面,上来问了一些基本情况,然后就是经典八股文,不过记得不是很清楚了

1.HashMap的原理,红黑树什么时候转,jdk1.7和1.8有什么区别 2.synchronized的一些原理,当时不是很清楚他想问什么,就讲了是根据jvm监视器和对象头,锁升级之类的 3.spring的IOC、AOP是什么?AOP怎么实现?怎么使用AOP,哪些场景?讲了讲切点和动态代理 4.上面提了动态代理,他就问我有哪些,我以为是proxy哪些类,但是问的是jdk和CGLIB,就讲了一下需要接口和没接口,提了一下从面试鸭看到的那个CGLIB取代JDK可能的原因,面试官好像觉得挺有意思的 5.Bean是单例的吗?是不是线程安全的?这里我提到了避免使用共享变量。两个注入注解的区别? 6.spring事务传播机制?我脑子一抽,说了mysql的隔离性,被面试官提醒了一下,然后又转回来了。嵌套事务了解吗?用过,没深入 7.知道spring容器吗?Applicationcontext的原理?我以为是说tomcat然后他说不是,我也不是很熟(感觉面试鸭可以增加一些这部分的题目) 8.如果想线程有自己使用的变量怎么办?我就讲了下使用线程安全的类,使用redis,现在感觉应该想问的是ThreadLocal 9.线程池的状态?我还以为问错了,面试官说就是线程池的,不懂,我就讲了讲参数,怎么工作的。 10.线程池怎么设置核心线程数和最大线程数?分CPU和IO 11.线程池有哪些拒绝策略? 12.线程的状态?这次就是线程了 13.知道线程本地变量吗?ThreadLocal?这个是真听岔了,上面刚说完线程池的参数,我还以为是指线程的参数,然后直接说不了解,后面复盘才反应过来问的是ThreadLocal,不过好在没有影响后续 14.我做了OJ和API两个项目,面试官问在项目怎么使用多线程?我是懵的,没想起在哪用了,就说了在早期时候为了让用户能及时知道提交是否成功,使用了多线程来进行异步操作,后面改用了MQ。面试官就说,嗯做异步,MQ也能实现。 15.假设你在网页上查询要很久,你要怎么排查?先看是否是网络问题,然后看后端对应代码,确认问题出在哪,再看是不是SQL语句有问题,有没有使用索引?还是错误使用索引 16.你刚才提到了索引失效,什么情况会失效? 17.你说有一定微服务经验,你知道哪些组件? 18.Nacos除了做注册中心还能干什么?配置中心。能否热部署?能,但没用过

反问 工作地点?广州 多久结果?很快,三个小时后发通知说过了

大概就是这些,spring cloud和spring boot没怎么提,redis没提,mysql也没提,多线程并发相关的问了很多,公司的业务好像也是并发量比较高的。

二面

二面是技术总监面,上来先让我发个简历,然后对着我的简历就开始拷打项目,感觉是真的有实力的,问了一些我想不到的问题,搞得开头我很紧张

1.做了OJ和API项目,介绍一下这两个项目?oj没问,重点问了api 2.为什么用Dubbo?好像Dubbo不是很流行,还是Spring cloud那一套?这个我是真的不会答,一直在那重复简单,像依赖注入一样直接使用,负载均衡这些 3.讲讲这个SDK怎么做的吧?引入了哪些库?这个我就讲了讲设置bean,怎么让spring自动装配,后面库就说了xml引入的那些,但是我感觉他想问跟我想的不是一个东西,我现在也没想明白,这可能是眼界不一样吧 4.SDK有没有使用spring boot?我还在想怎么跟springboot扯上了,但是其实他问的是这个sdk是基于spring boot开发的,那么有没有考虑过适配性的问题?别人的jdk版本不一样?语言不一样呢?这个是真没想过,就当场思考了一下说了下思路 5.gateway网关是怎么工作的?讲了讲过滤器,然后开始被疯狂拷打了,他以为sdk和dubbo都是通过gateway的,然后我说dubbo是内部服务,sdk是用户使用走网关 6.既然你使用了dubbo,那么你是又开发了接口来使用吗?这个其实我没理解,不知道是他没用过dubbo还是我理解错了,我就说有公共接口,他就哦 7.如果用户调用sdk,网关没法调用服务怎么办?重试,返回一些有用的错误信息

反问 技术栈?spring boot、spring cloud

好像不止这些问题,但是我想不起来,他没有问很多的具体技术细节,而是很多设计思想,解决方案,关于gateway问了很多问题,都是跟实际的业务有关,面着面着又是半个小时变一个小时,他有事才突然中断了,半个小时后通知HR面。

总结

整体体验还是不错的,过程有些紧张答不出来,面试官语气也很好,会给我提示一。,一面是八股文却又不完全是,面试官应该是实际的技术人员,会结合他碰到的情况来问。二面的技术总监是真让我感觉到眼界的不同,我想的技术细节,他却问是解决方案、设计思想,不过也没关系,经验是可以慢慢积累的。心情从七八月的好好准备到十十一月的摆摆烂,再到十二月的3k单休我也干,这下算是有着落了,直接就是校招岗,毕业就能入职,再一次感谢鱼皮,感谢面试鸭,这一次面试真是筋疲力尽了,却也让我感觉到我的技术还是足够的,我确实是学到了东西的。

后续

入职快两周了,965,七小时,双休,除了工资相对来说低一点,其他我都很满意,氛围轻松,九点上班,我八点半到,九点05才有人来,九点半吃完早餐,令人不禁感叹,技术栈用的也很新,公司规模也大,开发流程很正规,jenkins+k8s+docker自动化,还有jira做项目管理,业务也比较广,不过主要方向是外贸,跟zf和大企业对接,不算出名,我目前负责的这个,一张表有七十亿个数据,刚来的时候人都昏了,不过还是前辈写的好,出错的只有几十条,处理起来还算简单

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
作者分享
好久没说话了,25年毕业的,25年1月2日开始实习到转正,准备26年4月30日就离职找下一个,目前的岗位,从技术还是业务上的深度和广度都有限,签的是子公司,但是没啥名头,母公司在这个财税领域还是很权威的,对外统一用的都是母公司。负责的项目我觉得还是很有用的,第一次见用mysql存几百亿的数据,估计是一开始没考虑到数据量问题,数据大小有近3t,索引都有2.多t,然后做了分表,冷热数据隔离,优化索引,优化sql,还解决了由于数据量问题引发的一些疑难杂症,单独负责了一个比较重要的模块是统计报表,以多维度多方式统计各种指表,还有记录每条数据的整个运转流程,这块都是原系统完全没有的,也因为涉及的数据量太大了,各种异步解耦,多线程,卡夫卡,报文压缩都用上了。个人方面也学习了ai编程相关的,但是还没打算彻底转ai开发。现在一边交接,一边刷题啥的,一边很害怕出去找不到工作,又一边觉得不能再这样下去了,这个工作已经完全不符合我的预期了,虽然算是很轻松,但是到手没到7k😱,也没太大发展了,只有一年的工作经验,心里很没底,有大佬给点建议吗
3
mybatis的小坑求助,今天碰到了一个情况,动态sql使用了一个if,state =='1',这个判定是不成立的,传入的确实是字符串的1,而换成state =='01',传入01就正常了,我翻了很久都没找到原因,我猜测是只有单个字符的时候,mybatis将这当成了一个字符,而不是字符串,就导致字符串与字符相比较是不对的,有没有大佬解答一下
2
不知不觉工作几个月了,啥都干了,写sql,建表,改bug,crud,统计数据,虽然没有多少技术上的东西,但是也了解到了一个企业级的项目是怎么运行的,然后怎么跟甲方和上下游对接,唉,程序员还是要天天跟人打交道,更重要是学会了留后门,前辈的指导,大企业的分工明确也很严格,虽然系统是我们做的,数据库也是我们建的,但是管理数据库的人不是我们,每次都要改点啥数据要提单审批啥啥啥的麻烦的不行,还不一定能通过它那个审核机制,再加上上游传的数据也容易出错,这一个后门真的是省时省力提效率
7
感觉今年形势还是不咋样,双非本找工作还是难,我在广州这块找不是外包的也很少,现在这家自研+定制化的大公司,专精于税务相关的,上年也裁了一批人,对接的SHEIN那边的非技术岗,加班严重的不行,八九点还在那找人,周六上班是正常情况,唉,心累啊
3
请教一下各位,mysql有一张比较复杂的表,因为设计的问题,后续增添了新的字段却没有添加索引,而这个字段又比较重要会经常拿来作为查询,但是现在表的数据已经有快上百亿,直接加索引的话构建时间太长了,而且这个数据库是没法停的,并发量也比较大,如果一直执行建立索引的sql会十分占用资源,预估是没法接受的,所以后续是肯定会对整个数据库进行优化的,但短期内比较难实现,想问问各位有什么好想法?
1
下载 APP