大三应届生第一次面试经验分享⦁᎑- ੭。
大三应届生第一次面试经验分享⦁᎑- ੭。
1. 临阵磨枪
面试前一天紧急看狂神的视频补了一下JVM的知识,当天早上又刷到一篇Java面试的经验分享java岗实习面经_牛客网仔细看了看,非常有用。很多知识点都问到了。
2. 面试过程
2.1 自我介绍
面试官1:大家都大概介绍下个人情况,我好对应上简历,然后我们简单了解一下,好吧?
面试者J:
J:面试官好,我叫*,是*大学计算机相关技术专业大三学生。我主攻 Java 后端开发,目前熟悉的技术栈有 Spring Boot、MySQL、Redis、Docker、Nginx 以及 Git。我参与过两个项目,第一个是企业 ERP 进销存系统,现在一期已经上线,我主要负责库存、入库、出库模块开发。第二个是实验室 CMS 内容管理系统,已部署到实验室官网,我负责菜单管理模块开发。我学习能力强,做事认真负责,能够配合团队完成项目开发。希望能进入贵公司,积累实战经验、提升自身能力。
面试官1:嗯,行,我问几个问题简单聊一聊。你是黑龙江的是吧?家里就你一个孩子?
J:对,家里独生子。
面试官1:父母是做什么工作的?
J:就是普通打工的。
面试官1:你简历上写这两个项目都是校企合作的在校项目对吧?
J:嗯。
面试官1:你刚加入团队的时候,项目分别处于什么阶段?
J:我很早就加入团队,项目是学院老师联合校外企业从零启动开发的,我全程参与从零搭建阶段。
面试官1:团队负责人是咱们学校代课老师吗?
J:不是,是外校的老师。
面试官1:你是通过什么渠道加入这个开发团队的?
J:大一导员在班级群发布团队招新通知,我投递简历通过筛选加入的。
面试官1:平时写代码、对接需求是线下集中开发,还是远程各自开发?
J:最开始大家线下坐在一起开发,后来线下场地取消,就分开远程开发了。
面试官1:平时团队开会怎么安排?
J:线下集中开会,找场地所有人到场沟通。
面试官1:团队里除了负责人,基本都是河工大本校学生吗?
J:还有上一届的本校学长,都是咱们学校的。
面试者M
M:面试官好,我是*,*大学计算机科学与技术专业学生。熟悉HTML、CSS、JavaScript,掌握Vue3框架,会MySQL、Git;同时了解Java、Python、C、C++等后端编程语言。面试官1:别紧张,放松一点。M:好。我有两个主要项目,第一个是基于知识图谱的智能对话系统,我独立完整开发,包含NLP知识图谱搭建、图数据库构建、智能对话逻辑实现、前端页面搭建与对话逻辑优化。第二个项目是基于区块链的数字资产存证系统,也是我独立开发,涵盖用户管理、存证上链、查询验证三大模块。系统分上传者、验证者两个角色,上传者上传文件,验证者通过校验SHA256哈希值判断文件是否被篡改。希望能获得贵公司实习机会,在真实业务项目中提升团队协作与开发能力。
面试官1:你老家是保定的?
M:对。
面试官1:你两个项目,一个26年3-4月,一个25年9-12月,都是学校项目?是竞赛还是校企合作?
M:知识图谱对话系统是校企合作项目;区块链存证系统是课程设计项目。
面试官1:校企合作这个项目只做了一个月就完成了?团队多少人?
M:这个项目是个人开发,企业给了基础源码,我们在原有代码上新增功能;项目是公开报名筛选参与,名额有限。
面试官1:简历里24年3-6月还有一个3个月核心成员项目,也是校企合作吗?
M:不是,是网络技术挑战赛竞赛项目。
面试官1:比赛里你主要负责文档撰写?还有视频拍摄剪辑?剪映剪辑?手机拍摄?PS会吗?
M:对,比赛申报文档、成果视频都是我做的,手机拍摄、剪映剪辑,简单PS操作了解。
面试官1:C1驾照驾龄一年,平时上路开过吗?高速开过吗?
M:平时家里小轿车在周边小路开过,高速还没上过。
面试官1:你有计算机设计大赛省二等奖、网络挑战赛华北区三等奖,哪个项目规模更大?
M:计算机设计大赛,我是项目组长,负责整体思路构思、组员分工、成果修改订正、项目文档编写与最终提交,小组一共两个人,另一位组员负责视频剪辑,赛道是非代码赛道。
面试官2:知识图谱语音对话系统好多同学都做了,是统一任务还是各自独立开发?
M:底层基础框架相同,但每个人要自主新增功能,原有基础对话逻辑只能关键词硬匹配,我做了优化,引入微调预训练模型提取关键词,搭配Python模糊匹配库实现语义模糊匹配;同期参与项目的不到十人。
面试者F
F:面试官你好,我是**大学大三学生,老家,主攻Java开发。熟悉MySQL,了解Redis,会使用Git代码管理工具。我的目标是持续夯实Java开发能力,提升业务开发与职业素养。
面试官1:你持有C1驾照,考完证之后实际开车多吗?
F:有证,但平时很少上路实操。
面试官:简历里两个月外卖平台开发是课程小组项目?介绍下项目背景和你的工作。
F:四人小组开发,我担任后端Java开发,完成基础增删改查、JWT登录校验、定时任务功能开发。
面试官1:暑假不回老家吗?
F:可以留在本地实习不回去。
面试者Y
Y:大家好,我叫*,*大学大三学生,暑假可以全职实习,面试后端开发岗位。在校学习C、C++、Java,Java掌握程度更深,熟悉JVM、GC垃圾回收相关知识。
面试官1:2024年虚拟仿真赛道一等奖,讲下项目背景和你的职责。
Y:是网络课程老师带队,四人小组项目,迷宫寻最短路径,用到各类数据结构算法;我负责代码调试、项目文档整理。
面试官1:比赛是校内还是市级赛事?UI、Unity渲染、建模是你们负责吗?
Y:天津市多校联合赛事,我们只负责后台功能实现,UI、建模、渲染不用我们处理,界面逻辑简单。
面试官1:后台功能用C语言开发?
Y:是的。
面试官2:华为ICP工程师认证包含哪些内容?需要考什么?
Y:主要考察人工智能、机器学习各类算法特点,以及华为自研产品特性,通过笔试考核;华为产品侧重分布式计算、自研芯片、云端/终端处理器,具体型号记不太清。
2.2 对公司的了解
面试官2:你们提前调研过我们公司吗?简单说说。
Y:贵公司主营企业数字化管理、工厂与政府设备智能化转型,同时和海关有区块链相关业务合作。
F:公司规模偏小,注册地*,办公场地就在本地。
M:属于小而美的公司,小型企业对新人友好,能快速参与完整项目实战,跨部门协作流程简单,利于提升综合能力。
J:领途科技是*本土高新技术专精特新企业,核心业务工业数字化、港口物流管理系统,和我过往ERP、后台管理项目经验匹配,公司拥有自研管理平台和大量落地业务项目。
2.3 电脑硬件、嵌入式相关
面试官2:能不能独立拆装、更换电脑硬件?
J:目前在自学PLC,和Java开发分属两个方向,拓展知识面。
M:学校开设嵌入式课程,使用TPLINK设备、DS温度传感器,通过串口和电脑通信,控制硬件端口对应指示灯亮灭;但没有独立拆装台式电脑配件的实操经验。
F:了解台式机基础拆装,能更换内存条、硬盘,熟悉声卡、网卡等外设交互原理。
Y:本身对计算机底层硬件很感兴趣,课程中通过图灵模型搭建加法器、乘法器底层元件;网上学习过整机拆装教程,有机会愿意实操练习。
2.4 AI是否会替代程序员
面试官2:现在很多人说AI写代码效率更高,未来程序员会被完全替代,说说你们的看法。
Y:AI确实能快速生成代码、调试基础程序,但存在明显短板。比如刷算法题时AI边界条件经常出错,缺乏完整业务逻辑思考;AI是高效辅助工具,程序员仍需要深度理解业务、把控代码逻辑,后续我会持续深耕开发,同步学习AI相关技术跟上行业发展。
F:AI是双刃剑,大幅提升开发效率,但也提高了程序员能力门槛。AI生成代码存在漏洞、逻辑缺陷,需要人工校验修正,不能完全替代开发人员。
M:AI核心作用是提升开发效率,一键生成基础代码,但业务漏洞很多,必须人工校对完善。同时央国企、涉密内网不允许接入外网大模型,需要私有化部署AI,全程仍需要程序员把控,只能作为协作工具,无法替代。
J:AI只能完成简单CRUD、标准化模板代码,系统架构设计、复杂业务落地必须依靠人。长期依赖AI会丧失独立思考、自主编码能力,程序员核心竞争力是项目解决经验,AI只能检索现有网络知识,不具备原创创新能力。
2.5 AI工具使用场景
面试官2:你们平时使用AI工具的场景有哪些?代码、文档、剪辑、图文生成都用过吗?
J:主要用ChatGPT、Codex辅助写代码;但长期依赖会降低手写代码能力,刻意减少重度使用;次要用途是整理项目文档、资料梳理。
M:1.代码开发辅助;2.证件照底色修改;3.辅助制定学习工作计划;4.语音转文字、视频字幕自动识别,字幕断句识别准确,未用AI剪辑视频。
F:日常用AI生成科普漫画、换图;开发中辅助梳理代码思路;复习知识点生成思维导图;实操过Java调用LangChain对接OpenAI大模型,实现程序对话交互。
Y:三类使用场景:1.代码调试、修改;2.知识点答疑,面试前复习Java难点随时查询;3.项目文档、学习资料整理。
2.6 常用排序算法及适用场景
面试官2:讲下软件常用排序算法、各自适用场景。
Y:快速排序适合大数据量无序数组,双指针分区递归;冒泡、选择排序逻辑简单,适合少量数据;堆排序适合海量数据筛选TopN极值。
F:希尔排序通过分组缩小间隔优化交换效率;堆排序性能优秀,但存在堆结构破坏问题,需要额外逻辑修复。
M:熟悉冒泡、快排、堆排序;快排选取基准值二分数据,效率较高,但底层原理掌握不够深入。
J:快排选取基准,分区递归至子数组长度为1;堆排序基于二叉树,父子节点对比交换完成排序。
2.7 Java内存泄漏、OOM
面试官2:开发中遇到过内存泄漏吗?是什么场景、表现?
J:代码逻辑失误会造成内存占用持续升高,空指针异常、无限循环迭代都会引发堆内存溢出。
M:未实际线上遇到,仅了解基础诱因。
F:对象引用丢失引发内存异常。
Y:互相递归调用、死循环持续创建对象,GC无法回收堆内存,最终触发OOM;MySQL大数据全量查询、循环读取大量数据也会造成内存占用过高。
2.8 数组、链表、哈希表特性与适用场景
面试官2:谈下数据结构理解,数组和链表区别、适用场景,哈希表核心特点。
Y:数据结构是存储、管理数据的载体;数组内存连续,随机查询效率高,增删需要移动元素;链表内存不连续,靠指针串联,增删便捷、顺序查询效率低;哈希表底层可基于数组/链表,通过哈希值建立索引,实现快速查找。
F:计算机本质是数据输入、处理、输出,数据结构规范数据存储方式;数组连续内存、扩容困难、下标随机访问O(1);链表碎片化存储、扩容简单、遍历查询O(n);哈希表通过哈希函数分桶存储,查询效率极高。
M:数据结构是算法基础;数组依靠下标快速定位;链表只能顺序遍历,长链表查询耗时;哈希表通过哈希值映射存储位置,查找便捷。
J:数组连续内存,随机查询快、中间插入需要迁移元素;链表依靠指针,插入修改简单,但查询慢,额外占用指针内存;开发中List、Map使用最多,原生链表场景较少。
2.9 数据库索引作用、慢查询优化方案
面试官2:数据库索引的作用,日常开发如何优化慢查询?
J:索引相当于数据目录,快速定位目标数据;项目使用框架封装工具生成SQL,业务数据量小,很少手动优化慢查询,数据量大时通过控制返回字段精简结构。
M:索引提取表高频查询字段建立快速检索;慢查询可通过视图预聚合高频数据提升效率。
F:MySQL索引底层B+树,分主键聚簇索引、二级索引;二级索引查询完成后需要回表读取完整数据;无索引会全表扫描,速度极慢。优化方案:禁止select *、减少嵌套子查询、遵循联合索引最左匹配原则。
Y:索引是数据表的目录,分为聚簇、非聚簇索引,有序索引检索更快。慢查询优化:优先走索引避免全表扫描;多表联查先过滤缩小数据集再关联,而非先关联全量数据再筛选;group分组会加载全量数据统计,拖慢查询;Having尽量避免查询内函数计算。多表联查,先筛选数据再关联速度远高于先关联再过滤;group by需要遍历全部数据分组,性能损耗大。
2.10 代码复用、分层架构、公共工具类抽离
面试官2:什么是代码复用?项目中如何抽取公共方法、工具类?分层开发的意义是什么?
Y:不分层时代码耦合严重,一处修改影响全部,调试难度大;分层后各层职责隔离,仅通过接口交互,问题定位简单,便于多人团队协作开发。
F:代码复用减少重复编码,分层+AOP思想抽取通用逻辑,统一调用,一处修改全局生效,降低团队维护成本。
M:代码复用消除冗余代码,模块化封装通用逻辑;MVC分层:Controller处理请求、Model数据实体、View前端页面,职责清晰,方便前后端联调。
J:代码复用避免重复造轮子,团队可直接调用封装好的公共方法;后端标准分层:Controller控制层、Service业务层、Mapper数据层,每层单一职责,接口与实现类分离,分层解耦。
2.11 学生提问环节
M:公司开发岗位主要有哪些需求?
面试官1:现阶段主要招聘Java开发、AI模型开发,同时需要驻场开发、运维人员,因此对员工驾驶能力有一定要求。
J:实习需要全程连续在岗吗?学校有事能否请假?
面试官1:优先希望暑期连续实习满3个月以上;学校课程、事务可正常提前报备请假,走公司审批流程。无论是否在岗,分配的开发任务必须保质保量按时交付,无法完成需提前沟通,避免项目延期。
J:公司开发工作中允许使用AI工具吗?
面试官1:可以正常使用AI提升效率,但核心业务、涉密技术资料不能直接全部上传外部AI;可以自主梳理需求、拆分逻辑后再和AI交互,平衡效率与公司信息安全。行业受AI冲击较大,公司实习不会只让学生单纯写代码,会安排全岗位轮岗接触开发、文档方案、客户对接、外勤交付等工作,拓宽知识面,降低未来职业可替代性。实习结束后如果确定长期深耕开发,毕业可定岗后端开发;正式入职后也会存在跨边界协作工作。
3. 小结
想要在面试中侃侃而谈,除了要具备一定的语言表达能力之外,还需要对专业知识有深刻的理解。查漏补缺之后,希望自己可以在喜欢的路上继续深耕。
浙公网安备 33010602011771号