昨天面试了一下,民生银行外派 +海尔卡奥斯。两辆车都翻了……
吐槽下boss,不是外包就是外派,给我一个大厂洗洗眼睛吧……再给我推这种公司我要报警了……
之前的面试:https://leetcode.cn/circle/discuss/YTnecL/
首先说一下我之前干过的项目
配置文件扔数据库里,从数据库里取到要查询的数据和配置文件
然后创建个bean,读取mysql的配置文件和数据源,执行完成以后生成文件到本地磁盘
任务调度平台调度下,就跟普通的多线程一样执行一下
遍历所有刚生成的文件,然后把数据扔到hbase数据库里面数据就采集完了……
难吗???
就是架构师架构完了去拧下螺丝……
前端给个报文,然后按照格式往mysql里面写。
前端要请求数据,然后我就把mysql里面的数据往外面吐
我相信,大家写的简历绝对比我东西多,技术栈绝对比我这平平无奇的菜狗更强。我简历里面啥熔断、读写、集群、redis、微服务啥都没有,就是一个值:菜。
不过我薪资要求低、简历简明易懂。没啥大问题……
面试的时候面试官一看这个简历,基本上都放我一马……也不会问很深的问题……
民生银行,面试就一个下马威
第一步是自我介绍,就是你简单的介绍一下你之前的项目……
我简单说了一下……就是一个普通的项目……照着简历念完了……面试官啥都不说……
冷场了大概20s,面试官啥都不问……
我:有点冷场,面试官你有什么问题吗?
面试官问:那么请问你在项目里面到底干了什么??
????我是第一次面试遇见这种问题……
我之前就是在浪潮拧螺丝的,然后人家问我:我不知道你咋拧的螺丝……
就取数据做sql boy啊,不过数据扔进hbase里面了……你让我咋说?
我在简历里面写了我之前那个项目是任务调度,xxl框架。
我们这个调度平台xxl调用的是bean。
面试官问:怎么调用的bean??
这个人是个什么毛病啊???怎么调用bean???用框架的时候不是看框架的参数吗,看完照着框架的要求调用就行了啊……
我第一次陷入了迷惘:他想问啥啊??我应该回答他啥啊?他好像啥都问了有好像啥都没问的样子让我不知所措……
我的表现非常差劲,我蒙了……
我说:框架xxl啊,然后使用bean然后把参数传进去,不就可以了嘛?
面试官:那么你传了什么参数??
????????你是没new过一个class还是咋地,你问我如何给刚new的一个class一个初始值??
我说:6个参数,我给你说下传的6个参数是啥意思……
之前项目我说我通过ftp发过几十M的文件,问:你说你之前用ftp格式传过文件,那么文件的格式是什么样子的??
啥格式啊???二进制utf-8格式的文件啊???然后一个/n一行,空格分隔字典的一个列??文件不就都是这个格式的嘛……
都是几个小时就能上手的小东西,逮着问……就差String。split(“ ”)了……
你为什么用shell?
项目要求啊,人家就支持套接字shell脚本取数据,所以我就只能用shell啊……
服务器限制,人家是linux,就开那么几个端口,能接的命令就是shell报文……
问我:分库以后怎么走索引?
分库走个der索引啊???大哥你都按照字段分库了,请问索引那不是只能走单表吗???
我:我这边分了库那就只能走单表索引,join这个东西用不了。
如何提高查询速度?
怎么证明mysql走了索引?
explain。
HBASE数据库是个no sql的数据库,请问你对no sql的理解
我对no sql的理解啊?那就是key -value,非关系化,没有表结构
那么为什么不用mysql呢?数据量太大了啊?
请问数据量到底有多大?几十兆,5分钟一千万条数据。(其实我好像说高了,也就一二百万每五分钟)
然后,你是怎么做的呢?
扔进去就行了啊????
几十兆的文件扔到数据库里面有啥????五分钟几十兆这很难吗???
这个问题就跟:把蚂蚁放在冰箱里面分几步?三步啊……为啥3步??
你说几个T的文件扔hbase里面我翻了是不行,扔个几十M的文件进去有什么好为啥的吗??
然后问我:一个key -value的非关系型数据库,我翻译一下面试官的诉求:你以账号作为主键,然后账号里面有个粉丝数,全国100W,济南1000人,现在要对济南的博主粉丝数执行count(*),如何在非主键的情况下避免全表扫描?
我:没有办法。除非写两份数据。
你XX不扯淡嘛……我特别想给面试官科普一下啥叫做key-value。key-value数据库,你不走key那不得全表扫?
面试官愣了大概15s:这是个开放性问题
好了,我给他说:那就提前汇好。
面试结束以后想了想,那就是提前汇总好扔mysql里面,或者边计算边汇总。
我觉得是这个面试官技术不行翻车了……也可能是我以小人之心度君子之腹了……
问我:Java的数据结构?
我:hashmap、hashset、最小堆、列表、数组这一些……
问我:Java线程池有哪些参数?
这个……这个不是百度一下就知道的事情?????Java那些类的名字鬼知道啊……
面试完成了以后我百度了一下:
| newFixedThreadPool(int nThreads) | 创建固定大小的线程池 |
|---|---|
| newSingleThreadExecutor() | 创建只有一个线程的线程池 |
| newCachedThreadPool() | 创建一个不限线程数上限的线程池,任何提交的任务都将立即执行 |
// Java线程池的完整构造函数
public ThreadPoolExecutor(
int corePoolSize, // 线程池长期维持的线程数,即使线程处于Idle状态,也不会回收。
int maximumPoolSize, // 线程数的上限
long keepAliveTime, TimeUnit unit, // 超过corePoolSize的线程的idle时长,
// 超过这个时间,多余的线程会被回收。
BlockingQueue<Runnable> workQueue, // 任务的排队队列
ThreadFactory threadFactory, // 新线程的产生方式
RejectedExecutionHandler handler) // 拒绝策略这个东西……真心八股文了wc……
下一个问题,问的是Java里面的文件流……
我:我就记得File和steam,file开头,steam结束,API没记住……
啥啊,问我FileOutputStream啊,你要是答了他就问你异常了……我没这个能力……
问了一下幂等性,什么是幂等性,怎么实现幂等
幂等性,就是不管调用多少次接口写多少次,数据都是一致的
幂等最简单的实现那就是先查后写。其余高大上的没搞过。
问了:你用过double吗???
我:???????double是个啥????我一时没反应过来wc……
过了大概20秒:你这不扯淡嘛,int float double,你问我double???这啥啊,啥意思?
面试官:J-U-D-B-O,double,你可以面试完成以后自己看一下……
我可能忘了这个框架叫啥名字了,有知道的给我说一下……J开头发d的音……这个面试官是真的NB了
我查了一下,可能是个dbowner(数据库权限管理)控件??
然后就是:外包那边,说民生是他的核心用户,拿了offer就必须去,不然扣人力的绩效……
所以,三天确认了尼玛5次我入不入职……
我人佛系的一匹,人力10点给我信息我13点回,hr 表示:你这让我很没有底啊……
我:???????这不是扯淡嘛,啥情况?我秒回??我要是有了女朋友还不一定秒回呢……
然后他说:民生是我的大客户,如果民生给了offer那么就必须去……如果不去那就扣绩效,他会被领导骂。如果你拿到offer,需要快速入职不能耽误,我给你申请居家还有什么东西都可以……
面试完以后价值观崩的稀碎……我根本不知道他想问啥,他也不知道我答的啥……
总的来说,这个企业鉴定为有毒。
这个面的更崩……
这个一面过,然后发offer。面的啥都不是,发个der的offer……
然后:你面试官好菜的,真的很菜……发了offer让我入职。
我的职业规划是跟着大佬混,你这么菜让我很不满意啊……
然后拿到offer了,我说:不行给我安排个二面,我要问下项目组。
人力:????????????????
然后拿了二面,整个项目的意见是:我了个大草。剧毒翻车。
整个项目组,好像十来个人……按照面试官的口气,那个测试好像不一定来……
这口气好奇怪的:有3个前端,5个后端,然后……还有一个测试……
你中间顿一下啥意思啊大哥???是不是这个测试还没敲定入职???
干啥呢,答:工业自动化,做流程管理,对标飞书,接海尔内部开发单,还在外部竞标……
这几个关键词,直接把我干懵逼了:你这不是腾讯视频会议啊、welink啊,或者飞书,正常不是程序员专用,那机械人为啥不能有自己的项目管理控制对吧?
技术栈呢,用的springboot +redis、mysql +es中间件
我很菜,那会springboot就行……
好吧,不靠谱的项目组,崩……
我的问题,是dubbo