Stephanas level
获赞
31
粉丝
14
关注
5
看过 TA
551
华东师范大学
2025
Java
IP属地:上海
暂未填写个人简介
私信
关注
#软件开发2024笔面经#阿里妈妈事业部 1h13min自我介绍介绍一下你的项目开始深挖项目,收益匪浅。照片是怎么存储的安全框架你是怎么设计的,角色与权限是怎么划分的新注册的角色怎么分配权限评论表怎么设计,怎么设计的评论的评论分页查询是怎么是实现的,用了哪些sql语句如果数据量很大查询效率会降低吗有什么提高效率的想法吗订单超时是怎么实现的有没有提高效率的方法开始八股用过哪些集合(ArrayList、HashMap等)并发框架是指什么(synchronized、锁什么的)ArrayList是线程安全的吗(不是,源码中没用到synchronized什么的,但是有modcount)ArrayList会抛出线程不安全的异常吗。(应该不会)看了源码,modcount记录着集合的修改次数,也就每次add或者remove它的值都会加1,使用迭代器遍历集合的时候同时修改集合元素会抛出异常。并发框架了解哪些(synchronized、reentrantlock,可重入读写锁,countdown等基于AQS的记不清名字了)synchronized和基于AQS的有什么区别。(一个基于虚拟机,一个基于代码api)AQS底层具体怎么实现的(基于一个抽象的双向队列,将任务请求排列成队列,有一个变量state,当state大于1时,任务队列可以执行任务,否则将被阻塞)线程池了解吗,对于阻塞队列你知道什么。(有基于arraylist的,基于linkedlist的,基于prioritylist的,可以设置阻塞队列的大小,如果不设置,默认,可能会出现outofmemory异常)索引和事务了解吗,讲一下。(索引可以提高查询数据的效率,基于b+树实现,可以实现范围查询等等)可以多个字段建立索引吗(可以,比如(a,b,c),但是只能先查a再查b再查c索引才有效,如果自查b,c就用不了索引)就是最左匹配原则对吧,那如果是范围查询,比如a>m,能用索引吗。(不行,因为只有a相等的情况下b才是有序的,a不相等b不是有序的)撕算法力扣349简单题,两个数组求交集面试官很温柔,声音很好听,会一步步引导你,答不出来会说没关系,那我换个问题,面试体验最好的一次。4.26 已挂
0 点赞 评论 收藏
转发
#软件开发2024笔面经#自我介绍你是宁波人,你的期望工作地点是上海和杭州,你是更想在哪工作。说转正更想要在杭州,实习在杭州和上海都可以。(感觉说错了,当成阿里了,这个部门应该是在上海。。。)聊项目。聊完项目,就开始感觉像做测评一样,你们小组有几个人,你和小组成员有产生分歧吗,是怎么解决的。(遵循大多数人的意见,征求老师的意见什么的)如果分歧中你的想法是对的。(先以大局为重,首先完成项目的主要功能与业务,完成之后再和大家讨论是否需要实现额外的功能)你们项目中你有不满意的地方吗,你是怎么和小组成员是商量解决的。(对效率不太满意,但当时只关注于功能的实现,没有太注重效率的问题,现在会尝试使用中间件来提升效率)同辈人中给你最大的帮助和建议是什么。(没准备过,说博士师兄在学习上的指导)差不多是这些然后是八股你看过哪些源码。有看过集合相关的源码,最近在看spring源码深度解析,之前有看过shiro框架的源码讲讲你知道的源码。String底层是final修饰的字符数组,所以是不可变的,每次都是新的对象;threadlocal底层是通过threadlocalmap实现的,每个线程创建了一个副本,将threadlocal和这个副本存到threadlocalmap中,通过threadlocal来获取,但threadlocal是弱引用,会存在内存泄漏的问题。threadlocal存在哪些问题。只想到内存泄漏的问题。线程的参数介绍一下。什么时候会在核心线程满的情况下构建新的线程。但阻塞队列满了,且核心线程都有任务在运行中时,会创建新的线程。讲一下shiro的运行过程,登录操作是怎么实现的。大致讲了下,只记得大致流程,不记得细节了。讲一下springboot的启动过程。根据enableConfiguration注解加载配置,加载bean到容器中,大致是这些。(确实不了解,要学习一下)就记得这些。反问业务是什么。和钱相关,负责收钱和收钱后的处理什么的。有什么答得不对和需要纠正的地方。需要和同事商量后才能得到结果。(不知道回答的是什么,牛唇不对马嘴)什么时候出结果。一周内。然后健完身吃完饭回来看一眼已经挂了。总共面了8次,两次二面,淘天二面挂,美团一面挂,饿了么一面挂,一个小厂面完就没消息了,无数简历挂。已经彻底放弃挣扎了,慢慢学吧。
0 点赞 评论 收藏
转发
#软件开发2024笔面经#电话面试自我介绍首先说我笔试比较差,给我发了道笔试题让我做一下给两个版本号字符串,类似“1.0.1”,“1.0.0”,“1.2”比较版本号大小,相同返回0,特例“1.0.0"和"1.0"看作相相等的把版本号切割为小版本号的数组,对每个位置上的版本号进行比较,如果都相等就判断更长的版本号是不是都是0O(n)的时间复杂度和O(n)的空间复杂度问有没想不出来接下来差不多都是在聊项可能觉得项目比较简单,没什么值得深挖的,没什么有营养的问题吧,感觉还没有昨天野村问的问题有营养,能让我思考一下项目该怎么设计介绍一下数据库的引擎,innodb和myisam有什么区别。事务隔离级别,聚簇索引,就记得这两点讲一下spring的动态代理。基于jdk的和基于cglib的,切面切点之类的,before,after,around等织入的位置项目出现cpu或内存错误怎么处理解决。根据日志或者jsat等工具确定出现错误的位置或线程,在对应位置分析出现什么问题怎么解决,看深入理解java虚拟机大概就知道这些,具体记不清了用过什么中间件吗。没用过,但是会想要学习去用这些中间件来改造现在的项目,说研究方向有用过布隆过滤器,可以问布隆过滤器相关的布隆过滤器有什么优点,为什么用布隆过滤器。效率高,存储低,只存储01比特什么的有什么缺点。有假阳性的问题。怎么解决假阳性的问题。加长哈希表,增加哈希函数。这些只是降低概率,有没有从根本上解决的方法。没有,有混淆布隆过滤器,您了解吗,需要给您介绍吗。不用。有处理过高并发的需求吗。没有。有看过什么开源框架的源码吗。有在看spring源码深度解析。其他有吗。没有。讲一下重名的bean怎么处理的。beanname和beandefinition注册到容器,alias也和beandefinition注册到容器,有已经注册的beanname则抛出异常。项目中有遇到什么难点吗,怎么解决的。常规说了一下。你有什么优点。刚面完回实验室的时间,看了眼已经挂了。上周一面完昨天才约二面,面试官还加我微信约的二面,结果秒挂,很难受。笔试确实做的差,三道题总共不到1,每道题过了百分十几二十的用例。项目也确实简单,研究生导师放养没项目,自己也没去做项目。注定和大厂无缘了吧。
0 点赞 评论 收藏
转发
#软件开发2024笔面经#下午面的,努力回忆一下。电话面试,52分钟自我介绍面试官可能对我的研究方向比较感兴趣,开始一直在问我的研究方向,是怎么实现的,在现实中落地了吗,有现成的框架了吗。你为什么不去做研究方向相关的来做java(网络安全就业面小,不容易找工作,要求学历高,没有科研成果)那你学了这个研究方向有什么用(考虑问题更全面,除了实现基本的业务功能还会关心是否安全什么的)开始聊项目,项目相关的记不太清了,印象最深的是”小组项目你是组长吗“,不是问一些java基础知识,问到知识盲区了,印象深刻的有下面这些讲一下hashmaphashmap数组里存的是什么。应该是链表节点或红黑树的节点key存在哪里。应该每个节点都会存key。红黑树是根据什么排序得到。(之前真没了解过,完全知识盲区)肯定是根据key来排序,对于字符串应该是按字符顺序排序,自定义的对象就不知道了。(晚上马上看了看源码,实现了comparable接口按comparable接口排序,否则按类名的字符串排序,否则再按hashcode排序)线程的实现方式。实现runnable接口或者继承thread类。启动线程的函数是什么。start()。一个线程可以被重复启动吗。(又问到知识盲区了)应该不能重复启动,每次启动的应该都是新线程。(看了下源码确实每个线程只能启动一次,再次启动会报错。)线程池用过吗,为什么要有线程池。(反复利用线程,不用反复创建和销毁线程,提高效率)线程池的线程是怎么复用到的。(又又问到知识盲区了)不太了解,所以线程是可以重复启动吗。(看了源码,每个线程都用死循环挂着,又任务就执行,没任务就挂着)讲一下数据库的索引。B+树什么的介绍了一下给你一个场景,你讲一下怎么设计索引,有两个字段,一个是id,是主键,一个是name,假设有2000w条数据,要查找id=100w的记录怎么找。对id建主键索引,根据id查询,查到索引节点,因为是主键索引是聚簇索引,所以可以直接查到对应的数据。那查name=张三的数据呢。对name建索引,找到索引节点,因为只有两个字段id和name,索引节点中已经有id了,索引覆盖,不用再回表查询了。讲一下项目中难点。确实问到了很多知识盲点,收获很大,还是要多看源码,希望能进二面。
0 点赞 评论 收藏
转发
#软件开发2024笔面经#两个mentor先英文自我介绍然后开始英文问项目细节记不太清了,靠本能反应英文回答的,记不太清当时怎么回答的了在项目里担任了什么角色,表是怎么设计的,安全框架是怎么实现的评论表是怎么设计的,评论的评论,也就是对评论的评论是怎么存储的,对于评论上的深度很深有没有什么优化处理,也就是有很多回复,有没有动态加载安全框架怎么实现,角色怎么划分的,怎么给用户分配角色,一个新来的领导怎么给他分配角色怎么存储图片的有没有把项目部署到云服务器上对于上传违规的图片有没有什么处理大概是这些,记不太清了,大概半个小时吧,没看时间,然后mentor说差不多了,不为难我了,开始用中文问了解消息队列吗,我说我大概知道它要实现的功能,消费者生产者模型什么的,没用过然后给了一个场景,说有不同数据源,对于不同的数据源有不同的应对或处理方式,你会用什么方式或什么设计模式来设计处理。对设计模型知道的不多,说了个策略模式,应对不同的数据源使用不同的策略。然后说如果现在设置了新的消息分配方案,怎么能让它马上生效,降低消息误分配处理的概率,我不懂,硬答了个重启服务器。面试官说ok,那你怎么保存这些要处理的消息,存在数据库或本地。讲一下SpringBoot,有什么特点(IOC,AOP,自动配置,注解,各种工具之类到的)你用过哪些工具(swagger,mybatis什么的)讲一下bean加载singleton的范围是什么循环依赖了解吗开始问数据库,给了个场景,现在有一个客户表,有姓,名和城市三个字段,有很多人,怎么提高查找数据的效率,比如要找有多少和我名字一样的人开始是问怎么建,我就说相对来说名的重复的概率比较低,首先根据名来建索引,名相同再找其他的后面理清问题了,就是分库分表,根据不同的姓或不同的城市分库分表,多个表同时查询提高效率Mybatis怎么防止sql注入到的,说之前有看过,但没仔细了解,记得是用#{}来防止的,具体怎么做不知道MyBatis怎么保证更新或者删除的数据是正确的,不了解,我觉得应该是在接口处进行数据校验,检验正确再让MyBatis执行分享下公司旁边的环境吧,旁边就是新天地和k11
0 点赞 评论 收藏
转发
#软件开发2024笔面经#电话面试英文自我介绍,英文问了几个问题,为什么想参加这次实习项目等,就想考察一下英文能力吧,后面就说你可以说中文了问了java虚拟机和多线程相关的问题。了解java吗,java有哪些特性了解jvm,讲一讲jvm静态变量放在哪里,基本数据类型放在哪里 (有几天没看有点模糊了,方法区有什么都想不起来了)jvm会遇到哪些异常,什么原因导致的多线程了解吗,有哪几种实现方式继承thread类和实现runnable接口有什么区别线程池有哪些实现方法,有哪些参数,有什么含义多线程怎么不安全讲一下volatilevolatile和synchronized有什么区别synchronize锁对象和类有什么区别Object类了解吗equals和==有什么区别为什么重写equals方法要重写hashcode集合框架了解吗hashcode和hashmap的关系问的问题有点多有些忘了,基本是jvm和多线程,问的都是八股,一点没聊项目反问,您觉得我的英语怎么样(英语挺好的,能听懂他的意思,也能表达清楚我自己的想法)我刚才有哪些不足或不对的地方吗(关于方法区的内容,线程相关的放在栈当中,基本数据类型和static和常量等放在方法区中)(面试的时候以为线程栈在方法区中了,还得多看看,忘得快)会有通知和结果吗,什么时候会有通知和结果(应该会有通知和结果,到时候应该会发邮件给你们)面试官的声音很好听,很温柔,会“嗯”的回应我,希望能过吧。
0 点赞 评论 收藏
转发
#软件开发2024笔面经# 自我介绍导师是否放实习,实习时间职业规划介绍一下项目自己的工作量的占比,为什么项目里的困难,怎么克服的有在安全框架的基础上进行二次开发吗,还是只是使用这个框架关于加密具体说一下你觉得你刚才说的是绝对安全的吗,有什么方法可以破解你说的吗你们的接口对外提供的服务的性能和指标有要求吗给你自己在项目中的表现打分,满分十分,你给自己打几分,近一年内有做过什么开发的项目吗平常通过什么方式学习java和开发知识有了解过行业的相关的企业在java开发常用的技术和框架说一下static关键字的用法 你用的java版本是什么java1.8有哪些新特性java1.8的内存模型什么样有没有用到过jvm的异常oom异常有什么排查思路吗创建线程并行执行有哪些实现 方法有用过线程池线程池常用参数和含义有了解吗线程池有一些任务在等待队列中等待执行,服务器重启,等待队列中的任务会被丢弃,你有什么应对策略有没有主动去了解一些新的技术chatgpt有所了解他们的原理你了解吗算法输入m,n,m可以有n个正整数相加而得,如7,2,有(1,6),(2,5)等等,不考虑重复,输出这些可能的组合回溯十几分钟就做出来了感觉是做太快了还不到一个小时,又问了一些比较日常的问题写代码这块,怎么编写高质量的代码,你有什么见解你觉得有哪些技能是你日常学习中会反复使用的,你有没有去练习来提升这些技能来提高工作效率和指标你平常出学校会做地铁吗,经常坐哪条地铁(我以为要问上班放不方便,说了好多条线,赌一条在公司旁边)估算一下你最常坐的地铁一天的人流量(说在微博上看到过相关的统计,说不算,重新说一个场景)估算一下你们学校一共有多少只鸟,学校外面飞进来的不算你觉得自己有什么待提升的空间反问评价一下我今天的表现,有什么可以改进提升的简历上都是本科时的项目,比较早,可以写一些研究生的成果,发表的论文,未发表在投的论文都可以多久能出结果3天内
0 点赞 评论 收藏
转发
#软件开发2024笔面经#电话面试先自我介绍,在杭州工作介意吗(浙江人当然不在意)看你对第一个项目比较满意,介绍一下第一个项目,你都干了些什么,有什么亮点和难点(介绍项目,觉得搭建安全框架和进行加密传输比较有亮点)你用到了AES加密,讲讲AES加密有什么特点,为什么不用RSA加密。(AES是对称加密,加密和解密密钥相同,计算开销比较小,RSA是非对称加密,计算开销大,效率低)你把AES的密钥写死在前后端,你觉得这样安全吗,应该怎么做。(不安全,其他人可能通过查看前后端源码来窃取密钥,应该每次绘画动态生成密钥,用公钥加密传输密钥,密钥加密消息传输,https的那套)你觉得你的项目还有什么难点和亮点,用了什么特别的数据结构和技术。(我想一下下,然后面试官说算了,问你几道场景题吧)有两张表,订单表(订单id,用户id,商品id),商品表(商品id,价格)找出购买商品价格大于10元的用户select 用户id from 订单表 left join 商品表 on 商品id where 价格 >10(现在感觉要加个distinct)订单表变为 订单表(订单id,用户id,商品id,商品数量)找出花了最多钱的用户,哪个商品卖的最好select 用户id,sum(商品数量*商品价格) as total from 订单表 left join 商品表 on 商品id group by 用户id order by total limit1面试官问是商品数量*商品价格吗,感觉做错了,后面我又补充想起来要加descselect 商品id,sum(商品数量) as total  from 订单表 left join 商品表 on 商品id grou by 商品id order by total limit 1面试官提醒我还需要join吗, 看了一下订单表里商品id和商品数量都有,不用join了感觉听到面试官叹了口气问对哪些数据结构比较了解,我问排序查找算法这些吗? 现在想可能是想问集合?问java基础 讲一下异常,讲一下try catch finally的执行顺序
0 点赞 评论 收藏
转发
牛客网
牛客企业服务