SAP电话面试总结(2018.11.26)

  1. 首先简单自我介绍一下,从自己的学习历程,项目经历以及去公司实习之后想做什么事情这几方面简单介绍自己

    我学习前端一年时间,从最开始的CSS切图到之后能用js写简单交互,之后学习了jquery以及vue,在整个一年的学习过程中因为是软件工程专业的学生,所以学习过计网,操作系统,数据库,数据结构课程,以上方面都有所了解,最近是在做canvas相关项目。想去公司实习,感受公司的氛围,感受最真实的发开环境,然后加强自己技术。

  2. 看到你绩点是3.2,那你应该各科成绩都在80以上吧,你数据库之类的课程学习之余,有没有深入再了解过

    我看过一点书,比如《SQL必知必会》,但是没有做过项目。其实这里可以写一点自己关于服务器方面的学习,比如部署项目,申请域名,分配CNAME

  3. 说一下左连接和右连接

    因为我太久没有学习了,有点忘记了,我记得是跟数据库的两个表的关系有关。当时确实没反应过来,之后查了一下,具体如下

    • 什么是连接,连接就是查询的信息在不同的表上,所以select时候需要join,这样就会在同一个表中展示不同表的内容。根据所需信息,这种连接分为内连接,左连接(左外连接),右连接(右外连接),全连接(全外连接)
    • 内连接,语句select * from a_table a inner join b_table bon a.a_id = b.b_id;表如下图所示

    • 左连接,语句select * from a_table a left join b_table bon a.a_id = b.b_id;,最终结果如下图所示

    • 右连接,语句select * from a_table a right outer join b_table b on a.a_id = b.b_id;,最终结果如下图所示

    • 全连接,MySQL目前不支持此种方式,可以用其他方式替代解决

    • 总结:左连接就是左表的记录将会全部表示出来,而右表只会显示符合搜索条件的记录,右表记录不足的地方均为NULL,右连接就是左表只会显示符合搜索条件的记录,而右表的记录将会全部表示出来。左表记录不足的地方均为NULL,内连接就是组合两个表中的记录,返回关联字段相符的记录。

  4. 说一个老生常谈的问题,当你在浏览器中输入一个url之后,会发生什么事情,从你了解的计网方面的知识回答

    具体内容可查看博客从输入url到页面加载完成发生了什么?——前端角度以下为精简内容

    • 浏览器查找当前URL是否存在缓存,并且比较缓存是否过期
    • DNS解析URL对应的IP
    • 根据IP建立TCP连接(三次握手)
    • http发起请求
    • 服务器处理请求,浏览器接收http响应
    • 渲染页面,构建DOM
    • 关闭TCP连接(四次挥手)

      整个流程如下图所示:

      其中有几个点需要注意:

    • TCP三次握手:

    • HTTP请求报文header信息

    • 几种状态码的含义:

    • 四次挥手的过程:

  5. 谈一下你的微信小程序的项目,说一下这个项目做的是什么,实现什么需求,你在其中做了什么事情

    我们做的微信小程序就是一个跑腿的平台,在上面可以发布订单,就会有其他人去接收订单,然后为用户实现跑腿的服务,这些服务包括送文件,送外卖,都是在校园内的跑腿业务,然后其中有三个主要功能就是发送订单,接收订单,个人信息管理,在接收订单页面可点击查看订单详情,在发送订单也只有一个form表单,在个人信息页中有自己的用户名,密码,收货地址,以及自己历史订单的查询。一个比较亮点的地方就是用户的订单都是有计时的,超过五分钟即为失效,需要提醒用户,因此在前端做了轮训。

  6. 在你们微信小程序里面,你既然做到了轮训,但是如果用户退出小程序,你如何提醒用户的

    需要后端的配合完成,后端会定时更新订单状态,前端需要做的就是在用户一进到页面,就去拉去订单的信息,一旦查询订单失效,就会提醒用户

  7. 微信小程序里面你是否考虑过性能优化的问题,比如缓存机制,你想怎么实现

    当时还没有什么想法

  8. 你的动漫素材收集系统这个项目,简单介绍一下

    这是一个简单带有登录注册的主要为搜索功能的系统,用于搜索动漫素材,其中可以点开查看大图,其中用到canvas方面的知识

  9. vue的生命周期

    vue不怎么了解,只看过文档