恩,代码水平这个,有多个维度,我不确定面挂的那家主要认为你哪方面尚有不足。但是无论是哪一方面,单从onsite的面试来说,不会写太复杂的东西,所以是完全可以在日常工作中提高的,组里不规范,不注重代码质量,但自己在日常写代码的过程中,应该对自己写出来的代码有一定要求。不好的组,缺乏好的senior引导,确实容易引发自己也随手写代码,但是我觉得至少可以从以下几个方面持续提升自己的代码质量。1 代码是否符合主流的convention, 包括命名,注释,缩进以及一些规范化的使用。这是代码给人的第一印象。2 代码是否简洁,一个简单的例子,当碰到代码有多层if..else嵌套,一个方法实现中出现多个布尔类型变量,一个方法参数列表超长等预警信号时,就应立刻为自己敲响警钟,虽然当时写的时候也许觉得很爽很快,但往往意味着写出了冗长而多余的代码。3 代码是否efficient, 这里主要两类efficient,一类是一个算法本身的复杂度,二是面对现在的micro services, micro frontend等潮流所必须考虑的服务之间的通信开销。对于前者,适当刷leetcode等题目,确实是会有所帮助的,一方面这些题目在大厂面试过程中确实还不断出现,另一方面解决这类在限定资源限定运行时间内出结果的过程中,可以很好培养自己的思维习惯。对于通信开销,也许你目前公司的项目受制于架构,并不明显,但你自己在日常coding过程中,应尽可能多设想一下,如果整体架构将服务分离了,我自己的写法是否还依然高效。 4 failure is the first principal. 现代软件系统中无法回避的就是error和exception. 如何在代码中正确有效的处理failure, 在哪个层面处理等,是一个full stack 程序员必须熟知和掌握的,也是新手sde容易犯的错。一般来说,你能在以上几点持续改进,通过onsite应该机率会增加很多。当然,更进一步说,还有代码的风味,设计模式等,那些可以做为你后续更进一步提升的方向。希望能有所帮助。