qidao123.com技术社区-IT企服评测·应用市场

标题: 互联网大厂Java求职者口试场景及技能问答 [打印本页]

作者: 一给    时间: 2025-4-8 22:24
标题: 互联网大厂Java求职者口试场景及技能问答
互联网大厂Java求职者口试场景对话

第一轮提问

口试官:王铁牛,首先问你个底子的,ArrayList和HashMap的区别是什么? 王铁牛:ArrayList是一个有序的数组列表,它存储的是有序的元素集合,通过索引来访问元素,查询速率快。HashMap是一个键值对的集合,它通过键来快速查找值,是非有序的。 口试官:回复得不错。那HashMap的底层数据结构是什么? 王铁牛:HashMap底层是数组和链表大概红黑树,在JDK1.8之前是数组加链表,之后引入了红黑树,当链表长度达到一定阈值(8)时,链表会转化为红黑树,进步查询效率。 口试官:很好。那ArrayList扩容机制是怎样的? 王铁牛:ArrayList在初始化时会有一个默认容量,假如添加元素时凌驾了这个容量,它会进行扩容,一般是扩容为原来的1.5倍。
第二轮提问

口试官:接下来聊聊多线程,线程池的作用是什么? 王铁牛:线程池就是管理和复用线程的,克制频繁创建和烧毁线程带来的开销,进步性能。 口试官:那常见的线程池有哪些? 王铁牛:有FixedThreadPool、CachedThreadPool、SingleThreadExecutor、ScheduledThreadPool等。 口试官:很好,那说说JUC包下的CountDownLatch的作用。 王铁牛:嗯……这个似乎是用来让一个或多个线程等候其他线程完成一组操作的。
第三轮提问

口试官:再谈谈Spring相关的,Spring的IOC和AOP是什么? 王铁牛:IOC就是控制反转,把对象的创建和管理交给Spring容器。AOP是面向切面编程,能在不修改原有代码的情况下,在特定的切点实行额外的逻辑,比如日志记录、事务管理等。 口试官:那Spring Boot的自动设置原理是什么? 王铁牛:这个……就是Spring Boot会根据引入的依赖,自动设置一些默认的组件,但是具体原理我不太清晰。 口试官:MyBatis中#{}和${}有什么区别? 王铁牛:#{}是预编译的,能防止SQL注入,${}是直接拼接SQL,有SQL注入风险。
口试官:最后问你下分布式相关的,Dubbo是什么,有什么作用? 王铁牛:Dubbo是一个分布式服务框架,用于服务的注册与发现、负载平衡等,让差别服务之间可以通讯调用。 口试官:RabbitMQ在项目中一般怎么用? 王铁牛:就是用来做消息队列的,比如异步处理、削峰填谷这些场景。 口试官:xxl - job知道吗,有什么用? 王铁牛:似乎是一个分布式任务调度平台,用来调度任务的。 口试官:Redis的长期化方式有哪些? 王铁牛:有RDB和AOF,RDB是定时快照,AOF是记录操作日志。
口试官:好了,本日的口试就到这里,你回家等通知吧。
问题答案详解



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 qidao123.com技术社区-IT企服评测·应用市场 (https://dis.qidao123.com/) Powered by Discuz! X3.4