玄武云一面(技术面+HR面)
时间9.25早上,技术面20min左右,结束后立刻告知HR面,也是20min左右,9.28晚收到线下二面通知。
一面技术面
这里因为我说了主技术栈是Go和C++,没有深入问Java的东西。
1.有了解过Java多线程开发相关的东西吗?
线程池。
2.线程池有什么作用?
节约内存,提高效率(还有异步,没说)
3.项目中用了什么数据结构,找几个说说
哈希表,动态数组
4.业务中把数据库记录行存起来,怎么做
没懂,问了一下是不是把数据库模型存到结构体,面试官说就是这个意思,秒懂,回答项目中用了orm框架。
5.数据库索引能说说吗?
Innodb索引是B+树,简单说了树结构,以及和传统二叉搜索树的区别。
6.某个表查询很慢,怎么排查?
慢查询日志开开,设置一下慢查询阈值,explain看一下sql语句用没用索引,有没有别的优化空间,比如limit可以通过主键子查询优化。
7.知道面向对象设计原则吗?
最经典的是开闭原则。
8.重点聊聊开闭原则
对修改关闭,对扩展开放。强调通过抽象类和接口去进行开发。底层抽象类和接口一旦定了就尽量不要改动。
9.有了解过设计模式吗?项目中常用的设计模式说说
代理模式。中间件实际上就是一种代理模式,项目中用了jwt鉴权来避免恶意用户和非法登录,此外框架也自带日志中间件。
10.为什么代理模式和中间件有联系?
因为实际上通过中间件去做了访问控制,而不是加强业务。这就是一种代理。
11.接口比较多怎么办?
...?瞎扯,反正就是说了要约定一下,规范化。
12.TCP、HTTP的联系和区别
TCP是传输层的,而HTTP则是应用层的。然后瞎扯了一些别的,答得不好,计网这块真不太会。
13.TCP滑动窗口有了解么?
主要是发送方和接收方要约定窗口大小,不能发送过快,也不能接收过慢,当网络拥塞发生时,发送方会减小窗口大小;网络畅通时,发送方会不断扩大窗口大小直至稳定。
14.常见错误码,400系列,500系列了解吗?
其实一直记不清这玩意,说了404不存在、400参数错误、500系统内部错误。
15.有分布式相关的经验吗?CAP理论了解吗?
无,分布式还是难。
反问:问了一下业务部门怎么安排的,以及如何发挥自己的竞赛特长与经验(有兴趣可转算法)
一面HR面
问的问题比技术面还多,其实很像闲聊,氛围也比较轻松,挑几个有意思的问题说说。
- 为啥学计算机(坚定的兴趣)
- 为啥去北方读书,父母有担心吗(能去北邮为啥不去,其实大部分人都能够很快适应生活)
- 什么时候开始决定要学计算机的(小学六年级,笑)
- 为啥学后端不学前端(后端挑战性大,前端主要是迭代快)
- 遇到过什么挑战(说了竞赛的东西)
- 为啥要打竞赛(最开始害怕,但是后来意识到如果不去做足够有挑战性的事,大学生涯就缺少意义)
- 团队如何应对困难,有没有产生过矛盾(默契的配合,矛盾还是有的,但实际上大家都有错误,最终能够意识到争吵和怀疑不能解决问题)
- 意向城市怎么考虑的(都投的广州深圳成都这些,主要还是想回南方)
- 为啥不喜欢北方(不适应,而且美食荒漠,笑)
- 之前投的有啥进展(大厂面试比较难,竞争力不够)
- 你在北京,线下面试确定能来吗(那必然要能啊)
反问:
之前宣讲会有看到三年升三级的学长分享经验,问问如果负责的业务比较基础会影响晋升吗(说优才计划都是核心部门核心业务)
还问了晋升和薪资怎么挂钩(只是回答说分级会对应不同薪资,比较笼统)
#玄武云##玄武科技#