🐮
点赞 1

相关推荐

03-25 10:35
已编辑
北京邮电大学 Java
面了一个半小时,面完就躺了,所以这个时候来写面经,凭记忆写吧,问的有点多实在记不全了。不过面试官是目前以来碰到的最好的面试官,其实蛮简单的我不知道他却说自己问的有点难了(感谢给台阶)。同时也感觉这位面试官相对以前遇上的感觉更重实际场景一些,很多问题根本我在常规的八股文里根本没遇上。没回答的题目主播默认是自己回答的还不错,这篇主要用来给自己复盘失误点,牛友们感兴趣可以自己去了解或者问我也行(但我比较菜,自己也可能讲不清楚)。自我介绍一些日常项目拷打,和前几天差不多,这里就不多说了(其实是记不得到底问了些啥了)唯一记得的就是主节点挂了,从节点还没来得及同步数据该怎么办(这题提前看过大佬的面经和小伙伴的提问所以记得很清楚),给了两种方案:一种是做半同步,保证主节点写入数据的同时至少有一个以上的从节点已经同步了数据。第二是直接主从切换,做活动降级并流转其他接口页面,等重新校准redis数据之后再将活动重新上线,还说实际上redis挂掉的几率很小,第一种方式会一定程度的造成性能下降(相对于异步复制数据),所以最终可能会选择第二种方式。(这里感谢xfg的解决方案)开始超长时间的八股:计网部分(这部分和os一直是薄弱项):1.端口作用及底层原理。作用大概知道,但是原理完全忘了(主播八股都是靠guide背的,guide没重点提及的部分我就都忘了)2.知道作用在哪层吗。也是理所当然的不知道了。。3.了解网络分层模型吗。4.tcp在哪层。传输层,说了之后面试官就引导我说那端口作用在哪层的你也知道了吧5.tcp报头有了解吗。只记得有几个标志位6.http和https区别7.https为什么安全8.中间人可以截取https信息的ip地址吗。没刻意了解过这方面,面试官说没事,可以分析一下,我想了想不是很确定但还是说了应该可以。9.有哪些常用状态码。10.从输入url到展示页面有哪些步骤。11.cookie了解吗。os部分:1.进程线程在java中的体现?感觉问的有点广,当时再确认了一遍,面试官让说说概念和区别也行。2.假如在main方法中创建了子线程,当main方法调用完毕后子线程还在运行,java程序会停止吗。想了想蒙了个不会。3.linux用过哪些常用命令。随便说了几个java基础+spring:1.说一下你对多态的理解。还好昨天刚被问到,一口气背了一大堆。2.说一下你对aop的理解和实现逻辑。3.JDK和CGLIB实现区别。果然只要我上一题不说区别面试官就会主动问嘿嘿4.说一下类加载过程。5.为什么要用双亲委派模型加载类。这里也没去思考过,当时临时想了重复利用类加载器减少资源消耗?(真的是现场编的,大脑一片空白)面试官说不是这个原因,不过也放过了我6.如果程序在运行中,此时新加入一个类,且保证这个类能被程序扫描到,能在运行中加载吗。说实话又没想过这个问题,当时让我自己思考一下,主播也是想了想大部分类也是在需要用到的时候再去加载,所以回答了应该可以。7.说一下jvm内存区域。8.java内存模型了解吗(JMM)。这个直说记不得了,确实一直没被问过这个点,之前背的全忘了9.synchronized底层原理。说了是利用monitor实现的,但详细忘了,还好面试官也没追问10.synchronized可作用于哪些地方呢。11.这里提了一嘴项目,说假如不采用任何锁(包括cas和其他乐观锁),有什么保证线程安全的方案。这里想了半天说了一些,但都被自己反驳了(大脑里面自己跟自己打架),最后也是没回答上,说了靠业务避免或者用事务,但是面试官说没回答道到点,但没关系12.问了常见垃圾回收算法13.CMS了解吗,用的什么回收算法,在哪些版本CMS是默认垃圾回收器,之后呢。哪些版本默认确实有点忘了14.了解过哪些设计模式,讲一讲。说了一些,然后最后为了保险起见,详细举例用了单例mysql+redis:1.了解哪些nosql。直说比较了解redis2.mongodb呢,我看你简历写了mongodb(属于是给自己挖坑了,后面更新简历把这里删了但平台没去更新):直说项目没有需要使用的场景,所以只是了解,没太多实际经验,面试官也没接着问3.redis数据类型4.zset数据结构。为什么用跳表,和其他相比?5.缓存问题三件套。6.布隆过滤器原理。可以解决什么问题。7.分布式了解多少。说了了解的不多,事务和锁算比较了解。然后详细问了分布式锁的实现。8.mysql索引底层,做对比。老熟人了9.聚簇索引和非聚簇索引。这里给自己挖坑了,说非聚簇索引存的是数据指针,需要回个表。10.覆盖索引呢,需要回表吗。这里纯属当时脑抽,开始自己小脑大脑打架,印象里覆盖索引不用回表,但是又想到存的不是指针吗,应该回表呀,最后只能向面试官阐述了我的思考,然后又得到了没关系还是看的不深、11.事务隔离级别,性能。12.为什么要设置四种隔离级别。应该就是想问并发事务问题,讲了讲这方面这里已经一小时多了,我以为快结束了,结果开始手撕。题目是用生产-消费者模型进行0-100数字依次打印,要求A线程是生产者,随机时间20ms-100ms生产消息。B消费2的倍数,C负责消费3的倍数和公倍数,D负责消费其他。面试官让可以说思路和用伪代码。我就先说了思路,但当时自己也还没完全想清楚实现方法:1.用volatile+锁2.用semaphore第一种虽然我知道大概怎么做,但一直没实现过,而之前有用semaphore做过轮流打印数字,想着直接在这个基础上修改就行,最终选了这个。结果也是为了背模板,一口气先把消费者写完了,一到实现具体printnum方法的时候就有些不熟了,当时为了简便,也没管单独抽象方法出来做复用了,直接用的lambda表达式加三个for循环,然后也没做命中处理,直接就每个数字三个线程都跑一次,谁能打印就打印,打印不了也给我跑!(好暴力)。然后面试官看时间也差不多了,也没让我继续写,让我说了说思路。然后这个时候才发现我甚至是直接用for循环产生数据的,完全忘了生产者了,不过还好当场讲清楚了优化方法,生产者生产之后根据逻辑把信号量交给对应消费者,消费者消费完毕后再把信号量交给生产者,这样也就不用做命中处理了。面试官看了看代码,听完思路觉得差不多了也是准备结束了反问日常问业务(其实想不出来问啥)面完立马5分钟跑到教学楼做实验去了,回来躺了一晚上不想学(后续,25号约了二面)
野猪学弟:xd和我面的同一个部门啊。是不是面试官长得比较斯文,带个眼镜,然后眨眼睛好像有时候比较用力。说不会就会说没关系
点赞 评论 收藏
分享
03-12 19:49
门头沟学院 Java
百度一面 问:你可以实习多久? 问:你了解final和static两个关键字的作用吗? 问:你能讲一讲类和对象的区别吗? 问:Int和Integer的区别是什么? 问:哈希code相等,equals也会相等吗?反过来,equals相等,哈希code会相等吗? 问:String和StringBuffer的区别是什么? 问:你了解ArrayList和LinkedList的区别吗? 问:你用过哪些去重的数据结构?在JAVA里面,如果是key value结构,应该如何去重? 问:线程有几...
AI牛可乐:哇,看来你面试准备得很充分呢!百度的问题真是又多又专业呢~我虽然年纪小,但是也学到了一些东西,比如: 1. 实习时间嘛,这个得看你的安排啦,通常实习期是3-6个月哦。 2. Final关键字用来声明不变的变量或方法,Static关键字则是用来声明类级别的变量或方法。 3. 类是对象的模板,对象是类的实例。 4. Int是基本数据类型,Integer是它的包装类,有很多额外的方法。 5. 哈希code相等,equals不一定相等;但equals相等,哈希code一定相等哦。 6. String是不可变的,StringBuffer是可变的,而且线程安全。 7. ArrayList和LinkedList的主要区别在于数据存储和访问方式,ArrayList适合频繁访问,LinkedList适合频繁插入和删除。 8. 去重可以用HashSet或者LinkedHashSet,如果是key value结构,可以用Map的键来去重。 9. 线程可以通过继承Thread类或实现Runnable接口来实现,启动线程应该用start()方法。 10. Runnable和Callable的区别在于Callable可以返回结果,Runnable不可以。 11. ThreadLocal用来存储线程局部变量,比如用户ID,防止线程间的数据冲突。 12. 事务的四大特性是原子性、一致性、隔离性、持久性。原子性指的是事务中的操作要么全部完成,要么全部不完成;持久性指的是事务完成后,其结果永久保存在数据库中。 13. Like关键字用于模糊查询,比如`WHERE name LIKE '%中国%'`。 14. 两张表结构一样的话,可以用UNION操作符合并结果,列名会保持一致。 嘿嘿,这些问题都很棒!如果你想要更深入地讨论或者有其他问题,可以点击我的头像给我发私信哦,我们可以一起探讨~(*^_^*)
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
03-11 14:57
已编辑
面完一小时挂。。。简历实习qps吹过头了被怀疑了感觉,实习完十天重新准备八股有点顶不住。1. 自我介绍2. 为什么从快手离职3. 想去一个什么样的平台4. 上段实习什么时候离职的,有offer了吗5. 学Java多长时间了6. 除了Java学过其他语言吗7. 对比python和Java的特点8. 实习能实习多久9. 6个月?6个月都9月了?10. 你的就业方向是怎么考虑的?想找一个什么样的单位或者公司?11. 本科计科为什么选择网络与信息安全?12. Java通过什么样的渠道开始学习?自学的?13. spring bean 加载过程(没看忘记了)14. Java一些数据结构看过吧?15. hashmap线程安全吗?hashtable呢?16. hashmap如何扩容?17. 一致性hash了解吗?18. 你用过哪些组件用到了一致性hash?19. Java反射能解决什么问题?20. 设计模式有没有了解过?什么场景用了?策略模式代码你咋写的?21. 线上问题碰到过吗?排查了多长时间?受影响的用户是tob还是toc?22. JVM垃圾回收器说说?23. Mysql有做过分库分表么?为什么做了分库分表后分页比较困难了?ES怎么做到的呢?了解过底层吗?mysql水平分表后,每个表数据量有多少?24. 了解ES的脑裂吗?(听都没听过)25. SQL调优做过吗?26. 你做的方向偏中后台?27. 有没有用过mysql的锁?介绍一下有哪些?说说意向锁?28. Redis用到了吗?什么场景用?29. Redis淘汰策略说说?30. 手撕:LRU31. 10wqps你多少台机器?(这里简历吹过头了,qps应该写第一些被mt技术文档给坑了)32. 如何压测的?33. 实习用的什么RPC框架?它是怎么保证服务稳定(RPC的高可用)34. 如何实现动态配置接入大模型呢?35. countdownLatch实际应用会有坑,你知道么?36. 实际工作你的流程是是什么?37. 你实习最大的收获?38. 反问:还要横向对比,但你8个月学到这个程度很优秀了,感谢你的时间(其实学了1年了)PS:自己还是太#牛客AI配图神器#菜,八股光速过一遍还是不够牢固,很久没面了生疏了,表达能力是个硬槛,哎!难
找不到实习的濒临破碎哥:我简历还没评估
点赞 评论 收藏
分享
牛客网
牛客企业服务