求职面试心得总结
面试总共分为四个部分:
公司通过邮件形式进行笔试(在规定时间回邮件即可)第一轮技术面试(一个小时左右)第二轮技术面试(一个半小时左右)HR面试(五十分钟左右)笔试有六道题,大部分都是算法或者数据结构相关的题。其中涉及到了画大顶堆、小顶堆、二叉树、平衡二叉树啥的,有点像学校期末考试。考试没有规定时间,当天晚上自己做完把答案以附件形式发给公司就好。(没说不让上网查,不过考的题也不是上网就有答案的,需要自己做的过程)
由于疫情原因,公司采取网上视频面试的形式。使用了小鱼易连这个软件(类似于腾讯会议)。第一轮面试官比较注重Java基础的各种问题。但因为一开始我们聊天的起点内容比较深入,所以没有问特别基础的东西,直接从框架内容聊起的。具体内容如下:现做个自我介绍,面试官根据简历内容看到我熟悉spring\spring mvc\mybatis框架等内容,所以他直接让我具体说我对这三个框架具体了解什么。因为我自己曾按照官网手写过这几个框架,所以我从底层的实现逻辑和面试官具体讲了一下这三个框架,说了比较长的时间。讲的过程中面试官会对你的描述做出评价,也会直接点出你在实现的的逻辑上有什么错误。最后面试官问我mybatis中,为什么你在service层@Autowried了一个Dao接口,你却能使用一个实现类。我回答:因为Mybatis底层会为我们创建一个代理对象,它就是dao接口的具体实现类。
总之,整个面试过程非常顺利,面试官夸我是他面过的回答最好的面试者,我。。。小羞涩。之后就是等待第二轮技术面试。
第二轮技术面试也是视频的形式,换了一个新的面试官。他会问一些更深入且偏更工作中如何具体实现方向的问题。最开始也是先介绍自己。然后会根据简历中的信息进行具体询问和提问,最后会有一个小的机试(我说我不擅长算法,所以面试官让我写了一个能识别字符串是否为ip地址的方法,来判断我的编码水平) 我在简历中写了一个我做的餐厅点餐管理系统的项目,这个项目分为前台点餐和后台管理两个模块。面试官让我描述了各个需求模块,并讲了一下我设计的弥补搭配化算法,说完之后面试官会问一些如果项目上线出现的实际问题,如下: (先描述一下我的算法,以便大家能看懂接下来的问题) 弥补搭配化算法:该算法是在顾客完成部分点餐后根据本桌顾客人数结合基于用户的协同过滤思想和Apriori算法,按照顾客喜好为其进行菜品搭配。 ①你测试算法的数据集和验证集是哪里来的? ②项目中有算法数据有反馈机制吗? ③对菜品推荐数据的收集是实时的还是有离线处理? ④设想一下数据量大了你会遇到什么问题? ⑤如果上亿用户同时访问,你的算法难道要每一次重新计算吗?消耗系统资源太大了吧?你会怎么优化你的算法,如果优化你的机制(什么时候获得推荐数据)? ⑥把你的策略改成离线去算,你的代码需要改动多大,它具体的流程是什么样的? 其他问题我记不得了,总之在项目经历方面,面试官会问一些比较实际的问题,需要我们去思考。 除了这个点餐系统以外我还在简历中描写了三个别的项目,不过大都使用的别的技术和语言,与java相关性不大,所以就没有被具体提问。
之后,面试官要求我来个机试,我是使用屏幕共享在eclipse上写的,面试官会看到你整个编写的过程。题目是让我判断一个字符串是否符合ip地址格式,即“192.168.0.1”。说实话这部分我完成的不好,因为string的一些分割字符串函数的具体用法我忘记了,不过整个过程我一直努力地向面试官展示我遇到不会使用的函数时会如何操作。我会去看eclipse提示的各种string中的方法,看他们的使用形式以及返回值类型,看不懂的时候还会点击ctrl+1去底层确认一下,虽然最后还是没有写出一个成功运行的方法,但我成功的展示了我的编码逻辑和思考方式。
最后,面试官提到了我第一场的笔试试卷,试卷中有两道算法题都被我空出来了,面试官问我为什么空出来并且让我再仔细思考一下能否做出。幸运的是面试官问我的那道算法题我竟然会,当时没做只是因为没有读明白题意。题目给了N条网址,让我们求出点击量排在前三的三个网址。这道题可以通过hashmap的value来存网址名称,对应的key存点击数量。如果map中有这个网址,则给当前点击次数加一,如果没有这个网址,则把新网站put进map。从网上找到的经验得知一般的机试题都不会太难,难度与leetcode相仿,有兴趣的朋友可以提前练一下。
当前三场考试通过后,会有HR来进行素质面试,以微信电话的形式进行,这部分内容不涉及技术,偏向询问你的生活态度、学习态度和工作态度。给我面试的HR是个声音甜美的小姐姐,逻辑严谨,善于总结你所表达的并能及时根据你的表达问出下一个问题。
面试官先问了一些比较常见的问题:让你印象最深刻的事情?你在什么事情里学到了什么?你期望的工作环境?说出你找工作时最在意的三个点?(我回答的是:愉快的工作氛围、能学到大量的技能、薪资和福利待遇)
在你回答上述这些常见问题的时候,面试官会穿插着追问你在回答中提及的一些细节。比如:“我刚刚听到你反复提及“效率”这个词,为什么呢?你的效率表现具体在哪些方面呢?”
最后就到了你提问的时间,面试官会让你把你想问的问题全部说出来,然后她一道道统一进行答复。面试的效率很高,过程也很舒服。三个面试官都很nice,面试的过程很正式,面试的内容也很有水平,让我受益匪浅。
整个过程结束后,三个面试官会进行讨论,根据你的三场面试确定最终结果。幸运的是我顺利的拿到了offer,在这里把我的经验分享出来也希望更多的朋友找到让自己满意的工作!
这是我的第一份工作,我希望踏踏实实的做好,在工作的过程中专注细心并提高效率,自己遇到不会的问题多和度娘聊聊,或者请教指导我的前辈,然后认真总结。除此之外,每天我都会总结当天我学到了什么新技术或者是遇到了什么新bug,让自己不断成长。下班后我会努力抽出时间去学一些额外的技术(争取每天保证在两个小时),愿正值青春的我能锁住这股上进的冲劲,不负韶华!
