22届春招实习试水之路汇总(前端+后端)

目录

    • 写在前面
    • 时间线记录
      • 第一批投递(后端)
      • 第二批投递(前端)
      • 第三批投递(前端+后端)
    • 面经
      • 5.29 搜狐前端实习一面(焦点)- 视频面45min - 口头offer被鸽
        • 自我介绍+项目相关
        • 计算机网络+数据结构
        • 前端知识
        • 算法题
        • 闲聊
        • 反问
        • 口头offer被鸽
      • 6.1 贝壳找房前端一面 - 视频面30min
        • 自我介绍+项目
        • 前端知识+计网
        • git知识
        • 算法题
        • 反问
      • 6.1 贝壳找房前端二面 - 视频面50min
        • 开放性问题+聊项目
        • 前端知识+计算机网络
        • 算法题
        • 反问
      • 6.3 贝壳找房hr面 - 视频面20min
      • 6.2 北京思特奇前端笔试+面试 - 线下面20min
        • 自我介绍+项目
        • 前端知识
        • 其他问题
        • 反问
      • 6.25 字节前端实习一面(抖音)- 牛客视频面60min
        • 自我介绍+项目相关
        • 计算机网络+操作系统
        • 前端知识
        • Git
        • 算法题
        • 反问
      • 7.9 科大讯飞后端面试 - 腾讯会议语音35min - 已offer

写在前面

本人22届软工本科,从去年年底开始慢慢准备笔试/面试。原本意向岗位是后端,后来觉得前端更有意思,就转投了前端,基本面的都是前端岗位。找春招实习的经历还是挺磕磕绊绊的,在此进行汇总记录。

时间线记录

第一批投递(后端)

4.3 投递(直接官网投递,无内推):

  • 华为通用软件工程师(数据通信产品线)
  • 网易互联网Java开发实习生(网易有道)
  • 美团Java后端开发实习生(基础研发平台)
  • 腾讯后端开发实习生(PCG)

4.7 华为笔试[已挂]

4.10 网易笔试[已挂]

4.11 美团笔试[已过]

4.16 投递(直接官网投递):

  • 字节跳动后端开发实习生(番茄小说)- 有内推码
  • 阿里巴巴Java后端研发实习生
  • 猿辅导服务器研发实习生

4.18 腾讯笔试[简历未被捞]

4.21 美团一面[已挂]

4.23 阿里笔试[已挂]

第二批投递(前端)

5.20投递(校园22届实习双选会):

  • 搜狐前端开发实习生
  • 贝壳找房前端开发实习生
  • 北京思特奇前端开发实习生
  • 中国电子系统前端开发实习

以上是有后续消息的,总共投了10家左右吧,其他暂无笔试/面试通知(也有可能错过了一两个电话)。

5.28 中国电子系统笔试[6.2已过-以为有了搜狐offer拒了面试]

5.29 搜狐一面[ 5.31口头offer - 6.3口头offer被鸽]

6.1 贝壳找房一面+二面[6.1已过]

6.2 思特奇线下笔试+面试[6.2已挂]

6.3 贝壳找房hr面[已挂]

第三批投递(前端+后端)

6.18 字节抖音前端内推投递

6.25 字节前端一面[已挂]

6.27 牛客投递

通过内推链接或邮箱投递:

  • 快手前端实习生(电商生态)
  • 蚂蚁金服前端实习生
  • 便利蜂前端实习生
  • 猫眼前端实习生

实习广场投递:

  • 网易有道前端实习生
  • 好未来前端实习生

(虽然都是通过联系内推投递,但可能是简历改得不好,基本上都石沉大海没有消息,除了便利蜂直接给我推了校招笔试的链接,唯一一个打电话联系我的是网易有道,但是错过了。)

7.6 便利蜂前端校招笔试

7.6 科大讯飞后端内推投递

7.9 科大讯飞后端面试[已offer]

面经

后端只面了两场,第一场基本没有什么参考价值,面试官知道我不会框架以后就没怎么问了。第二场是唯一拿到offer的科大讯飞的面试,也比较简单。面经主要以前端为主。

5.29 搜狐前端实习一面(焦点)- 视频面45min - 口头offer被鸽

这是我投递前端岗位的第一次面试,搜狐的面试官人特别好,居然说我基础知识掌握得还不错。base北京,部门是搜狐焦点,腾讯会议进行的视频面45min。

自我介绍+项目相关

项目只是简单地聊了聊一两句,没有问关于难点和亮点的问题。

计算机网络+数据结构

  1. 计算机网络的五层架构?每一层大概都做了些什么事情?
  2. HTTP和HTTPS两个协议的差别?SSL协议大概是一个什么东西呢?
  3. 数据结构学了吧?讲一下快速排序。

前端知识

  1. JS这块,对闭包有了解吗?
  2. 那原型和继承呢?
  3. 你有专门看过JS相关的书籍吗
  4. 那你是怎么去学习JS这门语言的呢
  5. JS有多少种基本数据类型?
  6. undefined和null有什么区别?
  7. CSS有了解吗?BFC知道吗?
  8. vue这块,有研究过它底层的一些东西吗?就是只使用了它提供的脚手架写的项目是吧?

算法题

不是力扣上的题,就只是特别基础的题目,感觉就是编程入门的时候的课堂练习那种。

  1. f(n) => 1+2+3+…+n,即输入n,输出1加到n的和,条件是不能使用循环和不能使用数学的求和公式(不能用乘除)。

    (递归)

  2. const arr=[x, y]; f(arr) =>[y, x] //x,y是数字或字符串。即将x和y的值互换,条件是不能开辟新的内存空间,即不能声明变量。

    (x=x+y,y=x-y,x=x-y)

闲聊

  1. 对自己未来职业上有什么规划呢?
  2. 在前端这一部分的话,近期你有在自己去学一些什么东西吗?
  3. 你是打算一直做前端还是之后会考虑转到其他技术岗位上?
  4. (不知道为什么突然又开始问我的web3D项目,感觉他对这个很感兴趣。。使用Babylon搭建3D场景,需要什么东西?就是说,在计算机里绘制出一个3D场景,需要通过Babylon去构建,那一个3D场景里面有一些什么元素呢?)
  5. 大概什么时间可以入职呢?

反问

  1. 部门和业务?搜狐焦点,房产的买卖互联网相关的服务。小程序,vue,react的开发工作。
  2. 新人的培养和实习生主要的工作?导师制,业务融入有一套流程,每两周沟通会。
  3. 点评面试表现?(在学校学习的知识基础还不错,很早之前学的东西,有印象、能记住,比较好。但是JS和CSS没有一个系统的学习方式,不要太依赖线上的博客和视频,推荐看看JS红宝书和CSS权威指南。要了解一些底层的东西。)
  4. 技术面一共两轮吗?只有一轮,后面就是hr面了。

口头offer被鸽

我还是挺想去搜狐的,hr5.31给了口头offer,问6.3(周四)能不能入职,我说6.3有事,6.4才能去,她说找人帮我代办入职。后来加了另一个hr微信,又说代办比较麻烦,6.10(下周四)再入职(只能每周四办入职)。结果,6.3和我说,因为我一周去三天太少,领导不批offer,让我6.4不用去了。感觉就是养鱼吧~

6.1 贝壳找房前端一面 - 视频面30min

贝壳首先是要做一个线上的测评,我是5.20线下投递,5.28做完测评当天就给我打电话约了一面时间,效率很高的一家公司!一面完过了十分钟就给我打电话让我接着二面,二面完过了十分钟又给我打电话约了6.3的hr面。贝壳的面试官人都很好!!

自我介绍+项目

  1. 你的项目用过哪些页面布局?比如说flex
  2. 项目用的是vue哪个版本?vue的双向绑定原理了解过吗?用vue-cli创建的项目是吗?
  3. 编译工具是webpack是嘛,用vue-cli创建完后,webpack各种loader了解过吗?比如说样式构建使用css-loader、style-loader,图片的话用url-loader。
  4. 项目里和后端接口交互用的什么做的?异步请求?ajax?
  5. 你们的项目用了什么组件库?

前端知识+计网

  1. 了解HTML5吗?简单说一下HTML的语义化标签
  2. 说一下CSS里的单位,比如说px、em、rem
  3. 了解过BFC吗?
  4. 输入url到页面显示发生了什么?
  5. 说说客户端拿到服务器返回的HTML信息之后的重绘和渲染的区别是什么?
  6. 谈谈JS的闭包
  7. JS的深拷贝和浅拷贝了解过吗?
  8. JS的前端的缓存cookie,section storage和local storage的区别?
  9. 了解过浏览器的同源策略吗?比如说在请求的时候跨域了,怎么解决这个跨域?

git知识

  1. 之前用过github?github里有自己写的项目吗还是只是用来收藏一些资料?
  2. 用过git命令吗?比如说克隆一个项目是用git clone还是用的工具?
  3. 比如说拉取一段代码,git pull然后后面是怎么写的?
  4. 了解过git pull和git rebase的区别吗?
  5. git flow工作流了解过吗?比如说3-5人开发的项目里,创建分支怎么规范?

算法题

  1. 用JS写一个冒泡排序

反问

  1. 部门和业务?
  2. 点评面试表现?(这里又问了我一个根据什么来定义自己想从事前端这个岗位的?)
  3. 建议的前端的学习方法?

6.1 贝壳找房前端二面 - 视频面50min

二面的面试官好会引导人思考,特别循循善诱!因为是科班出身,他问了我一些前端以外的软件开发过程的问题。我之前的面试都感觉面试官提问题都是东一榔头西一棒槌的,而这一面就感觉是把很多东西给串起来。我回答不出来的,他都会给我讲解引申一下,很有交流探讨的感觉。

开放性问题+聊项目

  1. 介绍一下学习经历包括一些在校期间参与的一些项目

  2. 对前端的理解

    你对前端的理解?你觉得前端在一个公司里面主要应该扮演一个什么样的角色?(面向终端使用者,注重交互流畅、用户体验)前端分几个部分,第一个部分是可视化,另一个部分是数据方面的,一些非业务数据的,比如一个购物网站,我们可能并不关注用户下单之后的动作,我们可能会关注用户下单之前的动作,你能大概理解前端在一个项目开发过程中的意义吗?以你的项目为例,研发人员是分为多少个角色,他们是怎么互相协作的?

  3. 前后端合作

    那前端和后端合作的过程中,你刚刚提到了前端先写好接口标准,给到后端开发,但你觉得这种合作方式有没有什么弊端呢?

    一般的企业里,一个前端要对3-4个后端,接口如果是前端来定的话,要求前端对业务非常熟悉,但大多数项目中,基本都是后端先了解业务以后,将接口文档给到前端以后,前端做mock,然后才开始做开发。所以一般情况下,标准是后端开发来定的。

  4. 测试

    你刚刚提到的衔接链里少了一个关键的部分是测试,那你对测试是怎么看呢?你觉得前端应该做哪些测试?QA了解吗?你觉得前端从代码和交互上都需要通过哪些测试以后才能上线?

  5. 单元测试

    我们一般的测试分两种,其中一种是代码测试,代码测试可能就是一段单元测试,那你之前了解过单元测试吗?大概是什么东西?定义方面的就可以。

    单元测试就是可能会去看某一个函数有没有成功,或看某一个页面有没有渲染成功。

  6. 自动化测试

    单元测试以外,还有一种是自动化测试,自动化测试就是比如说,前端涉及到的点击事件,人工测点击事件需要功夫,所以我们就需要有自动化测试来模拟操作,那你之前有没有了解过这种UI模拟的测试?或者说让你来做的话,你有什么思路?说一下思路就可以。

    因为咱们所有页面都是通过DOM结点组成的,你所有的操作实际上都是DOM结点,那我们既然要做一个自动化测试,就是一个模拟DOM操作的过程,那你觉得我们应该怎么模拟呢?比如现在一个表单提交,表单就是一个登录,有用户名有密码,然后再点击确定,这个操作作为一个测试单元,如果让你来做这个自动化测试的话你有什么思路?

    一个前端产品的上线,除了你刚才说的要从需求到开发,还要有测试。不需要太专业,但还是希望对这个项目有一个整体的把握,各个环节点做的程度不一样但至少要做到。

  7. webpack

    我看你还写了基于webpack构建的项目环境,那你首先解释一下什么是webpack,你用它做什么?

    webpack主要还是解决一个模块化编译的问题,比如处理一些css文件,一些静态文件,或者要把编译的东西进行拆包和打包。在webpack没有出现之前,JS是比较分散的。一般我们会把一堆JS打包成一个或多个,主要是为了一个编译的问题,webpack里面有很多loader,后续你可以了解一下。webpack里面有很多配置信息你们知道吧,你项目里面是拿过来直接用呢,还是加入了自己的一些自己配置信息?那你们webpack打出来的文件,是打成一个了还是打成多个了呢?

    比如在开发工作中,从10到20个JS文件,最好打包成一个文件,你觉得这是好还是不好?

    比如说一个系统,打成了一个JS和一个CSS,那么刚打开界面的时候就要把这个JS和CSS加载进来,如果说你把这个文件叫做1.js,你每一次打包都会产生一个1.js的文件,那它会产生一个什么样的不良问题?

    这个问题可能和缓存有关。比如版本1打出一个1.js,版本2也打出一个1.js,这两个1.js内容不一样,但名字不一样,当我发到线上的时候,可能因为缓存发生什么样的问题?(有的用户因为手机或电脑设置不一样,发了第二个版本以后,他还处在第一个版本,就是根本没更新到上面)

    所以webpack打包的时候就有一个设置,每一次打包的名字是不一样的,打一个和打多个的区别就出来了。如果一个项目特别大,就打出一个JS,它文件也会很大,这就涉及到前端加载效率的问题。如果打成多个呢,就有一个异步加载的过程,效率就比较平滑。

  8. 页面优化

    刚才我说的所有都是一个页面优化的问题,那除了我说的这些,你知道哪些常用的页面优化的方法?(减少HTTP的请求)怎么减少?

  9. HTTP状态码

    HTTP请求需要的类型比较多,涉及到很多状态、很多请求方式,比如说web socket听说过吗?HTTP状态码200和401?(200是请求成功,401是没有权限,500是服务器错误)

  10. node

    后端不只支持一个部门,导致数据接口不能像我们要求的一样。比如说首页我们要访问十个数据源,后端给我们提供了十个接口,后端这十个接口可能别人也在用,所以他不可能给你变成一个,那这样的话作为前端有什么解决方案吗?一下子加载这十个接口肯定是不行的,效率太低下,产生错误的几率、用户打开的速度肯定都会受影响。那你有什么处理的思路?

    如果后端能帮你解决这个问题,你要提一个什么方案?(变成一个)在后端没有办法完成的情况下,前端有一个工具可以实现,node或者dnode。node可以限制或者合并一些访问,推荐你看一些公众号上的关于node的实践。

  11. vue

    项目为什么用vue,怎么选的框架?在你之前没有学vue之前是怎么写的js?那你觉得vue解决了一个什么问题,为什么大多数人用vue这种框架写而不是用原生JS去写?

    vue是数据驱动的,页面的改变和渲染是通过接口数据、返回数据不一样导致的。那你有没有思考过为什么是以数据驱动去做渲染,而不是事件驱动?

    之前前端用的jQuery有了解过吗?它就是事件驱动的。

    无论是vue还是react,里面都有一个子组件和父组件,你理解组件这个概念吗?

    比如一个input输入框,有时候我希望输入的是纯数字,有时候必须是身份证号,有时候希望输入的是手机号,说明input就有很多的可能性。如果input具备了以上的所有属性,它的属性就变广了,那前端是怎么知道它有时候输入的是身份证号,有时候是手机号?就是把一个input输入框变得更有可能性,支持更多的业务,把它封装起来,它就可以称作组件。input是表单里面的一个组成部分,那表单就是父组件,input就是子组件。

    你们这个项目里面,有涉及到表单验证的方面吧?如果要保证填入的是身份证号,应该怎么做?(正则表达式),正则表达式你了解多少?

  12. 项目中遇到过的最难的问题是什么,怎么解决的?

前端知识+计算机网络

  1. JS里的栈和堆的区别?
  2. ES6里的基础数据类型?(新增Symbol)
  3. JS里的深拷贝和浅拷贝?
  4. 三次握手和四次挥手的过程?

算法题

  1. 给定一个字符串chas[],其中只含有字母字符和“*”字符,现在想把所有“*”全部挪到chas的左边,字母字符移到chas的右边。完成调整函数。

    示例:把’o*f*f*e*r*‘变成’*****offer’

反问

  1. 点评面试表现(整体还可以,有些地方还需要加强,比如对自己简历上的项目要非常熟练才行)

6.3 贝壳找房hr面 - 视频面20min

基本上都是在闲聊+确认信息。很轻松的氛围,一点儿也不紧张。

  1. 自我介绍
  2. 你们主要学了哪个方面的知识你觉得比较匹配这个岗位?
  3. 为什么选择前端作为你未来的职业方向?
  4. 有计划考研吗?为什么呢?
  5. 是从什么时候对前端这个方向有了解并感兴趣的呢?
  6. 你一般通过什么渠道自学?
  7. 介绍一下你的项目?都是什么背景?主要是谁来使用?
  8. 你自己觉得大学期间做的最有成就感的事情是什么?
  9. 有没有比较挫败的事情?
  10. 你们是大一之后才选的专业还是入学之前选的专业?你喜欢现在读的这个专业吗?
  11. 自己有没有想过未来大概的规划?
  12. 对于你之后想做的行业还有企业类型有没有偏好?为什么想去互联网行业?
  13. 互联网行业,现在社会舆论都是说比如加班或者996,比较严重内卷,你怎么看待这个情况?
  14. 为什么投递贝壳?之前有了解过是干什么的吗?
  15. 你现在手头还有其他的offer吗?是哪家公司呢?你是更喜欢这种偏社交行业的还是说像我们这样偏b端客户的呢?
  16. 大概能实习多久?到岗时间最快是多久?所以要7月底才能开始暑期实习?
  17. 未来打算去哪个城市?
  18. 反问:工作氛围、企业文化?大概多久有结果?

6.2 北京思特奇前端笔试+面试 - 线下面20min

基本是在聊项目和前端知识,没有问算法题。

自我介绍+项目

  1. 聊一下项目里vue使用?vue里面的路由?
  2. 你这两个项目,你选一个你最熟悉的,参与度比较高的项目,介绍一下你在这里面负责的主要工作
  3. 这里面有没有什么你觉得比较复杂的工作?或者是你有没有遇到一些问题,怎么解决的?
  4. 你现在要实现一个可编辑的表格,每个单元格是有id的,我想拿这个单元格里的文本,用js去写怎么写呢?
  5. 你的项目中和后端的交互是通过什么来实现的?ajax有了解过吗?

前端知识

  1. 原生的JS和CSS了解吗?简单介绍一下CSS样式覆盖的规则?有个专业名词叫什么?(就近原则)
  2. 重绘和回流
  3. 精灵图接触过吗?

其他问题

  1. 求职意向是前端工程师?你的专业是软件工程?前端开发是你们必修的课程吗?能说一下为什么去的是软件工程但选的是前端开发吗?就是为什么学的是软件工程但求职要往自己自学的一个前端的方面去找工作?
  2. 平常在项目当中或者学习当中遇到自己不熟悉的或者没有接触过的技术,一般是怎么解决这个问题的呢?
  3. 有看什么专业的书籍呢?
  4. 你的求职意向是前端开发工程师,你在这块自己做过什么相关工作?愿意更多地加入到项目里面呢,还是自己下功夫对基础知识有个了解?就是为前端工作做过什么前期准备?

反问

  1. 公司的业务以及技术栈?
  2. 对于前端学习的建议?(前端基础知识+项目实践)

出来之后hr进去和面试官交流,然后hr就告诉我面试不通过,让我回去了。他们这种中小型公司比较偏好那种拿来就用的实习生,估计看我还是缺乏基础知识加项目实践的经验就挂了。

6.25 字节前端实习一面(抖音)- 牛客视频面60min

内推我的小哥人很好,帮忙修改简历,给我前端学习的建议。组内直招的面试应该是比较简单的。虽然我临时加急,头悬梁锥刺股学了一周前端,但终究是底蕴不足、根基不稳,让面试官见笑了。其实这场面试的表现,我自认相比起面搜狐、贝壳都有些许进步,但对于字节这样的大厂,抖音这样的核心部门,还是远远远远不够的。

每场面试我都录了音,但这场的录音应该是被我不小心删了,只能凭着回忆写一下问的问题。面试官基本上是照着我的简历一行一行地问的,不放过任何一个细节。然而我投递之前按照建议修改了简历,没信心说对简历上提及的所有内容都了然于心,于是造成了惨挂的后果。

自我介绍+项目相关

  1. 你提到你学过web前端开发技术这门课程,那这门课程主要是讲什么的呢?
  2. 你是怎么自学前端的呢?有关注比较前沿的前端技术吗?
  3. 我看了一下你的第二个web3D的项目,这个项目登录模块是怎么实现的呢?
  4. 第二个项目,上传文件这个部分是怎么实现的呢?(我感觉很多面试官都对我的web3D项目很感兴趣,但是这个项目我没有做很多东西,重要的部分也不是我实现的,完全说不出个所以然,后来我就把这个项目去掉了)
  5. 第一个项目,你们登录的用户信息是怎么保存的呢?cookie还是token?
  6. 第一个项目,你提到你解决了布局错乱的问题,具体是什么问题,怎么解决的呢?
  7. 你们用到了webpack,说下webpack是什么,有什么优点?用到了什么loader?

计算机网络+操作系统

  1. 你学过计算机网络吧,说说七层模型每层分别是什么?
  2. 你简历上写的了解一些网络协议。TCP是哪一层的?这一层还有什么协议?TCP和UDP的区别是什么?什么情况下用到TCP,什么情况下用到UDP,举一些例子?
  3. HTTP是哪一层的,你了解HTTP和HTTPS的区别吗?SSL/TLS是什么,起了什么作用,怎么保证安全的?
  4. HTTP1.0和2.0的区别了解吗?
  5. 你写了解浏览器的基本工作原理,那说说在浏览器从输入url到页面显示的过程中发生了什么?
  6. 进程和线程有什么区别?
  7. 说说浏览器的多进程

前端知识

  1. JavaScript有哪些数据类型?
  2. 说说JavaScript里的堆和栈
  3. 下面这个str1,str2,str3如果用===来判断,是true还是false?
var str1 = 'abc';
var str2 = String('abc')
var str3 = new String('abc')
  1. css的盒子模型说一下?box-sizing有哪些?
  2. 说说原型链。实例和类的原型链关系,Function和Object的原型链关系?

前端似乎还问了一些,但我不太记得了。

Git

  1. 你说用到过git,有哪些命令?
  2. merge和rebase的区别是什么?

算法题

  1. 为Array实现一个Reader

    为Array实现一个Reader,通过接口getReader获取,Reader有一个接口read(n)

  • 每次调用会按顺序读取数组的n(默认为1)个元素

  • 调用不会改变数组本身的值

  • 若数组已全部读取完则返回空数组

  • 若传入的参数不为正整数则抛出异常

interface Reader {
     
    read: (s: any) => any[],
}

Array.prototype.getReader = function() {
     
    // 在这里写答案
} 
// example 
const arr = [1, 2, 3, 4, 5, 6]; 
const reader = arr.getReader();
console.log(reader.read('1')); // Error
console.log(reader.read(-1)); // Error
console.log(reader.read(1.5)); // Error
console.log(reader.read()); // [1]
console.log(reader.read(1)); // [2]
console.log(reader.read(2)); // [3, 4]
console.log(reader.read(3)); // [5, 6]
console.log(reader.read()); // [] 
console.log(arr); // [1, 2, 3, 4, 5, 6]
  1. JS实现array_chunk函数

    将一个数组分割成多个数组,其中每个数组的单元数目由 length 决定。最后一个数组的单元数目可能会少于 length 个。

    示例:

    const a = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'];

    chunk(a, 4);

    结果:

    [['a', 'b', 'c', 'd'],['e', 'f', 'g', 'h']]

反问

  1. 你们这边的业务是?可以介绍一下吗(抖音xxxx相关,你之后有机会来的话就知道了)
  2. 点评面试表现。(他反问:你觉得你表现得怎么样?我说:就一般吧。他说:我问的都是你简历上写的,你再熟悉一下你简历上的内容吧)
  3. 可以评价一下你们这边的工作氛围,或者说说你们的企业文化吗?(他说:这些问题你和hr交流吧。)(呃。。。)

7.9 科大讯飞后端面试 - 腾讯会议语音35min - 已offer

舍友在科大讯飞找了实习,base北京,业务主要是智慧医疗。刚好组里有个实习生没来,就有岗位空缺。这个岗位是做后端的,让我来试一下。之后部门也可能开前端线,如果有机会的话希望能转到前端吧。

  1. 自我介绍(说了比较擅长java)
  2. java相关的项目?(因为之前一直在准备前端面试,java项目虽然做过,但临时面后端没有准备)
  3. 正则表达式有用过吗?
  4. 有刷力扣吗?你觉得你的解题能力之类怎么样呢?比如说做一道题平均要多久?
  5. 设计模式这一方面你了解的是什么?(创建型、结构型、行为型,分别举了几个例子)具体的你有实现过吗?比如说工厂模式。没有实际在代码里用过是吧,那你用过别的吗?(单例模式)说一下具体的实现。(说了线程不安全的)有没有了解过更复杂的怎么实现呢?(双重检查锁)
  6. 数据结构这块,哈希表你有了解过吗?如果有哈希冲突怎么解决呢?(链地址和开发地址法)
  7. 面向对象你了解吗?说一下基本概念和重要特性。java和c++的面向对象有什么异同?(不知道有什么区别。。)你们项目或者工程里面有用到面向对象?
  8. java垃圾回收有了解过吗?(这里不太记得了,只说了引用计数法)垃圾回收是一个个回收还是隔一段时间回收?
  9. socket通信有了解吗?
  10. 数据库方面,除了mysql还用过别的吗?比如说redis。有没有考虑过为什么用这个而不用mysql?就是你们是怎么选择的呢?(这里我说到了我们小学期正在做的项目,没有写在简历上的)
  11. git是怎么使用的?是进行团队协作的吗?和别人协作,共同管理一个仓库有用过吗?产生冲突的时候怎么解决?比如说,昨天你修改完代码提交了,另一个人基于你的代码也进行了修改提交,你今天工作的时候发现有冲突,你处理的流程是什么?(先pull拉下来,解决冲突,然后push)你们用过分支控制吗?就是master分支以外的其他分支,你这个文件在这个分支上改了,你要提回到master上,要怎么做?(merge或rebase)那你们一般什么时候会切分支使用呢?
  12. 你们平时有做单元测试之类的吗?
  13. 你们做项目一般是什么流程,你刚刚提到了先做需求分析之类的。
  14. 开始聊小学期做的项目,不过没有怎么深挖。比如怎么分工的,做多长时间,你认为老师最关注的部分是什么?没有数据怎么做的个性化推荐?
  15. 闲聊。打算考研吗?机器学习相关的有了解吗?线代、概率论这些你学得怎么样?你平时有看一些开源项目或者博客吗?
  16. 反问。去到以后要做什么工作呢?(业务开发类型的,看你的意愿)

面了好久总算有个offer了,虽然岗位不是特别匹配,待遇感觉也比较一般,转正率不高,但听说部门氛围很好。7.20就入职,接下来打算一边暑期实习一边准备前端秋招了~

你可能感兴趣的:(前端,面经,面试,java,前端,javascript,css)