字节跳动一面凉经

面试方向

岗位是后端开发实习生——番茄小说。职位JD没写什么,想要准备还得是广撒网。

我当时的基本情况

正在一个技术岗位实习,一个微服务项目,为了提升自己,在在线简历上面写了一个自己简单玩玩的ORM框架,手里就只有这些筹码。

面经部分

自我介绍

这是个基本流程了。本人第一次面试大厂异常紧张,说起来也就前半个小时

实习经历

基本上是对着简历上说的这些东西进行提问。这部分基本是对我说的东西的提问,可以跳过。

  1. 为公司的代码发现了哪些问题?发现了公司系统的什么问题?
  2. 开发了一些什么工具?
  3. 了解了什么代码整洁之道?了解了自己原来代码上的哪些不足?
  4. python用了哪些库?

项目经历

有点记不清了,大致记得问过这几个。总体体现为对着你的简历上写的你做过的东西一条一条问,那应对的方式就应该是你自己提前就应该了解自己写的东西会被问到什么,自己是否真的了解答案。你写了SQL优化,就应该会SQL优化,自然就应该想到索引,那么索引相关的知识例如索引类型、不同索引的优缺点、最左匹配、索引失效等等,不问是人家的事,不会是你自己的毛病。

  1. 如何让你的项目的代码性能更高的
  2. 说你使用了线程池,哪些接口使用了,怎么使用的,为什么提高了性能
  3. 授权怎么做的
  4. 做了哪些SQL优化
  5. (上一个问题我提到了索引)介绍一下索引,索引怎么提高性能,B+数比B-树好哪了
  6. 接着问了索引失效(这块开始从我回答的问题中挑关键字一直递归往下问,给我弄的很紧张,我居然只是顺着项目经历往下答,只说了我遇到过的几个情况,我记得没错的话只说了三四个情况,连最左匹配都没说,答后面问题的时候反应过来了,那就更紧张了,朋友们千万要平稳心态,不要把这些连环问题当成一个问题)
  7. mybatis框架都为我们做了些什么(这完全是因为我在简历上写不该写的东西)
  8. 你的ORM框架都做了些什么

其他问题

  1. 了解哪些http的响应码
  2. 进程线程区别
  3. 线程具体共享了一些什么
  4. 进程通信有什么方式
  5. 又问了下管道方式
  6. 浏览器输入一个网址,之后都会发生什么
  7. (上一个问题没说全,于是又问)那服务器端又会具体做些什么
  8. 网络的5层模型,请求怎么一层层发出去的,或者说每一层什么作用(最生气的就是这个答得乱七八糟)

算法题

算法题非常简单。给你一个URL(比如说是www.baidu.com),让你原地反转(反转完是这样的结构com.baidu.www这样的格式),注意是原地的算法。

反问环节

感觉会挂,也没咋问,只知道要再接再厉了。同志们这块可以多搜集一些信息去了解一下可以问些什么。

总结

紧张不是理由,那只是没有充分的准备。其实问的问题个保个都不是很难,做了这些项目,这些就算是应知应会的东西。没答好有两点原因,第一个是准备不够充分,第二个是平时就不注意基础原理。紧张根本不是排得上号的理由。这些问题在只是把“把功能实现出来”的时候似乎作用不大,等到了要深究的时候,需要用这些东西去解决问题、debug的时候手上就没有家伙,很多类似于索引的知识对实际应用都具有指导性的意义,千万要注意学习。

By the way

第一次写,更像个随笔,前两天有点忙没有及时写,现在也不是记得很清楚,只能给每个阶段问的东西做个总结,了解问的人大概是用什么思路什么方向在给我提问题,下次争取能及时的复盘。

posted on 2024-03-27 23:38  pidanhub  阅读(6)  评论(0编辑  收藏  举报