优酷面试面经(1面)

6.27北京时间上午10点1面

简单自我介绍,项目介绍

-----------------------------开始问些简单八股(面试题精选)--------------------------

1. session 和 cookie 有什么区别?

  • 由于HTTP协议是无状态的协议,所以服务端需要记录用户的状态时,就需要用某种机制来识具体的用户,这个机制就是Session.典型的场景比如购物车,当你点击下单按钮时,由于HTTP协议无状态,所以并不知道是哪个用户操作的,所以服务端要为特定的用户创建了特定的Session,用用于标识这个用户,并且跟踪用户,这样才知道购物车里面有几本书。这个Session是保存在服务端的,有一个唯一标识。在服务端保存Session的方法很多,内存、数据库、文件都有。集群的时候也要考虑Session的转移,在大型的网站,一般会有专门的Session服务器集群,用来保存用户会话,这个时候 Session 信息都是放在内存的,使用一些缓存服务比如Memcached之类的来放 Session。
  • 思考一下服务端如何识别特定的客户?这个时候Cookie就登场了。每次HTTP请求的时候,客户端都会发送相应的Cookie信息到服务端。实际上大多数的应用都是用 Cookie 来实现Session跟踪的,第一次创建Session的时候,服务端会在HTTP协议中告诉客户端,需要在 Cookie 里面记录一个Session ID,以后每次请求把这个会话ID发送到服务器,我就知道你是谁了。有人问,如果客户端的浏览器禁用了 Cookie 怎么办?一般这种情况下,会使用一种叫做URL重写的技术来进行会话跟踪,即每次HTTP交互,URL后面都会被附加上一个诸如 sid=xxxxx 这样的参数,服务端据此来识别用户。
  • Cookie其实还可以用在一些方便用户的场景下,设想你某次登陆过一个网站,下次登录的时候不想再次输入账号了,怎么办?这个信息可以写到Cookie里面,访问网站的时候,网站页面的脚本可以读取这个信息,就自动帮你把用户名给填了,能够方便一下用户。这也是Cookie名称的由来,给用户的一点甜头。所以,总结一下:Session是在服务端保存的一个数据结构,用来跟踪用户的状态,这个数据可以保存在集群、数据库、文件中;Cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现Session的一种方式。

2. 说一下 session 的工作原理?

其实session是一个存在服务器上的类似于一个散列表格(效率高)的文件。里面存有我们需要的信息,在我们需要用的时候可以从里面取出来。类似于一个大号的map吧,里面的键存储的是用户的sessionid,用户向服务器发送请求的时候会带上这个sessionid。这时就可以从中取出对应的值了。

3. 如果客户端禁止 cookie 能实现 session 还能用吗?

Cookie与 Session,一般认为是两个独立的东西,Session采用的是在服务器端保持状态的方案,而Cookie采用的是在客户端保持状态的方案。但为什么禁用Cookie就不能得到Session呢?因为Session是用Session ID来确定当前对话所对应的服务器Session,而Session ID是通过Cookie来传递的,禁用Cookie相当于失去了Session ID,也就得不到Session了。

假定用户关闭Cookie的情况下使用Session,其实现途径有以下几种:

  1. 设置php.ini配置文件中的“session.use_trans_sid = 1”,或者编译时打开打开了“--enable-trans-sid”选项,让PHP自动跨页传递Session ID。
  2. 手动通过URL传值、隐藏表单传递Session ID。
  3. 用文件、数据库等形式保存Session ID,在跨页过程中手动调用。

------------------------------------over----------------------------------------------

#软件开发笔面经#
全部评论
你好,这个面了多久呀,有手撕吗
点赞 回复 分享
发布于 2024-10-10 22:34 广东

相关推荐

不愿透露姓名的神秘牛友
05-23 22:07
点赞 评论 收藏
分享
05-28 15:31
四川大学 Java
点赞 评论 收藏
分享
05-26 14:53
门头沟学院 C++
求职岗位:机器人开发工程师/规划控制/导航定位(岗位少之又少,就算有岗基本上也是简历直接被挂);嵌入式软件开发工程师。暑期实习总共面了五家(海投了二三十家,只有五家给面试):荣耀(嵌入式)、美团(机器人控制算法)、华为(AI工程师)、卓驭(嵌入式中间件)、海康威视(嵌入式软件),最终拿到了两家offer。荣耀(已挂):4.7 投递4.16 笔试4.23 一面:40min,主要就是项目,会结合项目问一些八股4.27 二面:15min,就是hr面4.28 结束美团(已挂):timeline忘了,一面问了不到一个小时,问的都是关于项目的东西,最后做了一个easy的leetcode原题,后续就挂了。(太可惜了,感觉好好准备准备控制算法有机会二面的)华为(已oc):免机试4.29 线下面试:一天面完专业面+业务主管面。专业面:45min,项目+简单八股。最后会在a4纸上手撕一道算法题(挺简单的,大概就是lc的简单-中等难度)业务主管面:30min,生活中遇到的难题,为什么选择华为,职业规划,...4.30 面试通过(符合1145定律),开始泡池子。5.15 oc卓驭(流程中):卓驭就一面,类似于技术面+hr面(30min):项目+基础八股,素质类的问题:什么时候入职,实习几个月,...海康(offer):笔试:挺简单的,选择+算法5.7 一面(40min):项目+项目八股(挖的比较深,问到答不出为止)5.12 二面(40min):hr面,个人爱好,发展方向,有无对象,...5.22 座谈会,当晚offer
点赞 评论 收藏
分享
从二月初开始刷力扣准备实习,三月初开始投递,奋斗三个月最终只拿到灵犀互娱、面壁智能和几个小厂的offer。OPPO     一面挂美团    简历挂快手    HR面后因为到岗时间排序挂美的    终面评估携程    简历挂小红书     简历挂腾讯    面了八次,三个二面挂两个一面挂作业帮     投递无响应虾皮    投递无响应饿了么    简历挂淘天    简历挂蔚来    简历挂理想    评估中,应该没有录用意向小米    排序挂蚂蚁    二面流程中京东    投递无响应B站    简历挂滴滴    简历挂华为    笔试挂阿里云    简历挂拼多多    简历筛选360    简历筛选阿里国际    简历挂阿里智能信息    一面挂阿里控股    简历挂百度    投递无响应字节    简历挂58同城    简历筛选海康威视    简历筛选网易游戏    简历筛选得物    简历筛选灵犀互娱    oc高德打车    简历挂阿里大文娱主动终止盒马    简历筛选飞猪    简历筛选顺丰    简历筛选找的一般是大模型应用开发岗,本2硕9,无论文无实习,最后准备去灵犀了,有几点想拿出来跟大家交流的。1. 尽早准备,项目和leetcode应该在三月开始投递时已经达到面试水平,当然项目可以稍微差点因为面试过程中可以进行修改后再进行后面的面试。2. 论文和实习在找暑期之前最好有一个,发不了论文就尝试去刷一段日常,反之则发个小论文。3. HR面之前甚至到HR面都可以跟面试官说能够立即到岗,因为今年找下来的感觉,到岗时间是一个很重要的因素。4. 对于不能复活的公司如淘天、美团等,可以尝试等到中期再投递,否则面完一段时间面试水平上来后会没有面试机会。
点赞 评论 收藏
分享
评论
3
4
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务