我把最近的一场 Rails 面试录成了视频,分享给大家看看,欢迎交流。
这种很基本的问题很容易灯下黑,不如去 Github 里面看写过的项目或者直接用 hackerrank 笔试,面试主要还是问一些问题的解决思路和针对简历鉴别真伪
即使是面试初级开发,面试也有点水。要是我,每一个点延伸下去都能把小伙子面懵逼。还有 cookie、session 的部分面试官的表述是有问题的,小伙子明显被带懵了。只是 seesion_id 会存储在客户端 coookie 里,seesion 本身是存在服务器端的。面试这部分问题,怎么也得问一下,cookie 和 session 是怎么做到可以验证用户是否登录的。这个问题才是核心。seesion 的存储也得好好问问。为什么 Rails 默认使用 file 存储?其他的存储方案有哪些?多台服务器做负载均衡的时候用 file 存储是否合适?如果不合适,需要用什么存储方案?还有,如果在微信小程序、手机客户端等没有 cookie 的场景下,怎么解决用户权限验证的问题?这时候什么 jwt、oAuth、加解密啊什么乱七八糟的都可以问一问了。别的什么 vue、数据库等领域可以问的更多、更深,一年经验的小伙子就不要难为人家了。
session 的存储 Rails 默认就是存在 cookie 的,不只是 session_id, 包括所有的 session 内容也是经过加密后存在 cookie 里的。默认 file 存储那是 rails 2 时代的事情了吧。
赶紧 Google 了一下,看了几篇文章后,你说的对。我跟缓存的存储方式弄混了。我原来理解 cookie-based session store 是和 redis session store 一样,不仅 cookie 存 session 信息,同时服务器端也要查询 session 存不存在。没想到 cookie-based session store 直接存的信息被加密后可以防止被篡改,不需要服务器端存一份数据来验证。看来是我想多了。
有没有小伙伴们在观望深圳的工作机会?我司在招 ruby&rails,有兴趣了解的可以直接发简历到我邮箱哈:[email protected] 香港公司,行业前 10,Fintech 行业。