首页 > 两年社招后端开发面经
头像
人为
编辑于 2021-07-10 10:04
+ 关注

两年社招后端开发面经

  • 前言
    笔者在一家国有银行的科技部门干了两年 做的主要是线上消费贷款的后台部分
    心想着干了差不多两年 也是时候出来看看机会了
    大概是从年初开始准备的吧
    准备思路就是三块:0 简历 1 技术(主要是看书)2 项目 3 leetcode(不过社招考察的不多其实)
  1. 简历
    简历首先决定了你有没有面试机会 其次还决定了面试时面试官会怎么提问你 我觉得多花些时间在简历上边还是挺重要的,一开始我也是很嫌弃认真写简历,不过后面投多几家石沉大海 你就会知道简历需要好好写了 不过不用指望自己能憋两三天就把简历写出来 可以边面试边改善 这样比较有感觉 也容易

  2. 技术
    因为我是java系,看的书如下:深入理解java虚拟机、redis设计与实现、从paxos到zookeeper、apache kafka实战、java并发编程的艺术、mysql技术内幕。看的时候其实看得也挺快的 主要就是泛泛的看一遍 感觉特别重要的才会比较认真看 也可以先上面对着这几个方面留意一下比较常见的面试题,然后再来有针对性的看书会好一些

  3. 项目
    项目的话 其实就两方面,一方面是你简历上写的东西 对你简历上写的东西要特别熟悉 不然很容易被问穿 这就会有些尴尬 当然如果做的项目确实比较简单 也应该适当包装一下(比如无中生有,不然有时简历关都过不了 不过对于无中生有的部分也需要比较熟悉就是了) 然后工作一两年的建议就别写精通XXX了 我一般就是了解、熟悉;好像跑偏了,除了简历上的东西,另一方面会问你一些有关你们系统的开放性问题,这就需要你平时对你们系统有一些了解,比如你们生产有多少台机器、数据库怎样部署的之类的,这些就需要平时积累 如果平时没积累,就多找熟悉的同事问问(这里要谢谢欢哥,我的面试经理)

  4. leetcode
    我反正直接躺平 一开始还会每天刷一道medium 后面直接两三天挑一道easy 就保持手感 因为没有面字节 所以以前的老本倒也够用了

接下里就是具体的面经啦 这里按照面试的时间顺序排一下

涂鸦一面

  • 1 项目并发控制 updatepdate 0 乐观锁
  • 2 简历ibatis
  • 3 redis哨兵心跳 事务 pipeline
  • 4 数据库全表查询 select * 高性能mysql
  • 5 jvm 栈 垃圾回收 碎片 stop the world
  • 6 内存布局 enum java1.6 1.8
  • 7 设计文档输出
  • 8 学习kafka
  • 9 锁升级 synchronized
  • 10 服务如何开发给第三方
  • 11 接口如何审核 控制第三方调用

涂鸦二面

  • 聊聊最近一个项目,遇到哪些业务上的难点、技术上的难点,怎么解决的
  • Redis分布式锁怎么实现的
  • Weblogic平时有使用到吗 对tomcat的原理了解吗
  • 对分布式了解吗 分布式需要解决哪些问题呢
  • 最近这两年最大的技术进步是哪些呢 讲讲oracle索引 什么时候会出现死锁呢
  • 对未来的规划是怎么样的呢
  • 有什么想问我的吗

涂鸦hr面

  • 对公司了解吗 事后有去了解过吗
  • 为什么想离开现在的公司
  • 想去哪些类型的公司 为什么 有什么期望
  • 在工作中遇到最大的难题 怎么解决的
  • 作为技术 最讨厌什么
  • 为什么不想去bat 有和同事了解过吗
  • 对于这个岗位进来要做的东西 了解吗
  • 现在薪资多少 期望薪资多少

涂鸦一面的面试官聊得久一些 二面就比较快 hr面感觉和hr不是很对口 后面就卒了 面试反馈挺快的 一般今天面完 第二天就反馈了

akulaku
一面

  • Redis为什么不用hashmap
  • 等额本息等额本金的区别
  • 订单库存服务不一致
  • 主键递增
  • 工作流回滚
  • volatile 原子变量

二面

  • 准入 攻破怎么办
  • redis数据结构 hashmap使用
  • jvm内存布局
  • 什么时候回收

hr面

额hr问题忘了 这家因为后边给的工资比较少 所以就没去

平安一面

  • 你在建行做的是什么 为什么想要换工作 对新的工作有什么期待
  • 了解过springboot吗
  • 了解springcloud 它的各个组件是怎么样的
  • 了解mybatis吗 它的分页组件是怎么实现的
  • 你用过多线程吗 知道线程池的原理吗
  • 了解hive hbase吗
  • 说出自己的三个缺点 三个优点
  • 最近比较有技术含量的一个项目是什么
  • 一般一个需求下来你是怎么做的
  • Redis有哪几种数据结构
  • Redis数据结构的选取?有什么原则吗
  • 有生产上堆栈分析的经验吗
  • 生产上有出现线程堵塞的经验吗

平安二面

  • 讲讲你在建行做的什么
  • 讲讲你们的流程
  • 你做的有什么难点吗 你负责的东西是什么呢
  • 你现在还是在做这个吗
  • 你们怎么解决客户额度的问题呢
  • 讲讲你项目里用到的技术
  • 你们数据库数据量大吗
  • 几千万的数据量会有性能问题吗 怎么解决大表关联
  • 讲讲多线程
  • 用过微服务吗 你们服务器扛得住吗

hr面
也就是问一些常规问题 忘记记录了 这家也谈完薪资了 应该会去这一家

amber 一面

  • 讲讲layer2的实现方式
  • 讲讲arbitrum
  • 讲讲助记词是怎么生成私钥的
  • 怎么把一条链的提现和充值接入钱包
  • 用什么语言写过dapp吗
  • 以太坊地址有大小写区分吗
  • 波场和以太坊有什么区别 为什么波场比较快
  • Btc和以太坊两条链有什么区别
  • 搭建过以太坊节点吗
  • 如果有很多个账户 怎么监听账户的余额变动了
  • Redis机构树在数据库怎么存的 为什么要这么设计
  • 在redis怎么存的 在数据库如何优化
  • 给一个字符串 写出他的全排列

amber hr面

  • 了解我们公司是做什么的吗
  • 年终考核和绩效挂钩吗 拿了什么 为什么
  • 为什么想要离开现在的公司
  • 为什么对区块链这么有信仰
  • 对未来的规划是什么
  • 可以接受先做开发后面再接触钱包相关的吗
  • 对加班的态度怎样
  • 现在的薪资及期望薪资

本来一开始我是最想去这家公司的 但是他们要求有过钱包的设计经验 所以就卒了 不过后面也觉得无所谓了。。。

波场一面

  • 讲讲你对区块链的了解
  • 讲讲全节点 轻节点
  • 如果要你设计钱包 你觉得有什么侧重点
  • 讲讲concurrenthashmap如何实现并发 扩容呢
  • 用过消息队列吗 如何防止消息丢失
  • 做一道leetcode题
  • 有什么要问我的吗

这一家同上。。。一面卒。

招联一面

  • 为什么要离职
  • 期望薪资
  • 讲讲比较有代表性的项目
  • 授信数据从哪里来的
  • 你们贷款流程设计时有什么原则
  • 征信挂了怎么办 怎么优化(一天缓存)
  • 为什么要迁移表 迁移之后数据库压力就解决了吗
  • Redis 数据结构 应用场景 怎么解决并发访问 怎么解决数据一致性 用来缓存什么东西
  • Kafka消息积压怎么处理
  • 了解springboot吗 了解微服务吗
  • 了解分布式事务如何解决吗(二阶段提交 三阶段提交)
  • myisam和innodb的区别
  • b+树索引存储位置 覆盖索引 什么时候走索引比不走索引慢
  • 什么场景下需要用到分布式
  • 不断fullgc怎么处理
  • Jvm内存分布
  • 有什么想问我的吗

招联很奇怪 我投了差不多一周 某天周六突然打电话问我能不能面试 然后就当成面了 聊了有四十多分钟 后面就没有音讯了 感觉是刷kpi吧

微众一面

  • 讲讲几个项目 你们系统的作用
  • 遇到过你认为的难题
  • 开户阶段就只做了开户吗
  • 怎么协调开户和额度扣减 怎么解决
  • 分布式事务的解决方式
  • 避免出现一笔申请多次推送
  • 工作流出错后不能重复提交 没办法将推送放到后面吗
  • Java线程池的参数 核心线程最大线程 和tomcat线程池的区别
  • Bean的几种初始化方式 默认方式
  • mybatis怎么从一个mapper组装成一个类
  • Aop怎么实现的 有aop不生效的情况吗(独立事务不对)
  • 轮起怎么避免对外服务失败
  • Zk的作用 谁调用zk
  • oracle和mysql的区别
  • Mysql的索引 主键索引和非主键索引的区别
  • 授信编号如何生成的
  • 系统之间的调用通过消息队列吗
  • 你们基于tcp吗 http吗 用的什么http框架
  • 怎么使用多线程的
  • 产品场景很多,针对代码里面大量的ifelse 考虑过怎么优化
  • 单例模式使用过吗 有哪几种初始化方式
  • 什么时候索引失效 为什么这种情况会失效
  • 单索引和联合索引的区别 如何决定采用顺序
  • 查询一定时间段内的流水 如何建立索引
  • 平时有了解什么新技术吗
  • 对于新环境预计多久能上手
  • 有什么要问我的吗
  • 你们加班程度怎样 对于加班怎么看
  • 面试情况 如何考虑
  • 对于微众的了解

一面聊得比较久 差不多70分钟 过了一周了 才跟我说他们领导会联系我二面。。。反正现在还没开始 如果有后续我可以补上来。

微众二面

  • 简单自我介绍一下
  • 讲讲你负责的东西
  • 授信是怎么计算额度的
  • 你们就负责转发请求吗?
  • 调用第三方接口怎么处理报错的 有没有什么优化方法(异步、多线程)java有没有什么自带的获取结果的方法(future)异步调用如果超时了怎么办(不会了 timer)
  • 你们系统tps多少 每天调用开户次数多少 有多少成功开出来呢
  • java object有哪些方法(hashcode equals notify wait)
  • 你们的开发框架是怎么样的
  • Hashcode 和 equals有哪些区别呢 什么场景下使用呢
  • equals和compareto有什么区别
  • 重写一个对象的hashcode和equals怎么权衡 hashcode一定要重写吗
  • Hashmap的put操作是怎么做的 哈希操作是如何进行的呢
  • 单例模式有哪几种写法(非懒加载、懒加载)
  • 懒加载怎么避免并发问题呢(双重确认加锁)
  • 第一层确认的作用 第二层确认的作用
  • Mybatis什么情况下会sql注入呢
  • 你了解sql注入吗 能不能将一个具体的例子
  • 你们用的是什么数据库 了解mysql吗
  • Mysql的主键索引非主键索引什么区别
  • 什么时候非主键索引不需要回表呢(覆盖索引的时候)
  • 非主键索引什么时候失效
  • 非主键索引A B C,如果A范围查找,B还上索引吗(不会)
  • 你的专业是统计学 为什么想要做开发呢 计算机相关的知识是怎么学的
  • 平时有哪些兴趣爱好
  • 对技术了解如何
  • 现在的面试情况
  • 为什么想要跳槽
  • 有什么想要问我的

二面挂了 感觉在技术上还差了一丢丢 需要再积累一段时间

招银技术面

  • Stringbuffer Stringbuilder的区别
  • Mybatis一级缓存二级缓存的区别
  • springmvc常用的注解
  • Mysql两个引擎的区别
  • 有jvm调优经验吗 讲讲java内存模型
  • 了解微服务吗 讲讲你对微服务的理解
  • 了解springcloud吗 讲讲你对spirngcloud几个组件的理解
  • 讲讲简单工厂模式和抽象工厂模式
  • 讲讲认为比较重要的项目
  • 主要流程是怎么样子的
  • 说说你们系统的作用 整个交易路线是怎么样子
  • 第三方接口报错怎么办
  • 如果增加了很多第三方接口 怎么保证服务时间不增加 又保证用户体验 可以从技术和架构的角度讲讲
  • 你们怎么协同其他开发中心的进度的?一个需求拿来怎么确保上线时间
  • 觉得最重要的文档是什么?
  • 怎么确保接口文档正确高效
  • 你之前是做数据分析的 为什么现在做开发了
  • 你本科是统计学 那计算机基础有学习吗
  • 现在的offer情况

周日做了在线笔试题。。。后面就联系我在线面试 是三个有些年纪的面试官 因为他们问的ssm相关的 我没咋准备,不对 是根本没准备 所以答得不好 卒

腾讯一面

  • 第三方调起你们的服务是怎么认证的(appkey 证书)
  • 你能讲讲证书是什么吗
  • 额度数据从哪里来的 渠道怎么区分
  • Redis集群怎么部署的 一条写入什么时候可以当成提交了
  • 全部从节点都确认会有性能问题 怎么优化
  • 了解raft算法吗 它是怎么达到一致的
  • 灰度切换怎么做
  • 了解oracle怎么同步数据到redis吗
  • 了解java的哪些字符串对象 讲讲hashmap
  • springboot的启动流程
  • Mybatis的延迟加载 一二级缓存 $&[的区别
  • 了解docker吗 docker创建镜像什么命令
  • 回滚机制 推送的时候如果涉及多个渠道怎么办呢
  • 项目里面的难点 你负责的内容
  • 数据迁移怎么做的

一面的时候我是奔溃的 感觉腾讯问得会比较深一些 碰巧ssm、zk是我的软肋 虽然写在简历上 但是并不熟 加上之前的面试官都没问过我。。。 我进行到后面都想跟面试官说要不今天到这 但是后面居然过了 一面一个小时

腾讯二面

  • 做一道链表合并的题 能不能就地算法完成
  • Linux用得比较多的命令
  • Grep怎么高亮
  • linux去重命令
  • 怎么查出哪个进程占用了8080端口 部署在哪个路径下
  • 大学专业 为什么做开发 有学过计算机相关的知识吗
  • 了解进程 线程 协程吗
  • 内核态、用户态的区别
  • 了解常用的加密算法吗
  • 你们项目中有用到加密吗
  • MD5算法是什么加密算法 有公私钥吗
  • 随心贷有什么项目难度
  • 你们银行的服务是怎么控制调用的
    二面聊得比较简单 差不多40分钟 感觉面试官就是走个流程吧 二面卒

蚂蚁一面

  • 简单自我介绍一下以及讲讲你擅长的技术
  • 额度恢复扣减是怎么实现的 有了解吗
  • 标准贷款和额度贷款有什么区别
  • 贷款合约表里面有什么字段
  • 快贷里面有多个产品 那是怎么区分的 会不会出现一笔贷款对应多个贷款的情况
  • 第三方场景的准入是怎么做的 他们负责还是你们负责
  • Redis你们用来做什么呢
  • Redis为什么会比mysql快 从几个角度分析
  • Redis上的数据是拿来缓存呢还是就只放在redis上
  • 如何保证redis和数据库的一致性问题
  • 如果redis上三分钟有效期的临时数据在申请过程中过期了怎么办(看门狗)
  • 你们项目中有用到多线程吗
  • 你们有多少台机器 每天的访问量怎么样
  • 如果有很多并发的请求进来 可以怎么利用多线程优化(异步)如果线程队列满了呢?( 消息队列)

蚂蚁的面试官感觉挺有水平的 会问你擅长哪些技术 聊了差不多四十分钟 二十分钟项目 二十分钟技术 你答不上来也会引导你 是我这次面试体验里边最好的了 一面应该是过了 看面试官什么时候联系我二面 有后续的话我可以再更新

蚂蚁二面(十八分钟)
全程问项目。。。

不出意料 挂了 经验尚浅 同志仍需努力!

总结,最后再随便唠叨几点
1 我是裸辞的 就是提了离职才开始找工作的 对于那些很讨厌自己一个人待在家里的人非常不建议(比如我)但是其实也可以尝试一下 嘿嘿 毕竟也算比较新奇的体验 反正就是要考虑清楚啦
2 面试的时候最好从难度简单的开始 一开始就大厂 容易把自己搞自闭 而且浪费机会 就是循序渐进
3 面试后最好做一下记录 至少要复盘一下自己答得不好得 去弄明白 很大概率下个面试官还问。。。
4 面试其实也是个展现自我的过程 就是和面试官的沟通和交流也挺重要的 答不上来也没啥 但要让面试官知道你比较努力。。。(这一点面几家就会有感觉了)
5 社招和校招还是不太一样的 社招背景契合会更容易进一些 背景不契合,比如区块链那些都是一面卒 自动驾驶直接简历关都没过。。。 对自己的职业规划要有点B数 虽然也不一定会一直当打工人
6 就是要广撒网 这样才会心态平和 不会患得患失 如果很自闭 就休息休息 或者找朋友倾诉倾诉 然后继续战斗!
7 关于面经 其实我是在准备阶段 就是几个月前看了几篇 开始面试后一篇都没看过。。。这个仁者见仁 智者见智 不过我的面经还是可以看一看的 嘿嘿(觉得自己好有文采.jpg

最后的最后 祝大家可以拿到自己心仪的offer!!!

7.7更新 大家有问题可以评论区留言 我一天会看一两次 有可能回答的我就会尽量解答
7.10更新 更新了微众二面和蚂蚁二面 最终决定去平安啦 完结撒花!后续就不怎么会看帖子啦

更多模拟面试

全部评论

(21) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

热门推荐