查看原文
其他

今年面试有点小难

沉默王二 沉默王二 2022-09-26

作者:沉默王二
Java 程序员进阶之路:https://tobebetterjavaer.com

大家好,我是二哥呀。

最近有好几个小伙伴找二哥反馈说今年面试有点小难,然后沟通过后发现其实还是自己准备不够充分的问题,面试官问的很多题,面试前都背过了,但面试的时候反而结结巴巴,思路完全没有。

那今天在翻阅二哥编程星球里球友分享的帖子时也发现:有个球友在用友一面中只用了 30 分钟就凉凉了,他的总结也是,面试前复习的内容面试中一紧张就全忘光光了,不过好在这位球友并没有气馁,而是选择了迎难而上,继续复习,继续投,继续面!

说实话,在投递自己心仪的公司岗位前,投几个不是心仪的公司试试水,在实战中总结经验,不失为一种好的策略!

下面是这位球友在星球里的一部分打卡内容,我觉得还是非常有借鉴意义的,希望能给公众号的读者朋友们也能带来一点点启发和帮助。

简单介绍一下这位球友的情况,巴黎萨克雷大学工业数字化转型专业的研二学生,目前在法国一家制造业公司做实习开发。去年参加了一个中科院的大数据开源平台项目,开发基于flink的hive组件。

球友分享

这位球友是从 7/4 号开始打卡的,后面几乎就没有中断过,毅力可见一斑。

07/04

分享的是一道 LeetCode 题解,题目是 131. 分割回文串

题解用的是回溯三部曲:

  1. 递归函数参数:这里一般有两个全局变量,一个是结果,另一个是包含所以结果的结果集合。其次就是一个递归函数backtracking(),针对这个函数的参数,一般都会有主函数的参数,外加一些额外的参数,比如startIndex参数,用于确定从第几个字符开始遍历。有时候也会有一些布尔类型的数组,用于表示当前数值是否已经遍历过了。
  2. 确定终止条件:现在进入递归函数中,需要确定终止条件,一般是达到叶子节点底部的条件,比如已经分割完毕了。
  3. 确定单层搜索逻辑:终止条件后,需要写for循环,这个是单层的搜索逻辑,包括对数据的处理,减枝等等

07/06

简历已经改了N次了,现在总算是融合了各方大佬的意见,又改了一版。基本上这版简历的话,大方向上是得一直用到秋招结束的。剩下的时间就是针对简历上写的东西进行针对性地复习了,偶尔投两个提前批试试水,找找感觉。感觉把简历写完后再去复习更能有针对性一点。至少得保证简历上的东西面试官能和你扯一个小时吧

07/26

用友机考(常规牛客机考)

  1. (20分)单项选择题10题 -- 考Java基础
  2. (30分)多项选择题10题 -- 考设计模式,Java基础,spring的设计模式,单例设计模式等等
  3. (15分)数据库 -- 牛客中的SQL题目,就关联查询,分类,case分情况输出数据。
  4. (15分)编程题 -- 字符串,说的是一个手机拼音九键的字符串问题。
  5. (20分) 编程题 -- 回溯算法,笔试:给定一个由若干个0和1组成的数组A,我们最多可以将K个值从0变成1,返回仅包含...

tips:做完一个模块后必须提交后才能做其他模块,一共90分钟

注意事项:

  1. 基础(选择题部分,参考牛客的选择题)这里考的东西不难,但就比较细,做几题牛客的选择题就知道了,有一点坑,毕竟东西太多了,记不住啊。

推荐多看二哥的开源知识库《Java程序员进阶之路》中的基础部分,包括Java基础、多线程、IO等等。大致要有个思路,比如多项选择大概能选中一题(可以拿一半的分),单项选择能拿一半的分。所以选择题部分尽量能拿到25分左右,这个要求是最低要求。

还是那句话,没事多刷刷《Java程序员进阶之路》,边刷牛客选择题边去《Java程序员进阶之路》找答案。

  1. 数据库部分的SQL题目,这个的确不难,但需要针对性地区联系,要有思路。常考的基本上就那些,比如外连接、计数、分组、按条件分类等等。这个写一遍就会了,但一上手就忘了,主要还是不熟悉造成的。不然考试的时候,全程懵逼。建议:至少会背一道复杂的SQL题目。这样子考试的时候至少知道该怎么写。

  2. 算法题目部分。这就没办法了,只能靠自己写了。平时需要注意一些很常见的题目,比如字符串题目。

08.04

用友一面 30min -- 凉凉。我只能说,面经背的好好的,一面试就凉凉。。。背的全忘了撇嘴

给我出一道算法题,非常简单的算法题,而且只需要口述就可以了:

无序数组中找出最大的两个(K)数

当时我有一点紧张,我说这一路遍历过去,遇到大的更新。然后想了想说,这个时间复杂度有一点高的,都达到O(N)了,最后实在是想不出办法了。就说,想不出其他方法了。但事实就是,我最开始想的方法就是对的啊,面试完后去搜题解,就是我这样子做的。居然被我错过了最优解。

所以面试的时候,特别是靠算法题的时候,不要急,先让自己好好考虑个两三分钟,别急着要想出来。就算是复杂度最低的暴力方法,也至少要有逻辑地先说出来才行

08.08

一次面试凉凉没关系,继续总结经验教训,继续冲!

  1. 诺瓦星云机考 --- 三道简单的算法,求整数的二进制有多少个1,分割数组,冒泡排序
  2. 复习项目中的前后端分离的认证,使用jwt 生成 token,授权框架使用spring security

今天

  1. 算法:重写复习二分查找,居然没写出来,果然得经常写,不然就忘了。然后是统计整数有多少个1,这个是位运算的方法。
  2. Java基础面经:
  • 1.对Java平台的理解
  • 2.error和Exception
  • 3.自动装箱与拆箱
  • 4.字符串string,stringbuilder, stringbuffer
  • 5.final,finally,finalize
  • 6.Java集合,list和map

可以看得出,这位球友的心态还是非常稳的,虽然一两次面试失败了,但仍然在积极准备(Java 基础啊、项目经历啊、八股文啊、LeetCode 啊,都有在准备),毕竟实战之前还是需要勤加练习的。

二哥有个上岸字节的老乡,秋招面试了四五十场,也是在不断的失败中总结经验教训,然后把短板一点一滴的补起来的。一开始面试的时候,也是面一家挂一家,心态很崩,好在面试着面试着,应对面试官的心态发生了转变,稳了起来,不再那么紧张了,面试效果就好多了,于是开始变身 offer 收割机。

所以,面试没别的,只能说做足准备,然后不断冲刺就可以了,千万不要被打倒!

ending

一个人可以走得很快,但一群人才能走得更远。欢迎加入二哥的编程星球,里面的每个球友都非常的友善,除了鼓励你,还会给你提出合理的建议。星球提供的三份专属专栏《Java 面试指南》、《编程喵 🐱(Spring Boot+Vue 前后端分离)实战项目笔记》、《Java 版 LeetCode 刷题笔记》,干货满满,价值连城。

已经有 610 多名 小伙伴加入二哥的编程星球了,如果你也需要一个良好的学习氛围,戳链接加入我们的大家庭吧!这是一个 Java 学习/面试指南 + 编程实战 + LeetCode 刷题的私密圈子,你可以向二哥提问、帮你制定学习计划、跟着二哥一起做实战项目,冲冲冲。

总计 12 小时 12 分钟的学习时长,顶

没有什么使我停留——除了目的,纵然岸旁有玫瑰、有绿荫、有宁静的港湾,我是不系之舟。

推荐阅读

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存