精华内容
下载资源
问答
  • 一方面因为这几天工作忙,占了写作的时间。另一方面是在准备这篇文章各种素材,今年是最难求职年,我希望通过这篇文章能帮大家提高求职成功率。这篇文章分为简历篇、面试篇、谈...写简历看似简单,想好实则不容...

    点击上方码农沉思录,选择“设为星标”

    优质文章,及时送达

    读者大大们好,好几天没更新了。一方面因为这几天工作忙,占了写作的时间。另一方面是在准备这篇文章各种素材,今年是最难求职年,我希望通过这篇文章能帮大家提高求职成功率。

    这篇文章分为简历篇、面试篇、谈薪酬篇,包括了找工作过程中各个环节的技巧和防坑指南。

    1. 简历篇

    如果把自己看成一个产品,那么简历就是说明书。

    写简历看似简单,想写好实则不容易。一份好的简历能帮你在一堆简历中脱颖而出。

    以前写过一篇写简历技巧的文章,为了方便新读者,这次是把那篇文章的精华浓缩了一下,又补充了点新内容。看过之前文章的老读者可以快速浏览这部分。

    1.1 个人照片

    关于简历里放不放照片的争论,从来就没停过。虽然程序员不是靠脸吃饭,但我还倾向于放照片。

    通常我在看简历的时候,如果看到一个小伙子的照片很精神,我可能就会想:他写的代码八成会很整洁吧。

    没错,照片是别人对你的第一印象,正常人都喜欢美的东西,一张让人看着舒服、甚至是眼前一亮的照片,能增加别人对你的好感。

    所以我个人建议,只要你长得对得起观众,就可以在简历里放照片,可以适当美颜一下,但是别搞成了“照骗”。

    1.2 基本信息

    个人基本信息,就是姓名、学历、邮箱、电话等,这部分正常写就好了,我只提醒大家别漏了以下几个面试官眼中的加分项。

    • 一般人只在个人信息里写学历,不写毕业院校。如果你的学校名气大,你可以在这部分写上毕业院校。
    • 如果你有一个和岗位相关的的博客、Github、公众号,别犹豫,也写在这里,能显得你爱学习、爱总结分享。
    • 再说一个技巧,拿公众号举个例子,如果你比较高产,在写了公众号名称之后,加一句说明,例如:50 篇原创技术文章。别小看这句说明,能锦上添花。

    1.3 自我评价

    自我评价一定要花时间认真写!

    这是对你自己的一个全方位的说明,既是重新认识自己,又可以让对方知道你的长处、目标、价值观。而且你也不白写,以后面试过程中的自我介绍也能用得上。

    我看到大部分的自我评价基本是这样“为人吃苦耐劳,责任心强,工作踏实努力,学习能力强,有团队合作精神……balabalabala”。

    哎,我真怀疑这是在网上搜了搜,然后把这些词又组合了一遍。看这种文字真是提不起兴趣,没啥说服力,谁都会这么写。你就不能多来点例子、数字?

    看几个正面句子:

    • 7 年 Java 开发经验,5 年互联网行业经验,自认达到高级工程师的水平,希望以后能成长为架构师。(有目标、规划)
    • 敏建开发的忠实粉丝,单元测试驱动开发的实践者,会主动重构代码,有代码洁癖。(有良好的编码习惯)
    • 爱看技术书籍,一年看 10 本书左右,最近在看《领域驱动设计》、《企业应用架构模式》;爱学习,今年已经在极客时间上完成 5 门付费课程。(爱看书、学习)
    • 2 年团队管理经验,团队规模 15 人,团队气氛和谐,成员离职率远低于公司平均水平。曾被评选为公司优秀团队。(团队带的还不错)

    1.4 技能水平

    曾经一次面试,对方简历写的“精通Spring、Redis……”,大概列了长长的十几项精通。结果面试一问,发现太水了,你这是重新定义了精通吧。

    熟悉、掌握、精通这类词,没有统一的标准,别乱写,别让人觉得你是吹牛。

    如果是新人,自己心里没底,建议可以这么写:

    掌握技能:
    开发语言:xxx、xxx、xxx
    后端框架:xxx、xxx、xxx
    数据库:xxx、xxx、xxx

    老程序员,你觉得可以写精通就写,如果你会的技能有一大堆,别忘了要突出重点。啥是重点?一、岗位明确要求的、匹配度高的技能。二、有亮点的技能,例如:AAA 框架 3 年使用经验;读过 BBB 源码;发表 5 篇 CCC 相关文章。

    1.5 项目经历

    项目经历是面试过程中重点问的,大家写的时候注意以下几点:

    • 项目经历在这里是两个词,项目和经历,一般人只写项目,忽略了经历。经历是你做了什么、你怎么做的、做完后的结果。例如:项目中的哪些部分是你做的?你是不是核心人员?自己干,还是带团队?做完你有什么成长?项目交付之后怎么样?
    • 如果你做过的项目很多,要控制项目数量,否则噼里啪啦写好几页项目,面试官会看不到重点。太早的、太小的项目就别写了,挑规模大的写,挑你参与多写,挑和岗位更匹配的写。
    • 项目名称不要写辨识度低的英文缩写,你写个 ERP 还都能看懂,如果你写个 SCF 看起来好像很洋气,但是鬼知道这是啥意思。

    1.6 简历模板

    简历模板简约大方就行了。

    我看过那么多简历里,有些简历太花哨了,有的还配了夸张的封面,这种简历刚打开就想赶紧关上。

    求职者初衷是想让自己的简历更好看,和其他简历与众不同,但是有时候炫过了头,就变成 zuo 了。尤其是新人,容易在这方面发力过猛。

    如果想找不到工作,就用下图这种试试。

    c65140b99d6a1cbfe0973fed0fdf1cd1.png

    1.7 其他

    以上几部分最重要,要多花心思,其他部分正常写就好了。简历别弄虚作假,一旦被揭穿,损失太大。

    简历的页数,我的观点:1 页略单薄,2 页刚刚好,尽量别超过 3 页。

    再额外说一下新人怎么写简历。新人,尤其是毕业生,觉得自己会的太少,没有内容可写。这种情况,需要你多收集一些目标岗位的任职要求,根据这些信息补强自己,再放到简历中去。例如,你发现岗位里要求 git、maven,如果你不会,就花时间赶紧突击一下。另外,可以在简历里多写写在校期间的获奖、实践活动,突出自己爱学习、上进这些优点,让面试官觉得你是一个潜力股也是可以加分的。

    总结一下,简历里要多摆事实,少说空话,展示自己的长处。想写好简历,要有点用户思维,HR 和 面试官就是用户,站在用户的角度考虑问题,想办法让你的简历打动用户。

    2. 面试篇

    本来面试篇是打算写技术面试题的,后来琢磨了一下,不同水平、岗位的程序员对面试题的要求不一样,众口难调。于是,决定写一些面试过程的基本常识,常见的问题怎么回答,还有一些你可能不知道的坑。

    写到一半我就后悔了,越普适的越不好写。写太细了,大家看着啰嗦;写太粗了,又怕说不清楚,好难!

    2.1 最基本应该做到

    基本常识里最基本的就是守时,面试这么重要的事情你都迟到,面试官怎么相信你能管理好时间?

    另外就是注意基本礼貌,作为面试官我遇到过不少这种现象:我走进面试房间的时候,求职者坐在椅子上一动不动,连屁股都不抬一下。你是不是应该起身打个招呼?

    还有,求职者多带几份打印好的简历,有备无患。特别是有时候一轮面试里,你会面对多个面试官,万一人多简历少,你带的简历就派上用场了。

    以上这些是我面试中经常碰到的现象,所以提醒大家注意一下。至于衣着啥的,就不说了,绝大部分人都知道。

    2.2 自我介绍

    一般面试都有这个环节,好好准备,提前练习,别回答的时候支支吾吾,或者啰嗦半天说不出重点。

    介绍的时候时间控制在 3 分钟以内,吐字清晰,至于内容可以参考简历里的自我评价,至少包括以下几部分:

    • 我是谁——我叫 xxx,目前就职于京西公司,岗位是 Java 高级工程师。
    • 我的技能——我从事 Java 开发已经 6 年了,有 3 年电商行业的开发经验,参与了京西公司海外电商项目,在项目中我主要负责 aa、bb 功能。
    • 我最合适——之前听 HR 介绍,贵公司也要做海外电商,我觉得我的经验能用得上。而且我也希望能完整经历海外电商从零到一的过程,这对我来说也是一个挑战、一个成长的机会。
    • 其他优点——我平时喜欢看技术书籍,最近在看《xxx》。

    面试前几分钟的好印象非常重要,好好准备你的自我介绍吧。

    2.3 别不懂装懂

    面试中遇到没听过的名词、问题,别不懂装懂,你以为面试官傻吗,根本糊弄不过去,还不如诚实点说不懂。

    如果你不甘心说不懂怎么办?

    有一次我面试一个新人,我问你用过 git 吗,他想了想说没用过,然后让我给他介绍一下,介绍完之后,他说之前一直用 svn,说了说 svn 的操作。到此为止,我觉得他这个问题回答的还 ok。但是,这还没结束,他又问我 git 比 svn 好在哪。我简单说完之后,他说 git 听起来不错,之后会主动去尝试一下。

    你看,一个难题就这么被化解了。我对他的回答很满意,后面的面试过程也很顺利,最终录取了他。

    下面给大家说说经常被问到的问题。

    2.4 为什么从 xx 公司离职

    离职原因这个问题,几乎 100% 会被问到。

    被问了之后,不要抱怨前公司、前领导,不管你经历了啥,不管你有多少委屈都不要吐槽,面试官没法给你评理,只会担心将来你是不是也会这么说他,惹不起惹不起。

    也不要说因为薪资低,对方会怀疑你的稳定性和对公司的忠诚度。

    被裁员这个原因,最好也别说,大面积裁员还好解释,否则为什么裁你不裁别人?

    合理的答案,例如:想去更大的公司发展;公司方向调整,和个人的发展方向不符;公司把研发部门迁到其他城市。

    2.5 能接受加班吗

    遇到这个问题,有些人毫不犹豫说“能”,好像这么回答会证明自己能吃苦、不怕累。如果问“能以公司为家吗”,估计也会有人说“能”。我表示服气!

    你应该先问一下公司加班的时长和频率,如果工作需要的合理加班,当然可以接受。如果公司以加班为荣,为了加班而加班,你为啥要接受?

    当然,我承认,现在互联网公司普遍加班。如果这家公司你非常想去,这家也有加班文化,看在钱、或者镀金的份上,从就从了吧。

    2.6 你的缺点是什么

    首先说明这是一个坑问题,这个问题我是不会问的。

    回答的时候,不用把优点包装成缺点,例如“我的缺点是追求极致,经常用业余时间把工作力争做到最好”,太假了,你这抖机灵以为面试官是白痴吗。

    更不要说不利面试通过的缺点,例如你说“我比较闷,不擅长和人沟通”,嗯,我看出来了,你确实不擅长沟通。

    我告诉你怎么回答:

    • 说对方知道的缺点——如果你是个工作 5 年的工程师,可以这么说“自己的开发经验还可以,但是产品思维还不够,有待加强”。这样回答不会被扣分。
    • 说正在克服的缺点——例如“我刚毕业一年,技术还比较弱,但是我正在网上学技术课程”。

    2.7 你有职业规划吗

    这个问题我经常问,但是大部分人都回答不好。

    我问这个问题就俩目的:

    一、你想成长为什么样的人?是成为一个架构师,或者是一个技术管理者,又或者是一个行业专家……如果这个目标不清晰,你是在为了什么而努力呢。如果你觉得将来太久远,现在想不明白,好,没问题,三年之后的目标总可以吧。

    二、万一有缘我们成了同事,作为你的上级,我清楚你的目标之后,我乐意在工作上给你提供点机会帮你实现目标。你能成长,我也开心啊。

    不为了面试,为了自己,也建议大家认真想想这个问题,想的时候要结合自己的兴趣和特长。

    2.8 你有什么想问的吗

    首先恭喜你,如果被问到这个问题,你这轮面试基本有戏了。

    “没有想问的了”,这种回答,差评!

    面试是双向选择,除了公司选择你,你也要选择公司。之前别人把你都了解透了,你还不借这个机会赶紧问问公司的情况,省的你将来入职之后再后悔。

    怎么问也是有讲究的:

    • 薪酬福利不要问太细——毕竟你还没得到这份工作,你说你打听饭补多少钱合适吗?“一年十几薪”这类可以问,大钱得关注一下。
    • 能在网上查到的不要问——兄弟,你来面试之前,不做准备工作吗?
    • 对方回答不了的不要问——曾经一个面试者,问我公司的战略是啥,我竟无言以对,都是我的错,我职位太低。
    • 可以问问工作内容、有没有培训等等这种是你看重的问题,同时也显得你对这份工作有兴趣。
    • 我目前听说过的一个 nb 的问题,是这么问的“你们为什么喜欢在这工作?”,真是个好问题,你细品一下。

    接着说说面试中的你要防备的坑,看起来是让你面试,实际上心怀鬼胎。

    2.9 面试是骗你帮他们解决问题

    说一个网上的段子:

    某公司的数据库忽然坏了,公司没人能搞得定,老板很着急,把 HR 叫到办公室说:你赶紧发布一个 DBA 职位,年薪 100 万。面试的时候就问他们怎么恢复我们的数据库,另外,切记,不管他能不能答出来,都把他拒了!

    虽然是个段子,但是现实中真有类似的事。面试过程中就问一个问题,问的特别细,除了问你的解决思路,恨不得直接让你现场操作了。

    还有的面试直接让你做一个东西,你花了好几天做出来了,然后让你把代码也交出来,然后就没有然后了。

    2.10 面试是为了从你口中套取机密

    这个和上面那个套路差不多。

    我当时做游戏的时候,经历过一次。面试刚开始还算正常,后面高潮就来了,问我日活用户数、收入流水、怎么买量的、买量成本、用户特征……

    这种关键信息肯定不能说啊,我感觉不对劲,后来找个借口就溜了。

    2.11 培训机构以招聘的名义变相招生

    看一个网友的经历:

    52aab5796795cd521fd1b5450ac9a294.png

    这种坑的普遍套路是:
    1、发布大量招聘需求,且招聘的范围很广。
    2、无论是本科、专科还是高中文凭,只要投递简历,均会通知参加面试。
    3、面试时,会有一些人伪装成部门经理对你的技术进行打压,并指出你的众多不足。
    4、洗脑让你参加“岗前培训”,并保证培训完立即上岗,培训花费从工资里扣。
    5、签订“岗位培训合同”(实际上是报名协议,往往带有贷款协议!)。
    6、在你一脸懵逼的情况下,报上了名,背上了债。

    毕业生、想转行当程序员的,一定要小心这个。

    3. 薪酬篇

    如果把自己看成一个产品,那么薪酬就是价格。

    实话实说,我非常不擅于谈薪酬,之前很多谈薪酬的经历都是血泪史。为了写这部分内容,我请教周围好几位做 HR 的朋友。

    3.1 最基本的

    照例先说一些最基本的常识。

    首先别太早打听薪酬,面试结果还八字没一撇的时候,你就问薪酬,会引起对方反感。正确的时机,应该是在面试基本成功的时候。

    其次,不要虚报当前收入。你为了多要点薪水,结果脑子一热,多报了当前收入,后面让你提供银行流水、前公司薪资证明的时候,你就傻眼了。谎言圆不上,你可能就铤而走险,伪造银行流水、薪资证明。还是那句话,造假成本太高,一旦被识破。。。。。。出来混,迟早要还的。

    很早之前我特别不理解 HR 讨价还价的行为,为千八百块的至于么,都是公司的钱。后来明白了,减少人力成本是 HR 的重要职责,也是她们的绩效。

    3.2 提前了解行情

    想薪酬谈的好,准备工作不能少。

    谈薪酬之前,要先了解一下行业中和你职位相似的薪资水平。前几天网上热传一张图:大厂新入职员工职级对照表。这张图来自于民间,虽然不是很准确,但是还算靠谱。

    a3fdd16f38e16636b6598200c730a27b.png

    谈薪酬之前,最好能了解一下公司的奖金、分红、福利等等,了解的越多,对之后的谈薪越有帮助。

    很多人薪酬谈不好,都是吃了信息不对等的亏。

    3.3 我要多少合适

    HR 问期望收入的时候,大多数人都很纠结:要高了,怕对方觉得你狮子大开口;要少了,自己又不甘心。

    报期望收入的之前,你需要先知道:

    • 很多公司有规定,没有特殊情况,加薪幅度一般不超过 30%。
    • 不要根据月工资去谈薪酬,把奖金、分红啥的都算上,根据年收入去谈。
    • 把期望收入上浮一点,再报给 HR,给双方留一个谈判空间。

    综合以上几点:假如你现在年收入 20 万,结合之前了解的行情,你期望收入是 25 万,这样你可以报给 HR 最低期望 27 万。经过一番讨价还价,最终在 25 万双方达成一致,即达到了你的心里预期,也满足了 HR 压价的成就感。完美!

    3.4 该坚持就坚持

    面对压价,很多人坚持不住。如果你感觉自己面试表现好,相信自己值这个价钱,就算错过这家公司也不后悔,那么该坚持就坚持。毕竟跳槽是最好的涨薪机会,错过了就错过了。

    如果你现在的工作是 965,新工作是 996,工作时长一下多了 80%,这么一算跳槽之后,时薪还低了。面对压价不坚持一下,你对得起自己吗?

    再一方面 HR 除了压价,也有招聘指标,招到一个理想的员工不容易。

    3.5 月薪是不是分基本工资和绩效

    很多公司的月薪分为基本工资和绩效工资两部分,比如 8000 是基本工资,2000 是绩效,看起来月薪是 1 万。但是每个月每个人都有一个绩效系数,真正的月薪是 8000 + 2000 * 系数,如果系数是低于 1 ,月薪就到不了 1 万。

    你们在谈薪酬的时候,要问清楚月薪是怎么组成的,如果包括了绩效,你要注意了:

    • 基本工资谈多点,绩效谈少点。别等到入职才发现月薪里面,一半基本工资,一半绩效。
    • 是不是这家公司有压绩效的习惯,是不是很多人的绩效系数都低于 1。

    3.6 写到合同里

    HR 压价时候有一个惯用手段,说“我们这里一年 18 薪”。这句话的意思就是:月薪虽然不能给你那么多,但是一年发 18 个月工资,年收入能满足你的预期。

    这时候你就问她,18 薪能不能写到合同里?如果不能写到合同里,这么说没意义,公司发多发少就看公司的良心和盈利情况了。

    股票、期权、奖金等等都是一样,不管对方怎么口头承诺,一定要求写到合同里。不要不好意思提这种要求,没有合同保证的承诺都是嘴上跑火车。

    3.7 谈好之后,不要再涨价

    有一个求职者谈好薪酬之后过了一天,又说工资希望能再涨 2000,理由是打听了一下公司同事的工资,觉得自己的工资偏低。

    首先,私下打听工资,这就是职场大忌。再说了,打听的消息够多够准吗?工资偏低这个判断准确吗?

    其次,谈好之后又涨价,这不是得寸进尺吗。结果工资没涨成,这份工作也没了。

    这种因小失大、得不偿失的事千万别干。

    水平有限,薪酬部分暂时先写这么多了,祝你们以后薪酬越来越高。如果认为写的不好,你告诉我,我去找那些 HR 朋友算账。

    4. 吐槽面试官

    我是面试官,也是求职者,接下来我要站在求职者的立场,吐槽一下面试官和公司。

    • 面试官不守时。求职者按时到了,结果等面试官等好久,真是“等待一小时,面试一刻钟”。
    • 面试官过于强势。有的面试官问问题,穷追猛打,非要把对方问到答不出来,借机打压对方。碾压别人的快感那么爽吗?
    • 面试官不尊重人。面试是双向选择,互相尊重。面试官不要太傲慢,不要打听求职者隐私。别忘了,面试官也代表了公司的形象,你这么做合适吗?
    • 多轮面试,重复问答。恨不得 3 轮面试,问的问题都差不多,更惨的是 3 轮面试要去 3 趟公司,你试试啥感觉。能不能把面试时间集中一下,把面试官集中一下。
    • 面试造火箭,工作拧螺丝。招人按照架构师的标准来,入职后写增删改查、if else。
    • 如果过了,就早点通知。求职者面试完都想早点知道结果,不通过不通知也就算了,通过了还拖好久才通知。提高点效率,早通知早让别人踏实。另外,拖太久,等你通知人选的时候,没准人家已经入职其他公司了。

    到这里,这篇文章就快结束了。祝大家以后都能找到好工作,要到好薪水。

    最后,劝大家除了看文章,还有多面试,多积累经验,找工作的时候不要眼光太高只盯着大厂,看不上小公司。不是只有那些大厂才是好公司,也不是所有的小公司都很 low。我就知道一些闷声赚钱的小公司福利待遇都很好,还有的小公司是大厂大佬出来创业的公司,如果你能加入这两种小公司,你真是赚到了。

    最最后,这篇文章写的很辛苦,有的知识我也不拿不准,网上查、找人问,花了很多精力,连续两天写到凌晨 4 点多。不过写完之后,自己收获很大,自认为质量还不赖。如果你们觉得看完有收获,帮忙点个转发、在看。

    eabc4b8a48a31a0e48e00cfea3b87301.png

    文章不错的话记得点个在看哟,在看越多的话可以给大家带来更多福利

    展开全文
  • vue电商项目笔记

    2020-11-29 22:01:17
    vue电商项目笔记01 创建项目文件夹 在目标存储位置打开cmd或者同时按住shift和鼠标右键,打开powerShell,用vue脚手架搭建基本结构,输入vue create shop //shop是自定义的文件夹名称, 选择Manually select features...

    vue电商项目笔记01

    创建项目文件夹

    在目标存储位置打开cmd或者同时按住shift和鼠标右键,打开powerShell,用vue脚手架搭建基本结构,输入vue create shop //shop是自定义的文件夹名称,

    1. 选择Manually select features(手动选择功能)
      在这里插入图片描述

    2. 选择 Babel Router Vuex CSS Pre-processors Linter/Formatter(代码规范)
      在这里插入图片描述

    3. 选择n
      在这里插入图片描述

    4. 选择less 扩展css语法
      在这里插入图片描述

    5. 选择In package.json 独立的文件夹
      在这里插入图片描述

    6. 选择n
      在这里插入图片描述

    以上6步,完成创建shop项目

    1. 输入指令 cd shop 进入项目
      在这里插入图片描述

    2. npm run serve是跑项目的指令,输入之后,项目才可以运行

    在这里插入图片描述

    1. 打开浏览器,url地址栏输入Local的地址,即打开项目
    2. 注意:如果是从远程仓库clone项目,需要切换代码分支,clone到本地之后,需要运行npm i下载相关的依赖

    在vscode中打开项目,初始化项目结构

    • 删除不需要的结构文件,留下app.vue根组件,根组件里面只写路由占位符
    • 其他的组件都是嵌套在app根组件里面的,用router路由实现单页面跳转
    • main.js是所有依赖的入口文件,vue vuex router UI框架等都是在这里注册

    路由

    在view文件夹下面创建组件之后,要在router文件夹下面定义路由,
    在这里插入图片描述
    在这里插入图片描述

    路由导航守卫

    • 写在router文件夹下的index.js里,在路由router还没有全局暴露出去之前将路由导航守卫挂载到路由上

    在这里插入图片描述

    ####API v1认证统一使用Token认证

    • 需要授权的API,必须在请求头中使用Authorization 字段提供token令牌

    • 通过axios请求拦截器添加token,保证拥有获取数据的权限
      在这里插入图片描述

    • 为每一次API请求设置请求拦截器,只有在请求头里携带Authorization字段(token令牌)的请求才会响应数据,有权限的API请求才会拿到响应数据

    获取用户列表

    注意:get和post请求携带参数params区别

    • 获取用户列表,请求方式是get,需要携带参数,参数先要在data里面定义,看接口文档,如果说get请求回来的数据报400,data为null,表示参数错误,这时候在携带参数外面包一个params:就可以正常请求了
      在这里插入图片描述
    展开全文
  • PHP电商项目 面试专用 学会了就能过

    千次阅读 多人点赞 2019-06-21 09:55:21
    电商项目面试 电商项目的重要性 找工作面试的过程中, 项目将会是整个流程的核心灵魂, 也是能在面试中能让面试官尽快 认同你的一个强有力的依据, 所以在面试中把电商项目清晰的表述出来是极为关键的。 电商...

    电商项目面试

    电商项目的重要性

    目录

    电商项目面试

    电商项目的重要性

    电商项目里的技术特点

    系统功能

    电商项目的思维图

    项目团队构成

    项目开发流程

    涉及技术

    开发环境及工具

    电商面试常见问题

    1.说说你最近做的这个项目的背景, 简单的介绍一下你这个项目?

    2.项目的整体结构(从框架和具体技术来说)

    3.分布式架构, 对比传统架构的优势。

    4.本项目提供了哪些模块(功能和服务)

    5.你负责的哪些模块

    6.简述下这些模块怎么实现的?(描述举例只给出部分功能的过程)

    商品类型管理

    属性管理

    商品栏目管理

    商品管理

    权限管理

    邮件发送验证管理

    购物车管理

    订单管理

    网上支付管理

    7.对于大流量的网站,您采用什么样的方法来解决访问量问题?

    8.数据库的存储引擎?有什么区别?

    9.Sql 语句的优化?

    10.什么是页面静态化?

    11.如何实现用户的安全登录?

    12.使用过 Memcache 缓存吗?请简述一下

    13.说出 JQUERY 常用的几个函数?

    14.什么是二次开发?二次开发的弊端?

    15.单例模式

    16.Redis 有几种持久化的方式? redis 缺点是什么?

    17.前后台数据不一致怎么办?

    18.数据库的读写分离?主从复制?

    19.高并发如何处理?

    20.前后台数据交互时用到那些技术?

    21.什么是 Ajax, Ajax 异步处理?

    22.什么是 Bootstrap?有什么优势?

    23.http 协议请求的状态?404 是什么?500?

    框架介绍:

    一、 PHP 中的框架是什么?

    二、 PHP 中常见的框架

    Laravel 框架


    找工作面试的过程中, 项目将会是整个流程的核心灵魂, 也是能在面试中能让面试官尽快

    认同你的一个强有力的依据, 所以在面试中把电商项目清晰的表述出来是极为关键的。

    电商项目里的技术特点

    ①技术更新较快:根据市场的需求, 不断迭代更新

    ②技术涉及面广:除了 PHP, 还会用到 Python,GO 等其他的一些语言;数据库

    中 MySQL,nosql 是最频繁使用的(当然也有的公司会用 oracle, 但是 PHP 一

    般都是以 MySQL 为主) , 服务器端使用 Linux(少部分公司会用到 Unix) , 还

    经常涉及到服务器安全、 系统安全等安全方面的技术

    ③分布式:从前的单一的机器上运行, 现在是分散到不同机器上, 最后将数据

    集中汇总。 集中式向分布式进行发展是由需求来推动

    ④高并发、 集群(高可用集群) 、 负载均衡:由并发问题采用集群进行处理,

    其中, 集群会涉及服务器的主从以及分布问题, 使用负载均衡。 (权重高低)高

    可用是对用户而言,用户的服务不中断(系统升级, 服务不中断, 公司电商系统

    的部分更新等)。

    ⑤海量数据:每年商家的各类活动(双 11, 双 12 等等) 订单量、 浏览数、 商品

    量、 活动相关数据都将会超级大超级多(一般随同高并发出现)

    ⑥业务复杂:电商业务并不简单:并不是商品展示出来后, 简单的加入购物车

    后购买就完成了。除此以外后台业务逻辑是相当复杂,比如优惠(包邮、 满减),

    秒杀, 抢购等

    ⑦系统安全:系统上线必须通过系统安全部门审核通过, 安全性问题正逐步的

    被放到台面上, 而且很多企业对这块相当重视

    系统功能

    本商城系统是一个综合性的 B2C 平台, 类似京东商城、 天猫商城。

    用户:

    1.用户可以通过注册成为商城的会员, 登录商城

    2.根据会员等级获得相应的优惠和特权

    3.用户可以浏览商品, 可以根据商品类型进行搜索

    4.用户可以对购物车进行操作(增删改查商品的数量、 商品详情等)

    5.用户下订单、 退订单, 对订单的结算等

    商家:

    1.商家可以入驻商城, 在商城里开店售卖自己的商品

    2.商家也有商家等级, 如果在商城好评和商品销售量到达一定数量, 可获得

    商家的一些特权

    3.商家可以管理自己店铺的商品:上架下架商品;设定库存量;设定自己店

    铺的会员制度等

    电商项目的思维图

    以上是大部分常用模块, 如有其它模块自行补充。 根据上图的体系架构, 一层层的

    进行归纳记忆, 从项目——模块——功能一点点的往深入熟悉记忆, 并且加以理解

    项目团队构成

     产品经理:1 人, 确定需求以及给出产品原型图。

     项目经理:1 人, 项目管理。

    UI 设计: 1 人, 制作项目原型效果图。

     前端团队:1 人, 根据产品经理给出的原型制作静态页面。

     后端团队:3 人, 实现产品功能。

    运维:

    1 人 , 负责公司运维项目的系统。

     测试团队:2 人, 测试所有的功能。 (小公司不会有测试)

     

    (上述是以团队为单位, 有的公司技术部不止一个团队, 还有运维、 UI、 交互

     

    设计师等等, 视情况而定)

     

     

    项目开发流程

    涉及技术

    框架:ThinkPHP CI YII Laravel 等

    前端:HTML CSS JS/JQ(Bootstrap、 node.js、 angluar.js 等可以了解下) AJAX

    PHP:PHP+MySQL session 和 cookie Nosql(redis memcache mongdb) 接

    口技术 缓存技术 优化技术等等

    服务器方面:Linux Nginx

    开发环境及工具

    WAMP 或者是 LAMP 比较常见, 除此以外还有 LNMP 等

    常用的工具:PHPStorm(PHP 最正统的工具) NetBeans Editplus

    Webstorm(web 最正统的工具) Sublime Dreamweaver

    SVN GIT

    (简历中或者是面试中尽量不要提及版本号, 如果要写则需要把版本号对齐, 否则

    不要写版本号)

    电商面试常见问题

    1.说说你最近做的这个项目的背景, 简单的介绍一下你这个项目?

    我们公司之前主要以实体店为主, 进行批发与零售, 业务也相对比较传统。 为了适应市场需

    求, 增强公司竞争力, 提升业务绩效, 另一方面, 也为基于互联网的商务模式创新奠定基础。 所

    以开始 xxx 商城建设项目, 其中包含商品管理、 订单管理、 类目管理、 客户管理、 合作商管理、

    客服管理、 购物平台、 内容管理等, 很大程度上分担了人工的压力, 对提高客户服务效率和客户

    满意度能够起到较好的作用。 (先大体的描述下项目, 然后能够挑一两个自己最为熟悉的模块进

    行叙述)

    2.项目的整体结构(从框架和具体技术来说)

    框架方面:从大处进行描述, 比如本项目是属于电商项目, 采用的是 TP 框架, 运用

    php+MySQL+Apache 进行开发。 因为 TP 框架是开源的、 轻量级的,所以用起来更加方便快捷,从

    效率和成本方面来讲都是性价比比较高的, 所以那时候团队决定用这个框架进行开发。 然后再从

    框架的一些优点特性进行说明下, 让面试官觉得你对这个框架很了解

    技术:描述技术时首先用从自己比较熟悉的模块入手(比如说注册验证时会用到的 JS 技术、

    正则匹配、 ajax 无刷新验证等等) , 然后由此慢慢的向其他方面的技术进行拓展, 在说具体技

    术的时候如果能说到目前比较新或者是比较有难度的技术, 能够让面 试官眼前一亮, 这样能为

    自己的面试增加不少分。

    3.分布式架构, 对比传统架构的优势。

    ①最为明显的一点, 在传统的架构中, 如果某个功能需要进行维护, 那么我们必须停掉整个

    服务, 这对于公司的运营会造成损失。 分布式系统在核心功能模块使用单独服务器, 维护部分模

    块不影响用户的其他操作。

    ②在海量数据处理方面, 传统架构显得比较乏力;分布式系统架构采用服务器集群, 使用负

    载均衡, 海量数据处理游刃有余!

    ③在性能(检索)以及维护方面, 分布式系统架构也有较为明显的优势。

    4.本项目提供了哪些模块(功能和服务)

     商品模块:其中包括商品管理, 类型管理, 属性管理, 栏目管理等等

     订单模块:其中包括下单, 退单, 库存, 收货人信息等

     会员模块:会员注册, 会员信息管理, 会员等级管理, 会员权限等

     购物车模块:购物车数据存储, 增删改查购物车商品, 清空购物车等

     提交订单页面:提交用户的订单信息, 处理并发问题。

     个人中心:包括用户的登录, 个人信息的管理, 收货地址的管理, 用户所下的订

    单的管理

     支付模块:支付方式管理(在线支付、 货到付款) 等

    5.你负责的哪些模块

    在项目中主要负责相关功能的开发, 主要有:

    1) 后台管理系统:主要实现商品管理、 商品规格参数管理、 订单管理、 会员

    管理等、 CMS(内容管理系统)等, 并且提供了跨域支持;

    2) 前台系统:主要是面向用户访问, 使用 js、 ajax 进行前后台数据交互(一

    般是用 json 格式数据返回)

    3) 会员登录:提供和用户信息相关的接口, 比如说用户注册、 查询等接口(登

    录时需要进行多重验证, 特别注意安全方面)

    4) 订单功能:主要是提供和订单相关的业务接口, 在订单系统了做了严格的

    数据校验以及高并发写的支持(这里可以说使用队列实现) , 并且使用了定时器实现对

    下单的时间控制, 比如说关闭超时未付款的订单;

    5) 搜索功能:主要是提供商品的搜索, 可以采用 Sphinx 全文搜索, 当然也有

    其他的搜索方式;

    6) 会员系统:主要是维护用户的信息, 已购买订单、 优惠券、 系统消息、 修

    改密码、 绑定手机等功能;

    7) 缓存:主要是用 Redis 实现, 并且对 Redis 做了集群来保证 Redis 服务的

    高可用(缓存方面除了 redis 外还有 memcached)

    8) 支付系统:主要是负责订单的支付、 对账等功能, 主要是对接了支付宝的

    接口;

    (根据个人的实际情况选择最为熟悉的模块, 进行叙述)

    6.简述下这些模块怎么实现的?(描述举例只给出部分功能的过程)

    商品类型管理

    包含功能:添加商品类型、 显示商品类型列表、 修改商品类别、 删除商品类型

    描述举例:

    1、添加商品类型:在后台模块新建一个商品类型的控制器(TypeController),并添加

    add 方法, 同时建立好对应的静态页。新建一个对应的商品类型表,在表里添加数据验证。

    在商品类型控制器中的 add 方法中完成商品类型的添加。(其中关键点是 create 验证和防

    止非法字段提交)

    2、商品类型列表:在商品类型控制器中添加一个 lst 方法, 取出商品类型数据, 并在

    对应的静态页中完成数据遍历, 就能在页面中得出相应的商品类型列表

    属性管理

    包含功能:添加属性、 显示属性列表、 根据商品类型搜索属性、 修改属性、 删除属性

    描述举例:

    前提条件:建立一个属性表将各字段全部预先设置好, 才可以进行一下操作

    1、 添加属性:在后台模块新建一个 AttributeController 的控制器, 并添加 add 方法,

    并建立好对应的静态页面, 修改页面里的表单。 然后新建一个 attribute 表对应的模型文

    件, 进行数据验证(验证规则可以查手册) , 在方法中完成属性添加的代码。 在属性控制

    器中写入 lst 方法, 并且完成对应静态页, 把取出的数据遍历到对应的静态页

    2、 根据商品类型搜索属性:(给 select 添加 change 事件, 完成提交表单, 表单提

    交到当前页面。 ) 首先在方法中将商品显示出来, 并将商品数据完成遍历,给显示商品 类

    型的 select 添加 change 事件, 完成表单提交, 其中会引用 JQ 添加 change 事件, 当触 发

    change 事件后, 显示出当前显示的商品类型。 在商品类型列表, 添加“属性列表“的 连接, 在

    添加完成属性后, 跳转到属性列表, 直接显示所 属当前商品类型的属性, 最后实 现分页

    商品栏目管理

    包含功能:创建栏目、 栏目的增删改查 (注:商品类型和商品栏目的区别, 类型是大类,

    栏目是小类)

    描述举例:

    前提条件:要创建一个栏目表, 以便进行下面的功能开发

    1、 添加栏目:在 admin 模块里面新建一个 category 的控制器, 添加 add 方法, 并完

    成对应页面设计。 在页面上设计好表单, 在添加栏目时将已经添加的栏目显示出来(新建

    一个商品栏目模型, 在里面定义好方法, 用于取出栏目的数据, 并且已经格式化好的) ,

    然后在 add 方法里将数据取出来, 并且进行遍历, 在此方法中完成栏目的添加

    2、 栏目列表:在 category 的控制器里添加 lst 方法, 并且完成对应页面的设计, 在

    页面中遍历栏目数据, 将其遍历显示到页面中

    3、 删除栏目:(注:在删除栏目时,如果有子栏目则不能删除)在栏目列表中添加删

    除栏目的链接(用 U 函数自动生成路径) , 在相应的 category 控制器里, 写上 del 方法,

    接受传递过来的 id,实例化自定义模型, 利用 sql 拼接进行查询, 找出对应的栏目记录, 将

    其删除

    商品管理

    包含功能:商品的增删改查, 在线编辑器, 属性选项卡, 属性的增删改查, 商品相册选项

    卡, 添加相册, 文件上传, 相册上传等

    描述举例:

    前提条件:要将商品表创建好, 具体字段根据需求开设计

    1、 添加商品:在后台模块(admin 模块) 里新建一个 Goods 控制器, 写入 add 方法,

    同时完成相应的页面设计, 在 add 方法对应的页面中对表单行进相应的修改(具体的页面

    要求感觉需求来修改) 。 在 add 方法中完成商品的添加功能代码, 例如生成唯一的商品 id

    号、 添加商品的时间等(利用前缀+时间+唯一码=唯一 id)

    2、 图片上传:可以利用 TP 已经定义好的钩子函数, 来完成图片文件的上传, 返回保

    存图片的路径。 钩子函数在模型里面会自动调用, 比如:入库之前:_before_insert() 和

    入库之后:_after_insert() 会被模型里面的 add 方法, 自动调用。 只需要在上传之前,

    把图片的路径、 上传单个文件的最大值、 允许上传格式限制好

    3、 缩略图:在图片上传的基础上利用 new \Think\Image()按照原生图片的比例生成一

    个缩略像素*缩略像素的缩略图, 每个缩略图都会生成一个唯一的 id 名, 并且保存到预设

    好的路径文件夹中(这里要注意的是生成多张缩略图的时候, 必须先生成大图, 再生成小

    图) , 图片生成后将路径入库。

    4、 显示属性选项卡:(选项卡的显示重点是给标签设置一个 onclick 事件函数) 要在

    选项卡中显示商品类型, 在 goods 控制器里面的 add 方法中取出商品类型数据, 然后在相

    应的页面商品属性选项卡位置遍历商品类型数据, 分别显示出来

    5、完成商品属性的添加:前提将商品属性表设计好,然后根据实际的静态页面进行表

    单的修改, 修改指定表单的域名(即标签中的 name) , 修改完成后在 Goods 模型里定义一

    个钩子_after_insert, 在该方法中完成属性数据的入库, 由此属性的添加完成

    权限管理

    包含功能:管理员登录, 权限管理(权限管理控制) , 角色管理, 管理员管理

    权限管理简述:权限管理是根据不同等级,不同管理员的情况下,授予不同的权限,各自

    操作各自授权。 授权方式大体分为两种:一种是直接给管理员授权权限, 适合于管理员比较少,

    权限数量也比较少的情况下;第二种是 RBAC 基于角色的访问控制。

    在建表方面, 采用五张表

    其中有三张主表, 权限表、 角色表、 管理员表, 两张从表, 角色与权限的中间表、 管理员

    与角色的中间表。

    角色表与权限表的关系:一个角色可以有多个权限, 一个权限可以属于多个角色, 权限表

    与角色表是多对多的关系, 要体现这种关系, 要使用角色与权限的中间表;管理员表与角色表的

    关系:一个管理员可以属于多个角色, 一个角色可以包含多个管理员, 角色表与管理员表是多对

    多的关系, 要体现这种关系, 要使用管理员与角色的中间表。 五张表关系图如下:

    描述举例:

    1、 权限管理:在项目中权限管理就是按钮,通过按钮给对应的管理员或者是角色分配

    权限。 在后台模块新建一个权限的控制器, 并写入 add 方法, 完成对应的页面设计, 修改

    好页面上的表单, 完善页面。 新建一个权限模型, 并且在模型中添加数据验证, 设置好验

    证规则(具体代码参考项目中的) , 在模型中完成权限添加。 在父级权限完成后, 继续添

    加子级权限:在模型里面定义一个方法, 用于取出权限, 并格式化好权限数据, 然后在添

    加权限控制器里面, 取出权限数据, 并进行遍历, 将遍历出来的子级权限显示在页面中

    2、角色管理:角色管理中包含对角色的增删改查,授权等等。添加角色首先要在在后

    台模块新建一个 RoleController 的控制器, 写入添加 add 方法, 完成对应的静态页面, 取

    出权限数据, 并修改对应的表单。 在后台模块里面, 添加一个 RoleModel 模型, 写入添加

    数据验证。 接下来就是数据入库, 在入库时要注意的是该表单提交的数据, 是入库两张的

    表, 一个是角色表, 一个是角色与权限的中间表, 其中角色与权限的中间表的数据, 是使

    用钩子函数_after_insert()来完成。

    3、角色删除:如果角色里面有管理员, 则不能删除,在删除角色的同时,要删除角色

    与权限的中间表里面的对应的数据。 首先在角色列表中添加删除的链接(用 U 函数自动生

    成路径) , 然后在角色控制器中添加删除 del 方法, 用于删除角色, 其次在角色模型中添

    加钩子函数_after_delete()用来删除角色与权限中间表对应的角色数据, 删除完成

    4、管理员管理:在添加管理员时,要分配管理员所属角色,并且将管理员各个数据根

    据要求设定好格式。 创建管理员控制器, 添加 add 方法, 取出角色数据, 并完成页面设计

    将数据显示到页面上。 在管理员模型中添加数据验证, 使用静态方法来完成验证,

    使用模型添加数据, 接受明文密码, 然后用双重 md5 进行加密, 这个过程的代码可以直接

    写到钩子函数里。 使用钩子函数添加管理员与角色中间表的数据, 在管理员的模型里面, 添

    加_after_insert()钩子函数

    5、管理员列表:在管理员的控制器里面添加 lst 方法, 用于取出管理员数据, 并完成

    对应的静态页面, 要注意:显示管理员的同时, 要显示出所属角色的名称, 因此要连表查

    询(管理员表 管理员角色表 角色表)

    然后在对应的界面中进行管理员数据遍历并且显示到页面上。

    6、 删除管理员:要操作的表是:it_admin 和 it_admin_role,在删除 it_admin_role

    表里面数据时, 则可以使用钩子函数_after_delete(), 钩子函数是 TP 框架里面提供的,

    主要有:_before_insert()、 _after_insert()、 _before_update()、 _after_update()

    , _before_delete(), _after_delete()(该系列函数是在模型里面定义, 会被自动调用。 )

    注意:超级管理员不能被删除(拥有最高权限)

    邮件发送验证管理

    包含功能:(原理要理解、 ) 注册、 登录、 发送、 密码找回等

    描述举例:

    1、 原理:

    邮件的 SMTP(Simple Mail Transfer Protocol) :即简单邮件传输协议,它是一组用

    于由源地址到目的地址传送邮件的规则, 由它来控制信件的中转方式。 SMTP 协议属于

    TCP/IP 协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。 通过 SMTP

    协议所指定的服务器,就可以把 E-mail 寄到收信人的服务器上了, 整个过程只要几分

    钟。 SMTP 服务器则是遵循 SMTP 协议的发送邮件服务器, 用来发送或中转发出的电子邮

    件。

    2、用户注册:创建用户表,将所需字段设置好(在设置字段的时候可以预留一些字段

    以便后面拓展使用) 。 在前台模块中新建一个 user 控制器, 添加 register 方法, 并

    且完成对应静态页。 在 user 模型中添加数据验证, 返回数据.

    在控制器中完成注册后,发送邮件:

    邮件发送后,由用户进行激活认证,因此在控制器中新建 active 方法。方法中首先要接

    受数据(key 值, 用户邮件数据) , 然后判断链接是否合法, 根据传递的 email 查找出 vaildate

    字段内容和 key 值进行匹配。 如果匹配成功那么, 就让用户进行激活, 激活的同时将 active

    的初始状态更改为 1, 则功能完结

    3、 密码找回功能:实现方式, 根据用户名->查找出注册时设置的问题->输入问题的答案

    ->如果答案正确->发送一封邮件, 根据该邮件里面的链接去完成密码的修改。 首先在页面上将密

    码找回的链接设置好, 在 user 控制器里添加 findpwd1 方法(用于找回密码的第一个方法) , 该

    方法显示出找回密码输入用户的一个界面, 同时应该完成对应页面的编写。 再在 user 控制器中

    添加 findpwd2 方法, 根据用户名查找出注册时设置的问题, 让用户输入问题的答案。 第三是在

    user 控制器中写入 findpwd3 方法, 用于问题答案的匹配并发送邮件, 通过邮件的链接来完成密

    码的修改。 最后在 user 控制器中添加一个 update 方法, 用于完成密码的修改

    购物车管理

    包含功能:提交商品到购物车、 显示购物车列表、 删除购物车里商品、 修改购物车、

    清空购物车等等

    1、 购物车的实现方式:①可以把购物车的数据, 给存储到 session 里面, 一旦关闭

    浏览器, 则商品数据就丢失;②可以把购物车的数据, 给存储到 cookie 里面, 可以长

    久的保存购物车里面的数据;③可以把购物车的数据, 给存储到数据库里面, 可以长久

    的保存购物车里面的数据;④可以把购物车的数据, 给存储到缓存里(memcache,redis) ,

    也可以长久的保存购物车的数据。

    注:Session 可能会引起并发问题, 如果脚本很短, 这通常没有问题。 但如果脚本运行

    时间比较长, 那就可能会产生问题。 在现代 Web 应用程序开发中, 有一个非常常见的情况,

    就是使用 AJAX 技术在同一个页面内发送多个请求获取数据。 如果这些请求都需要使用

    Session, 那么第一个请求到达服务器后会取得 Session 锁,其它请求就必须等待,所有请

    求将串行处理, 即使它们彼此之间并没有依赖关系。 这将大大增加页面的响应时间。 有一

    个方法可以避免这个问题, 就是在使用完 Session 以后立即调用 session_write_close()

    方法关闭 Session。 这样 Session 锁就会释放,即使当前脚本还在等在处理。需要注意的

    是, 调用该方法后, 当前脚本就不能进一步操作 Session 了

    2、 实例:京东购物车的设置, 如果用户已经登录, 则把购物车数据保存到数据库

    里面, 如果没有登录, 则把购物车的数据给保存到 cookie 里面, 当登录时, 要判断 cookie

    是否有购物车的数据, 如果有, 则把 cookie 里面的数据给移动到数据库里面。

    3、 提交商品到购物车:在前台模块里新建一个 CartController 控制器, 添加 addCart

    方法

    4、 购物车列表:在购物车模型里添加 cartList 方法, 用于显示列表。 如果用户已

    经登录, 则直接从购物车数据库里面取出数据, 如果用户没有登录, 则直接从 cookie

    里面获取数据。 最后在购物车控制器里面的 cartList 的方法中, 并取出购物车数据, 并

    在对应的静态页面里完成遍历, 显示出来

    5、 cookie 移到 DB 中:用户登录后, 要判断 cookie 里面是否有购物车数据, 如果

    有, 则就移动到数据库, 在购物车模型里面定义一个方法 cookie2db

    登录成功后调用 cookie2db 方法即可

    订单管理

    描述举例:

    1、 建立订单控制器, 添加 flow 方法, 完成对应的静态页面。 在 order 控制器

    里面添加一个 done 方法, 用来完成下订单功能:首先接受传递过来的订单信息数据, 判

    断购物车里面是否有商品, 防止出现能够直接访问该方法的情况, 如果没有商品则提示

    无法下单, 接着判断用户是否已经登陆, 如果没有登录把当前访问的地址存储到 session

    里, 跳转登录页面, 完成登录后再跳转回来, 再判断是否填写收货人的信息, 同理, 如

    果没有填写则跳转填写页面。 下单时会自动算出订单总额, 生成唯一的订单号, 并且从

    session 中取出用户 id, 获取收货人信息。 随后将订单信息和订单商品信息入库结算完

    成后, 清空购物车, 订单完成

    2、 下订单注意事项:

    ①在下订单之前要判断库存是否充足:判断商品属性 id 是否有值, 如果有

    说明该商品有属性, 直接从 product 表里进行判断, 如果没有属性则直接从

    goods 表里判断库存

    ②下完订单后要减掉库存:在入库 it_order_goods 表时, 要完成减掉库存

    ③高并发下订单问题:使用文件锁, 对文件锁定后, 不是操作文件, 是锁

    定文件后, 执行下订单, 查看库存之前, 就要加锁, 一直到购买完成(另外 redis 消息队列)

    ④添加事务:防止某些操作只完成一半

    网上支付管理

    支付过程主要是调用第三方支付接口

    网上支付流程:

    商城与银行对接方案:

    1、 直接与银行对接

    优点:

    因为直接与银行进行财务结算, 交易资金结算比较安全。 适合资金流量比较大的

    企业, 这种方案适合于, 每月结算金额百万以上的企业。

    缺点:

    开发工作量比较大, 而且银行会不定期升级交易系统, 随着银行系统的升级, 企

    业也也需要做相应的改动, 所以维护工作量也是比较大的, 而且企业每年还需要向银

    行交纳一定数量的接口使用费用。

    2、 通过中间公司间接与银行对接

    优点:

    开发工作量较少, 银行升级系统, 不需要企业做相应的修改, 除非中间企业的接

    入规范发生了改变, 相对前一种接入方案, 这种方案的维护工作量比较少的。 因为只

    与一家企业对接, 所以接入费用相对比较低。 这种方案适合于:每月结算资金在几十

    万以下的中小企业。

    缺点:

    因为是与中间企业进行资金结算, 目前所有中间企业都是私企, 资金安全是个大问题

    7.对于大流量的网站,您采用什么样的方法来解决访问量问题?

    ①确认服务器硬件是否足够支持当前的流量

    ②优化数据库访问

    ③禁止外部的盗链

    ④控制大文件的下载

    ⑤使用不同主机分流主要流量、 集群

    ⑥使用流量分析统计软件

    8.数据库的存储引擎?有什么区别?

    MyISAM、 InnoDB

    构成上, MyISAM 的表在磁盘中有三个文件组成,分别是表定义文件(.frm) 、 数据文

    件(.MYD) 、 索引文件(.MYI) ,而 InnoDB 的表由表定义文件(.frm)、 表空间数据和日志文

    件组成。

    安全方面, MyISAM 强调的是性能, 其查询效率较高, 但不支持事务和外键等安全性方

    面的功能, 而 InnoDB 支持事务和外键等高级功能, 查询效率稍低。

    对锁的支持, MyISAM 支持表锁, 而 InnoDB 支持行锁。

    9.Sql 语句的优化?

    1)尽量选择较小的列

    2)将 where 中用的比较频繁的字段建立索引

    3)select 子句中避免使用‘*’

    4)避免在索引列上使用计算、 not in 和<>等操作

    5)当只需要一行数据的时候使用 limit 1

    6)保证单表数据不超过 200W, 适时分割表。 针对查询较慢的语句, 可以使用 explain 来

    分析该语句具体的执行情况。

    10.什么是页面静态化?

    就是把一个动态的页面(操作数据库的 php 页面) 变成一个静态页面,后续用户直接访问静

    态页面。

    页面静态化技术分为两种:真静态和伪静态。

    真静态:把一个动态的页面, 实实在在的转成一个静态的页面,即.html 文件

    伪静态:所谓伪静态是从 url 地址上看是一个静态页面, 但是实际上还是对应一个动态页

    11.如何实现用户的安全登录?

    ①防止 Sql 注入, 对特殊字符进行转义、 过滤或者使用预编译的 sql 语句绑定变量。

    最小权限原则, 特别是不要用 root 账户, 为不同的类型的动作或者组建使用不同的账户。

    ②当 sql 运行出错时,不要把数据库返回的错误信息全部显示给用户,以防止泄露服务

    器和数据库相关信息

    ③XSS 攻击

    ④暴力破解

    12.使用过 Memcache 缓存吗?请简述一下

    Memcache 是把所有的数据保存在内存中, 采用 hash 表的方式, 把每条数据有 key 和 value

    组成, 每个 key 独一无二的, 当要访问的某个值的时候先按照找到值, 然后在返回结果, Memcache

    采用 LRU 算法来逐渐把过期的数据清除掉

    13.说出 JQUERY 常用的几个函数?

    $(selector).hide() 隐藏被选元素

    $(selector).show() 显示被选元素

    $(selector).toggle() 切换(在隐藏与显示之间) 被选元素

    $(selector).slideDown() 向下滑动(显示) 被选元素

    $(selector).slideUp() 向上滑动(隐藏) 被选元素

    $(selector).slideToggle() 对被选元素切换向上滑动和向下

    $(selector).fadeIn() 淡入被选元素$(selector).fadeOut() 淡出被选元素

    $(selector).fadeTo() 把被选元素淡出为给定的不透明度

    $(selector).animate() 对被选元素执行自定义动画

    14.什么是二次开发?二次开发的弊端?

    二次开发, 简单的说就是在现有的软件上进行定制修改, 功能的扩展, 然后达到自己

    想要的功能, 一般来说都不会改变原有系统的内核。 dede 二次开发就是以 dede 织梦系统为基础

    进行的二次开发。

    弊端:1) 插件限制太多;

    2) 修改源文件对升级有影响。

    15.单例模式

    16.Redis 有几种持久化的方式? redis 缺点是什么?

    两种, 分别是 RDB 和 AOF 快照;

    Redis 的主要缺点是数据库容量受到物理内存的限制, 不能用作海量数据的高性能读写,

    因此 Redis 适合的场景主要局限在较小数据量的高性能操作和运算上

    17.前后台数据不一致怎么办?

    前后操作人员录入数据保持一致, 开启验证功能, 由于通讯故障造成的前台数据积压, 维

    护时及时备份

    18.数据库的读写分离?主从复制?

    读写分离, 基本的原理是让主数据库处理事务性增、 改、 删操作(INSERT、 UPDATE、 DELETE) ,

    而从数据库处理 SELECT 查询操作。 数据库复制被用来把事务性操作导致的变更同步到集群中的

    从数据库。

    至少两台数据库服务器, 可以分别设置主服务器和从服务器, 对主服务器的任何操作都会

    同步到从服务器上

    原理:mysql 中有一种日志, 叫做 bin 日志(二进制日志) , 会记录下所有修改过数据库

    的 sql 语句。 主从复制的原理实际是多台服务器都开启 bin 日志, 然后主服务器会把执行过的

    sql 语句记录到 bin 日志中, 之后把这个 bin 日志发给从服务器, 在从服务器再把 bin 日志中记

    录的 sql 语句同样的执行一遍。 这样从服务器上的数据就和主服务器相同了。

    19.高并发如何处理?

    需要对服务器的架构分层, 重新布局, 负载均衡, 集群策略。

    负载均衡器(硬件和软件)

    硬件:F5-Bigip:立竿见影, 价格昂贵, 网游公司或大网站用的比较多

    软件:lvs(linux virtual server 虚拟服务, 集成到内核中), nginx(可以做 web 服务器,

    也可以做负载均衡使用)

    负载均衡策略:

    (1) 轮询技术:把客户端的请求轮流分发给服务器。

    (2) 最少连接;负载均衡把请求给最空闲的服务器

    (3) ip 哈希:同一地址的客户端, 始终请求同一台服务器。

    20.前后台数据交互时用到那些技术?

    Ajax, Ajax 的跨域请求常用的有两种方式:

    1) 使用中间层过渡的方式:

    中间过渡, 很明显, 就是在 AJAX 与不同域的服务器进行通讯的中间加一层过渡, 这一层过

    渡可以是 PHP 、 JSP、 c++等任何具备网络通讯功能的语言, 由中间层向不同域的服务器进行读

    取数据的操作。 拿 PHP 做 一个例子, 如果需要对不同域的某一个 php 进行通讯, 现在客户端的

    xmlhttprequest 先 query 本域的一个 PHP, 然后由本域的这个 PHP 去和不同

    域的 PHP 进行通讯, 然后由本域的 PHP 输出 response;

    2) 使用标签

    这个方法是利用标签中的 src 来 query 一个 PHP 获得 response, 因为标签 的 src 属性不

    存在跨域的问题。

    21.什么是 Ajax, Ajax 异步处理?

    Ajax 是一种在页面没有刷新的情况下, 通过客户端(浏览器) 与服务器交互的一种技术。

    Ajax 语言的载体是 javascript,最大特点:页面不刷新完成请求。

    open 方法:如 xhr.open(‘get’,’demo.php’,true)open 方法,第三个参数表示是异步

    请求, 默认 true 表示异步请求处理

    22.什么是 Bootstrap?有什么优势?

    简单、 直观、 强悍的前端开发框架, 让 Web 开发更快速、 简单

    优势:入门简单, 支持响应式, 优先支持移动设备

    23.http 协议请求的状态?404 是什么?500?

    200(成功) :服务器已成功处理了请求。 通常, 这表示服务器提供了请求的网页

    201(已创建) :请求成功并且服务器创建了新的资源

    202(已接受) :服务器已接受请求, 但尚未处理

    203(非授权信息) :服务器已成功处理了请求, 但返回的信息可能来自另一来源

    204(无内容) :服务器成功处理了请求, 但没有返回任何内容

    205(重置内容) :服务器成功处理了请求, 但没有返回任何内容

    206 (部分内容) :服务器成功处理了部分 GET 请求

    404(未找到) :服务器找不到请求的网页

    500(服务器内部错误) :服务器遇到错误, 无法完成请求

    框架介绍:

    一、 PHP 中的框架是什么?

    框架就是通过提供一个开发 Web 程序的基本架构, PHP 开发框架把 PHPWeb 程序开发摆到了流水线上。

    换句话说, PHP 开发框架有助于促进快速软件开发(RAD), 这节约了开发时间,有助于创建更为稳定的程

    序,并减少开发者的重复编写代码的劳动。

    框架专门用于为这些常用元素(数据库交互、 表示层、 应用程序逻辑)提供结构, 以便可以花费更少的

    时间来编写数据库接口代码或者表示层接口, 而花费更多的时间来编写应用程序本身。 以这种方式分解应

    用程序, 这种架构被称为模型-视图-控制器(Model-View-Controller, MVC)。 模型(Model) 指数据, 视图

    (View)指表示层,而控制器(Controller)指应用程序逻辑或业务逻辑。

    MVC 示意图

    二、 PHP 中常见的框架

    TP 框架(ThinkPHP) :

    ThinkPHP 框架是 PHP 最常见的框架之一, 也是目前市面上的主流框架。 ThinkPHP 是一个免

    费开源的, 快速、 简单的面向对象的 轻量级 PHP 开发框架 , 是为了敏捷 WEB 应用开发和简化企

    业应用开发而诞生的。 ThinkPHP 从诞生以来一直秉承简洁 实用的设计原则, 在保持出色的性能

    和至简的代码的同时, 也注重易用性。 并且拥有众多的原创功能和特性, 在易用性、 扩展性和性

    能方 面不断优化和改进, 已经成长为国内最领先和最具影响力的 WEB 应用开发框架, 众多的典

    型案例确保可以稳定用于商业以及门户级的开发。

    ① ThinkPHP 基于 MVC 的 PHP 框架

    M – Model 模型 工作:负责数据的操作

    V – View 视图(模板) 工作:负责前台页面显示

    C – Controller 控制器(模块) 工作:描述功能

    ② ThinkPHP 核心文件介绍

    ├─ThinkPHP.php 框架入口文件

    ├─Common 框架公共文件

    ├─Conf 框架配置文件

    ├─Extend 框架扩展目录

    ├─Lang 核心语言包目录

    ├─Lib 核心类库目录

    │ ├─Behavior 核心行为类库

    │ ├─Core 核心基类库

    │ ├─Driver 内置驱动

    │ │ ├─Cache 内置缓存驱动

    │ │ ├─Db 内置数据库驱动

    │ │ ├─TagLib 内置标签驱动

    │ │ └─Template 内置模板引擎驱动

    │ └─Template 内置模板引擎

    └─Tpl 系统模板目录

    ③ url 的 4 种访问方式

    1.PATHINFO 模式

    http://域名/项目名/入口文件/模块名/方法名/键 1/值 1/键 2/值 2

    2.普通模式

    http://域名/项目名/入口文件?m=模块名&a=方法名&键 1=值 1&键 2=值 2

    3.REWRITE 模式

    http://域名/项目名/模块名/方法名/键 1/值 1/键 2/值 2

    4.兼容模式

    http://域名/项目名/入口文件?s=模块名/方法名/键 1/值 1/键 2/值 2

    ④ TP 中的几种输出方式

    ThinkPHP 中的输出:

    a、 通过 echo 等 PHP 原生的输出方式在页面中输出

    b、 通过 display 方法输出

    想分配变量可以使用 assign 方法

    c、 修改左右定界符

    休要修改配置文件中的配置项

    ‘TMPL_L_DELIM’=>'<{‘, //修改左定界符

    ‘TMPL_R_DELIM’=>’}>’, //修改右定界符

    ⑤ 输出模板内容

    a、 display 方法

    1.display 中没有参数

    $this->display();

    2.可以带参数

    $this->display(本模块文件夹下的其他模板文件);

    $this->display(‘index2′ );

    $this->display(其他文件夹下的模板文件);

    $this->display(‘Public:error’);//注意, 仅仅需要在 Tpl 下有 Public 文件

    夹以及其中的 error.html 即可, 不需要一定有 Public 模块

    b、 fetch 方法

    获得模板文件中的内容, 以字符串形式返回

    $content=$this->fetch(‘Public:error’);

    c、 show 方法

    不需要模板文件, 可以直接输出模板内容

    $content=$this->fetch(‘Public:error’);

    dump($content);

    $content=str_replace(‘h1’,’i’,$content);

    $this->show($content);

    ⑥ 模型中连贯操作

    语法:$model->方法 1()->方法 2()->方法 n()->select();

    ⑦ 自动验证

    主要是验证表单提交的数据的合法性, 验证表单数据的合法性, 有两种方式, 一种是

    通过前端 js 代码来验证, 一种是数据入库之前的 php 代码验证。在实际开发中,两种方式

    都要有, 前端 js 验证。 前端 js 代码用户是可以禁用的, 因此要进行 php 代码验证, 达到

    双重验证。

    字段验证的方式是集成到模型里面的 create 方法里面, 注意在使用 create 方法之前

    需要将配置文件中的 extension=php_mbstring.dll 打开

    实用项

    ⑴ 代码流程追踪:在配置文件里面‘SHOW_PAGE_TRACE’=TRUE

    ⑵ TP 中的事务:

    $User->startTrans():开启事务处理

    $User->commit() :如成功, 则提交

    $User->rollback() :如失败, 则回滚

    ⑶ 模型里面的 trueTableName 属性:

    建立一个模型, 在默认操作时, 是操作的前缀+模型名称的表, 可以通过 trueTableName

    属性设置变成操作其他的表

    (4) TP 中常用的字母函数:

    S 函数:缓存管理方法, 3.1.2 版本后因 cache 方法并入原 S 方法, 所以 cache 方法不

    再建议使用, 用 S 方法即可;

    U 函数:U 方法用于完成对 URL 地址的组装, 特点在于可以自动根据当前的 URL 模式和

    设置生成对应的 URL 地址:U('地址','参数','伪静态','是否跳转','显示域名');

    D 函数:D 方法是用的比较多的, 用于实例化自定义模型类, 是 ThinkPHP 框架对 Model

    类实例化的一种封装, 并实现了单例模式, 支持跨项目和分组调用, 调用格式如下:D('[项

    目://][分组/]模型','模型层名称'),方法的返回值是实例化的模型对象。

    M 函数:M 方法用于实例化一个基础模型类。 M 方法的调用格式:M('[基础模型名:]模型

    名','数据表前缀','数据库连接信息')

    注意:M 和 D 的区别:

    1、 M 不需要自定义模型类, 减少 IO 加载, 性能较好;

    2、 实例化后只能调用基础模型类(默认是 Model 类) 中的方法;

    3、 可以在实例化的时候指定表前缀、 数据库和数据库的连接信息;

    A 函数:A 方法用于在内部实例化控制器, 调用格式:A('[项目://][分组/]模块','控

    制器层名称')

    R 函数:R 方法用于调用某个控制器的操作方法, 是 A 方法的进一步增强和补充, R 方

    法的调用格式:R('[项目://][分组/]模块/操作','参数','控制器层名称')

    C 函数:C 方法是 ThinkPHP 用于设置、 获取, 以及保存配置参数的方法, 使用频率较

    N 函数:N 方法属于计数器方法,被用于核心的查询、 缓存统计的计数和统计。但是其

    实可以用于应用的其他计数用途, 用法比较简单, 调用格式:N('计数位置'[,'步进值'])

    L 函数:L 方法用于启用多语言的情况下, 设置和获取当前的语言定义, 调用格式:L('

    语言变量'[,'语言值'])

    session 函数:Session 方法用于 Session 设置、 获取、 删除和管理操作

    cookie 函数 :cookie 函数也是一个多元化操作函数, 完成 cookie 的设置、 获取和删

    除操作。

    TP 特性总结

    1.多表查询非常方便, 在 model 里几句代码就可以完成完成多表的关联操作。

    2.融合了 smarty 框架技术, 使前台和后台独立分开

    3.支持多种缓存技术, memcache 技术支持非常好

    4.命名规范, 模型, 视图和控制器严格遵循命名规则, 通过命名一一对应

    5.类库扩展、 驱动扩展、 应用扩展、 模型扩展、 控制器扩展、 标签库扩展、 模板引擎扩展、

    Widget 扩展、 行为扩展和模式扩展

    6.支持多种 URL 模式

    7.自动完成表单数据的验证过滤, 生成安全的数据对象

    8.内置 AJAX 数据返回方法, 支持 JSON、 XML 和 EVAL 格式返回客户端

    9.内建丰富的查询机制, 包括组合查询、 复合查询、 区间查询、 统计查询、 定位查询、 动态

    查询和原生查询, 让你的数据查询简洁高效

    10.系统支持多数据库连接和动态切换机制, 支持分布式数据库

    Laravel 框架

    Laravel 是一套简洁、 优雅的 PHP Web 开发框架。 它可以让你从面条一样杂乱的代码中解脱

    出来;它可以帮你构建一个完美的网络 APP, 而且每行代码都可以简洁、 富于表达力。

    ① 路由

    HTTP 请求类型路由:语法:Route::请求类型(URL 信息, 处理逻辑的地址或者功能代码)

    控制器路由(隐式路由) :Route::controller(URL 信息, 控制器名称)

    RESTful 资源控制器路由 :语法:Route::resource(URL 信息, 控制器名称)

    ② 自动加载文件

    laravel 的自动加载, 其实也就是 Composer 的自动加载

    Composer 根据声明的依赖关系, 从相关库的源下载代码文件, 并根据依赖关系在

    Composer 目录下生成供类自动加载的 PHP 脚本, 使用的时候, 项目开始处引入

    “/vendor/autoload.php” 文件, 就可以直接实例化这些第三方类库中的类了。

    laravel 自动加载的过程就是这样实现的, 总结为四种加载方式:

    1.PSR0 加载方式—对应的文件就是 autoload_namespaces.php

    2.PSR4 加载方式—对应的文件就是 autoload_psr4.php

    3.其他加载类的方式—对应的文件就是 autoload_classmap.php

    4.加载公用方法—对应的文件就是 autoload_files.php

    ③ 服务容器——laravel 真正的核心

    服务容器, 也叫 IOC 容器, 其实包含了依赖注入(DI)和控制反转(IOC)两部分, 是 laravel

    的真正核心。其他的各种功能模块比如 Route(路由) 、 Eloquent ORM(数据库 ORM 组件) 、

    Request and Response(请求和响应) 等等等等, 实际上都是与核心无关的类模块提供的,

    这些类从注册到实例化, 最终被开发者所使用, 其实都是 laravel 的服务容器负责的。

    Laravel 特性总结

    1.强大的 rest router:用简单的回调函数就可以调用, 快速绑定 controller 和 router

    2.artisan: 命令行工具, 很多手动的工作都自动化

    3.可继承的模版, 简化 view 的开发和管理

    4.blade 模版:据说渲染速度更快

    5.ORM

    6.migration: 管理数据库和版本控制

    7.测试功能也很强大

    8.composer 也是亮点, 现在新更新的项目都支持

    框架优缺点对比总结:

    TP 框架:

    优点

    动态模型:可以实现不需要定义 Model

    充分利用了 PHP5 的特性

    部署简单只需一个入口文件, 一切搞定, 简单高效

    中文文档齐全, 入门超级简单

    自带模板引擎, 具有独特数据验证和自动填充功能, 框架更新速度比较迅速

    缺点

    操作方法的命名就是当前的 ACTION_NAME, 这也造成了 ACTION_NAME 的命名可能会和 PHP 关

    键字冲突的情况

    耦合太深, 很多组件没法替换

    Lavarel 框架

    优点

    Laravel 的设计思想是很先进的, 非常适合应用各种开发模式 TDD, DDD 和 BDD, 作为一个框

    架, 它准备好了一切, composer 是个 php 的未来, 没有 composer, PHP 肯定要走向没落。

    laravel 最大的特点和优秀之处就是集合了 php 比较新的特性, 以及各种各样的设计模式,

    Ioc 容器, 依赖注入等。

    缺点

    基于组件式的框架,所以比较臃肿;

    命名空间, 相比较太复杂

     

    展开全文
  • 电商项目项目-pc后台管理介绍

    千次阅读 2020-03-30 15:35:16
    电商项目中一般包括: pc端; pc后台管理; 小程序; 移动web; 移动app 本项目主要实现的功能: 管理用户账号; 商品分类; 商品信息; 订单; 数据统计。 本项目采用的是前后端分离的模式 前端项目技术栈 ...

    电商项目中一般包括:

    1. pc端;
    2. pc后台管理;
    3. 小程序;
    4. 移动web;
    5. 移动app

    本项目主要实现的功能:

    1. 管理用户账号;
    2. 商品分类;
    3. 商品信息;
    4. 订单;
    5. 数据统计。

    在这里插入图片描述

    本项目采用的是前后端分离的模式
    在这里插入图片描述

    前端项目技术栈

    1. vue
    2. vue-router
    3. element-UI
    4. axios
    5. echarts

    后端项目技术栈

    1. node.js
    2. express
    3. Jwt 状态保持
    4. Mysql
    5. Sequelize操作数据库的框架
    展开全文
  • 电商项目面经

    2020-05-09 17:30:49
    按照简历的技术点问,问的比较仔细,还有之前做过的项目及解决问题。 2. 面试过程中还会要求手写代码! 3. java基础,多线程,线程池,spring源码,项目经验及问题,解决方案,算法 上海欣象互联网金融信息服务...
  • 电商项目面试项目介绍

    万次阅读 2018-03-09 17:57:39
    http://blog.csdn.net/xue_mind/article/details/52959107http://blog.csdn.net/c5153000/article/details/6210783
  • 电商项目PC端网页支付,采用支付宝支付,用户登录成功,购买商品支付宝支付付款成功跳转到网站首页。
  • 电商项目中的经典问题

    万次阅读 多人点赞 2018-04-26 15:39:24
    请描述一下这个系统?【回答技巧】 从3个方面来回答这个问题: |--系统背景及系统概述 |--系统包括的业务...第二个方面:系统包括的业务模块及主业务流程改项目分为前台和后天2大模块: 前台又包含:全部商品分...
  • php面试中介绍电商项目

    千次阅读 2019-01-21 07:53:00
    面试官:请介绍一下你的电商项目。     大神:该商城是一个综合性的B2C平台,主要针对女性消费者,主要销售女性化妆品,首饰,服装等女性用品。商家入驻商城销售自家的产品,并且可以得到商城提供...
  • 02分布式电商项目 - 项目简介

    千次阅读 2019-05-13 14:09:14
    项目是一个综合性的 B2B2C 平台,类似京东商城、天猫商城。网站采用商家入驻的模式,商家入驻平台提交申请,有平台进行资质审核,审核通过后,商家拥有独立的管理后台录入商品信息。商品经过平台审核后即可发布。...
  •   本文承接上一篇《从0到1搭建精品电商项目(用于毕设、简历等)—— 项目介绍与初步搭建》,上一次只是把项目的地基打好了,还需要继续完善各类功能。 老规矩,源码请联系公众号: 1 首页轮播图 + 分类功能实现 ...
  • 本课程是一套系统学习的课程,涵盖了HTML、CSS、JavaScript、Jquery、Servlet、Jsp、代理、反射、手写自定义框架、mysql数据库、JDBC、Mybatis框架等知识点,学习完上述知识点之后,老师将带领大家完成电商项目实战...
  • 如何去介绍电商项目

    千次阅读 2018-05-08 23:18:35
    可以从自己的工作阅历(工作经验),主要涉及到的项目类型和技术,到这里差不多了简单的介绍三两分钟就可以了,这些讲完后,如果面试官还没有审核完你的简历可以略微停顿一下,再继续介绍自己的项目引到自己工作乃至...
  • 如何清晰、高质量的给面试官介绍自己的电商项目

    万次阅读 多人点赞 2018-06-15 17:03:15
    2、能说会道如果自己的技术还过的去,但是表述的不尽人意,其实是吃了很大亏的,下面我来介绍一个大神的面试过程:面试官:请介绍一下你的电商项目。大神:该商城是一个综合性的B2C平台,主要针对女性消费者,主要...
  • 文章目录1 设计与准备工作1.1 概述1.2 技术栈1.3 项目拆分与聚合 1 设计与准备工作 1.1 概述   不少的同学在正式找工作前肯定都接触过了Java著名的SSM框架,当然SpringBoot和SpringCloud相信很多人也都了解过,前...
  • 电商项目面试——干货分享

    千次阅读 2019-02-20 20:19:34
    https://blog.csdn.net/c5153000/article/details/6210783 http://blog.csdn.net/ZuoAnYinXiang/article/details/78285582 http://blog.csdn.net/lihang_1994/article/details/72886071 ...
  • Dubbox 是一个分布式服务框架,其前身是阿里巴巴开源项目 Dubbo ,被国内电商及互联网项目中使用,后期阿里巴巴停止了该项目的维护,当当网便在 Dubbo 基础上进行优化,并继续维护,为了与原有的 Dubbo 区分,故将其...
  • 电商项目里的技术特点? ①技术更新较快:根据市场的需求,不断迭代更新. ②技术涉及面广:除了 PHP,还会用到 Python,GO 等其他的一些语言;数据库中 MySQL,nosql 是最频繁使用的(当然也有的公司会用 oracle,但是 ...
  • 最近收到一位求职者的简历,先来看看个人技能,如下:看完啥感觉?针对这份简历,我感觉技术栈与项目用到的技术严重不匹配,罗列了很多技术栈,但是项目中用到技术又屈指可数,这样的简历只能证明曾学过...
  • 电商项目测试实战(四)

    千次阅读 2019-08-22 15:10:51
    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 接着上一篇博客继续往下 :...四丶项目总结 一丶业务场景测试(从系统本身角度考虑) 1.根据需求确定功能个数:n个 如A...
  • 一、概念及需求 SPU(Standard Product Unit):标准化产品单元。是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的集合,该集合描述了一个产品的特性。通俗点讲,属性值、特性相同的商品就可以称为...
  • **可以毫不夸张的说,Spring重新定义了Java,**所以这是重点也是难点,工作中必须会,面试时肯定考,不过很多人在面试的时候在简历着熟悉Spring,但也不过只是会用SSM,在这个基础上做crud罢了,对于Spring全家...
  • 项目运行以后,network会一直调用这个接口。如果没有使用,那么就一直会报这个异常。 解决方案: 先找到:/node_modules/sockjs-client/dist/sockjs.js 文件 然后打开sockjs.js划到1606行,注释掉:self.xhr.send...
  • 不知道大家在实际工作中有没有接触到关于微服务的电商项目的,现在如果你想拿高薪的工作,简历上需要有这么一句话:具有分布式、高并发、高可用、大数据量的系统架构设计以及研发经验。 如果你简历上有这么一句话的...
  • 项目主要用于互联网电商企业中,使用Spark技术开发的大数据统计分析平台,对电商网站的各种用户行为(访问行为、购物行为、广告点击行为等)进行复杂的分析。用统计分析出来的数据,辅助公司中的PM(产品经理)、...
  • 为了更好的梳理相关知识,咱们先看纯手绘知识体系图 1.1 Kafka知识体系大纲 由于我手绘这些知识体系大纲是用的xmind软件,无法上传,所以都以截图的形式展示,细节处不清楚(毕竟图片形式有限) ...
  • 1-1 课程导学 2-1 Pycharm的安装和简单使用 2-2 MySQL和Navicat的安装和使用 2-3 Windows和Linux下安装Python2和Python3 ...3-1 项目初始化 3-2 User Model设计 3-3 Goods Model设计 3-4 Trade...
  • **可以毫不夸张的说,Spring重新定义了Java,**所以这是重点也是难点,工作中必须会,面试时肯定考,不过很多人在面试的时候在简历着熟悉Spring,但也不过只是会用SSM,在这个基础上做crud罢了,对于Spring全家...
  • 阿里 最重视项目经验 阿里一般情况下有五轮面试,其中大概有四轮都是基于项目的技术在问实现机制、改进技术方案、做的认为不足的地方,技术栈的实现...一些公司技术管理者可能不需要代码,临时上来让实现个业务需求

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,101
精华内容 2,040
关键字:

电商项目简历怎么写