2023 LAZADA一面凉经
本人21届毕业,在一家公司干了两年。最近想要跳槽涨薪,脉脉上投递了Lazada,显示简历已经过初筛到打电话通知准备一面,四五天时间的样子。
面试时间:周一下午四点,总时常1h30min左右。
前一个小时,主要问的基础知识点比较多:
- 所在的项目是怎么样的部署流程,访问环境。
我也没想到第一个问题会问这个,就简单说了下,现在的服务都是在k8s上部署的,三个节点的集群,之前有用微服务,后面业务自闭环,去除网关之后,走k8s 服务发现和负载均衡。
2. 你们的项目是怎么样保证质量的。
开发角度,要充分分析产品需求,代码要遵循规范,六大原则,保证后续迭代改进后的影响程度,也要对主要功能编写单元测试,避免线上产生阻断行的错误;测试角度,充分编写单元测试,自动化测试,保证上线前的逻辑正常;运维部署角度,要考虑集群高可用,灰度发布,自动重启等。
3. 我看了一下,你在项目中负责了xxx设计,里面说到了灵活性,这是怎么体现的?
这里我没有回答好,首先应该讲一下这个项目的基本功能,然后痛点在哪里,如何实现这个痛点,并体现灵活性的。估计面试官也听的一愣一愣的。
4. Mysql集群部署了解吗,你们线上是怎么使用的。
也没有回答好,我就说了个主从复制,多节点集群,具体是DBA负责的,购买的是阿里的产品。这里的知识储蓄不足,应该没有回答到面试官想要的效果(抓紧补知识)。
5. 说说你参与的性能优化过程。
这里就简单说了多用享元模式,数据库要命中索引,大表不要join查询,程序里面完成;热点数据放缓存等。这里感觉也没有回答好,需要事后总结一下。
6. 说说你了解的JVM
这里简历上写着,所以几乎都把基础知识说了一遍。五大内存结构,每个结构存储什么,可以干什么,类的加载过程,堆的划分,为什么这样划分等。
7. String 为什么是final的?
这里一开始没有听清楚,听成了spring 为什么是final的。还好面试官很有耐心讲了一遍。我只讲了,保证String的安全性,不让继承去改变原来的方法。然后面试官问,还有吗?显然不是他想要的答案。补一下知识。。。
8. 线程相关的知识。
线程的生命周期,以及如何用程序表示各个线程状态;线程池的参数,每个参数的意义,过程等等。
9. 谈谈ThreadLocal的了解,为什么要主动释放,不释放为什么会内存溢出,java不是自动回收内存的吗?
这里也仅仅回答的是使用的层面,关于ThreadLocal的实现底层也是一知半解。奉劝大家使用的时候要知道相关的实现原理,不要像我一样。。。
应该还有其他问题,想起来再补充
后30min:
这里让我在线写两道题目,难度也比较简单。一个是大数相加,输入输出都是String;一个是多线程直接保证顺序执行,并循环执行10次。这里写的都是伪代码,注释写的很多,体现一下自己的代码习惯,然后跟着代码讲解了自己的思路。
最后面试官问我有没有想问的,我就问了一下主要业务,便回答又问了广泛点,体现自己有兴趣的意思吧!
面试第二天写的面经,还没有结果。今年跳槽好难,这是三月份投简历来的第一家面试,就业更难。希望各位好运。
#面试##面经##lazada#