首页 > 两年社招后端开发面经
头像
人为
编辑于 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小时
技术(软件)/信息技术类
查看全部

热门推荐