人生第一份工作■培训班出身需隐瞒经历?商业项目经验怎样写?程序员面试准备盘点( 四 )
可能会有候选人认为面试官不能慧眼识珠 , 或者感叹给到的工资很低 , 但如果你一方面在面试中只展示增删改查 , 另一方面大谈特谈非技术方面的亮点 , 或者给出的亮点非常不值钱 , 那么这就怨不得面试官了 。 其实 , 只要是个商业项目 , 一定能挖掘出很多亮点 。
1、项目管理方面:Maven、Jira、Jenkins部署、Junit单元化测试 , 甚至Docker、K8s , 这些点其实面试时没法深入问 , 你只要说明了 , 就能证实一定的项目管理和部署能力 , 而且这和工作年限无关 , 哪怕才2年经验的人同样可以展示 。
2、项目监控或业务埋点 , 比如CAT、Zabbix , 再不济可以是监控log里exception、error关键字 , 以此引申出通过检查日志分析并排查问题的能力 , 面试中 , 借此还能引导到JVM调优 , 数据库性能优化和分布式组件方面的问题 。
3、Java核心这块就不说了 , 稍微看些资料 , 就能挖掘出异常处理规范、快速失效、线程并发、HashMap等问题 , 而且这块还可以结合底层代码讲 。
4、数据库性能优化方面 , 可以结合索引和执行计划 , 如果可以再带出MyCAT 。
对于初级开发而言 , 如果能充分展示上述方面的能力 , 一般的公司应该没问题 , 小公司就更不说了 , 如果再能展示分布式组件方面的能力 , 估计挑战下大厂也没问题 。 但本文的主题是结合项目展示技能 , 下面再给出些“技术结合项目业务”的说辞 。
1、集合方面 , 我们项目在遍历Arraylist等对象时 , 需要考虑快速失效的问题 , 因为在测试过程中发现过此类问题 , 然后展开 。
2、数据库方面 , 我们项目会对慢SQL进行监控 , 发现后会结合索引和执行计划调优 , 比如在订单模块里 , 一个SQL过慢 , 发现是因为表关联太多 , 经过调整表结构后 , 此类问题就解决了 。
3、我们项目上线后 , 用Zabbix监控内存 , 一旦发现过量 , 则会用Dump观察镜像 , 并根据日志排查问题 , 发现过的内存问题有 , 在订单模块里 , 过量使用ThreadLocal没释放 , 或者是用了大量的ArrayList没clear 。
4、我们项目里 , 由于需要从网络接口多次获得数据 , 所以用Redis缓存数据 , 在实践过程中 , 会适当地设置超时时间 , 而且会用xx策略设置缓存主键 , 以防缓存被击穿 。
从中能看到 , 这些说辞结合了业务 , 比起单纯地讲理论要好很多 , 你这样一说 , 就能让面试官确信你确实有过实战经验 , 如果你说得好 , 甚至还能让面试感觉你还有实际的排查问题解决问题的能力 。 而且 , 上述说辞都是很基本的 , 成本也不高 , 大多数项目都会用到 。 相比很多候选人无视这些亮点 , 只展示增删改查的能力 , 你结合项目再多挖掘些 , 面试官一定会认为你比别人强 。
本文插图
以一组提问方面为例 , 分析如何在面试中准备值钱技术
这里就之前提到的数据库方面的问题 , 分析如何结合项目准备值钱技术 。
1、基础层面:用过哪些数据库 , 多少经验?JDBC里PreparedStatment的用法 , 以及索引的概念等 。 这部分通过背题可以通过 , 问题不大 。
2、调优层面:索引、执行计划的技巧 , 比如哪些SQL用不到索引 , 并问在项目里建过哪些索引 , 执行计划要看哪些要素 。
先全面了解索引 , 执行计划等概念 , 了解的时候需要涉及底层 。 然后观察当前项目的的慢SQL,看解决这些慢SQL时 , 是怎么用到索引的 , 在看执行计划时 , 是根据哪些要素分析痛点 , 比如是因为没走索引还是走全表扫描 , 据此准备若干个例子 。 面试时一旦被问到 , 先说索引数据结构 , 复合索引 , 执行计划观察要点等理论知识 , 再结合你准备好的实际问题 , 说下如何在项目里用的 。
推荐阅读
- [请叫我绅士]就上山去找大师问,随后恍然大悟,开心笑话:一位青年找不到工作
- 『烨然聊科技』走上人生巅峰后,现生活怎么样了?,支付宝大爷因名字成网红
- 『专场』没找到工作?广东为期100天的网络招聘会来了
- 云安全联盟区块链安全工作组启动,e签宝助力推动区块链安全发展
- 『悠萌影视』月薪大概多少?内部员工工资揭秘,研究生和本科生到国家电网工作
- 『砍柴网』有道翻译官推出检疫特别版 助力全国百万公安民警跨境检疫工作
- [西北信息报社]陕西出台《决定》加强检察公益诉讼工作
- 重组后第一份年报出炉 TCL科技如何“提质增效”
- 『抓好』一起为大地添绿(统筹抓好改革发展稳定各项工作)
- 【三江源国家】青海自然保护地体系示范省建设工作取得积极进展
