求问在招商银行信用卡中心实习是一种啥样的体验哇(12)

sql join语句就可以得到两个站点之间的可达性,在性能开销和时间开销上都优于我的离线算法(不过答辩结束再去思考的时候觉得这样可能只能支持一次中转的情景,估计是我学艺不精);
刚入职坐在海哥旁边学习时,他就跟我提到一些需要掌握的技术,其中反复强调用好数据库的重要性。但是我在学校的课程学习和实验中,几乎很少用到数据库,在大三初完成课程设计后也基本抛弃了数据库的使用,大多数情况下都是把数据格式化保存到文本中进行持久化。这次试题中我设计了两张表,也只是起到了最简单的存储作用,两表没有任何交互,完全没体现数据库的优势;用好数据库能够极大地简化问题、降低业务的复杂度、提高模块/系统的性能,这也是赛题中强调良好的数据库数据结构设计的原因;
高并发场景,同上。在软工中,常常会研究并发场景出现的数据竞争等问题。对于真正的高并发场景,可能并不知道如何设计整个系统。针对此次赛题,购票后需要锁票,100个人同时抢10张票,一定有且仅有90人返回购买失败,在分布式场景下如何设计整个系统?我在答辩PPT上简单写了思路,用synchronized关键字只能保证在单个服务器上保持一致。Kafka这类消息中间件可以保证消息最多被消费一次(at most once, at least once, exactly once),评委老师告诉我消息传到MQ后再取出来被消费,中间会存在时延,不适合用在这个场景(在答辩时出于公平原因考虑,没有告诉我合理的解决方案,赛后搜索发现这种需要实时获取结果的场景需要用 RPC)。我相信这个场景有成熟且高可靠的解决方案,自己平时总认为这些东西都是工作后可以掌握的,而在学校写实验代码都是单线程跑,根本用不上这些,这种“实用至上”主义让我几乎不主动去了解这方面的技术,真正做工程碰到了一无所知;
我们研究过的很多东西都基于实际的应用场景,但是解决方案(代码)都是实验性质的,对于解决方案在实际场景中的可行性进行证明或实证调查;很少产出真正项目级别/产品级别的代码。我曾经试图用比较严格的规范来编码,但是随着实验的进行,中途会有较多大规模的变化或临时的需求,疲于应付这些改变导致我慢慢放弃了对于代码规范的保证;
比赛最后一天的下午安排了提前批的面试,面试官是信息技术部的周炜总经理。
最后的结果还是技不如人,最终没有获奖和拿到提前批的offer。不过此次经历让我认识要到了公司需要的人才应该具备的技术栈,而不是一味地刷题;赛程安排之余还有官方安排的小龙虾盛宴,结识了各个学校杀出重围赶来比赛的大佬,比赛抱憾之余也算不虚此行了。
同时也感谢这次比赛让我在不到一周时间内入门了Springboot、MyBatis、Thymeleaf。。。
『班后生活』作为实习生,没有与正式员工的权限访问一些内网系统。在这个前提下,安排的任务难度就比较低,容错性较大。完成安排的工作之余便有时间进行自学,熟悉内部系统/项目所用的技术栈,亦或是在令人慵懒的下午三点,叫上室友偷偷溜到二楼食堂买下午茶(园区内有一个星巴克,卡中心的员工打九折优惠)。。。
人力资源部也很关心实习生的发展,在工作日的下午或周六上午组织的各色各样活动、讲座、入职培训、期中座谈会等,极大地丰富班后生活。
『实习感受』两个月的实习生活转瞬即逝,回首昨日似乎才刚搬进公寓结识两位小伙伴。日常实习工作中偶尔忙里偷闲,感受IT行业在学术界和工业界的思维差异,并思考如何在快速更新迭代的互联网环境中保持竞争力。通过此次实习我学到了:
敬畏自己开发/测试的每一个系统和每一行代码;严谨的流程是代码质量的保证;持续学习,保持饥饿,发现和挖掘系统和业务中的痛点和需求;关注细节,严谨地完成每一项任务。凡是过往,皆为序章。两个月的实习,对于部门和公司来说我只是一个匆匆过客;但是这次实习经历对于我,帮助我平稳过渡到社会,了解职场的规范,熟悉业界的工作流程,965的工作作息,相对可观的薪酬,是值得铭记的一段历程。


推荐阅读