2020年4月30日星期四

普通二本从小白到加入鹅厂的通关秘籍

普通二本从小白到加入鹅厂的通关秘籍


前言

本文是给想进入“BAT”等企业的开发朋友们提供思路的,内容全部来自于真实经历。

关于我(化名)

大家好,我是小白(化名),一名 iOS 开发工程师。

有些人在毕业的时候就能顺利进入“BAT”、“TMD”、“FLAG”,但是更多的人并没有这个机会,比如,最典型的——我。

努力就能改变命运。这是真的吗?

在我看来,虽然我不是特别聪明(但也不笨),但是努力确实给我带来了更多的机会。通过努力,我顺利拿到大厂offer,相信此时正在看这篇文章的你也一定可以的。

所以,无论你是想跳槽去大厂的工作党,还是即将毕业找工作的应届生,如果你想要进大厂却不知从何着手,希望你能将这篇文章反复看几遍,根据本文的内容找到正确且适合自己的方法,努力打磨,然后坚持坚持再坚持,我相信你一定能拿到大厂的offer。

颓废的校园经历

我毕业于一所普通的二本院校,大学时曾梦想成为学霸,幻想进入 BAT 大企业。然而,现实啪啪打脸,学渣一名。毕业的第一天,就成为一名待业状态的社会人。

曾经的我就是现实版的“余欢水”:“努力”地活着,却总是被生活“欺骗”。

上大学时,兴趣广泛,但叶公好龙,无一擅长; 我想要成为学霸、有所成就,但好高骛远,无所作为; 毕业那年考研,顺利落榜; 后来痛定思痛,背水一战,参加公务员考试,意外通过笔试,却惜败在面试。

那一年,我深刻地感受到 世界辣么大,却没有我的容身之处。

 

初入职场

迫于生活压力,在亲戚的介绍下,我进入深圳的一家创业公司做 iOS 开发。

由于我技术比较菜,工资只有 5k。当时我连 UITableView 的代理方法都不会用,UIView 的 frame 都不会设置,每次参加需求讨论会的时候,都插不进话,因为我都不是很懂啊。

实在要发言时,却也只能附和安卓的同事,说:俺也一样。

 

如果连最简单的业务需求都不能完成,是要被开的,所以当时的我就是处于被开的边缘。 迫于工作压力,我必须花额外的时间把基础知识都弄懂。

但是,因为虚荣心作祟,我又不想被同事说我太菜,所以每天选择在同事们下班后,一个人在公司疯狂学习。 如果别人正点下班,我就“996”; 如果别人"996",我就"10106"。

功夫不负有心人,三个月左右,我就能胜任独立模块的开发了。为了向进阶发展,我看完了《Effective Objective-C》、《Core Animations》等当年市面上所有的 iOS 书籍和技术文章,并及时地把一些高级技巧在项目中实践。

由于在公司表现良好(可能是加班比较多😂),领导给我涨薪到 8k。但是我觉得当时我的水平最起码能够得上 12k 以上。在这家公司干满一年后,我决定跳槽了。那年是 2015 年。

职场进阶

2015 年 iOS 的行情还不错,趁热打铁,我自己投简历面试,很轻松就进入一家 Top 10 的金融互联网公司。

大公司的分工更细,流程更规范,我在这里待了两年,时刻保持一颗学习的心态。

在这两年中 iOS 开发的大环境已经出现了拐点,由于开发者数量供大于求,整体上找工作的情况不如之前。 为了让自己不掉队,我复制在我在上家公司的成长模式——疯狂学习。

我研究并实践了当时社区比较流行的技术,比如 RAC、RxSwift、逆向开发、组件化等等。但我明白,由于我大学时候基础太差,离去一线互联网大厂的水平还有差距。

 

 

加入鹅厂

有一天,我收到猎头的电话,问我是否考虑腾讯?我欣然答应,沉睡在我心中多年的幻想又被唤醒。

然而想进入大厂没那么容易,需要对面试做系统性的准备。

我开始利用业余时间夯实面试需要的基础知识,经过大概三个月的准备,通过了五轮面试,终于顺利加入鹅厂!

下面我把准备面试的经验分享给大家(为了尊重公司,我不能把原题告诉大家,但我会把方向告诉大家,因为方向里自然有“题库”),分为基本功、软实力、加分项三个方面。下面一个个来说。

基本功

所谓基本功,就是你需要练到有肌肉记忆的技能,当面试官问起的时候,你能够信手拈来。

简历基本功

简历的好坏决定第一印象。

很多人可能技术很牛逼,却没能获得面试机会,就是吃在简历的亏上。比如,错别字连天、排版混乱、语句冗余不通顺。下面是我总结出的要点:

排版

我走的是极简风格,直接使用 Markdown 进行书写,然后转换为 PDF 格式。

作为一个 GUI 开发者,你也可以把简历制作成一个静态页面,加上漂亮的动画效果,来展示你优秀的基本功,给面试官眼前一亮的赶脚。比如,我的一位朋友就是这样制作简历的,当时也顺利地通过了面试。

书写逻辑

请遵循“STAR”法则。即情境(situation)、任务(task)、行动(action)、结果(result)。

比如,“为解决项目中遗留的回调地狱和内存问题,我用了 RxSwift 重构了 XX 模块,在团队内普及了响应式编程思想,受到了团队成员的一致好评”。这通常也是面试官提问的逻辑。

技术内容

1:底层探索能力

很多人会讽刺:面试造航母,上班拧螺丝! 其实不然,面试的高要求对于一家优秀的iOS需求单位来说是必须的!

  • iOS开发实现的确有很多的方式,但是一个真正懂得原理的开发人员在日后的开发工作中是非常重要。我见过一些开发人员:遇到BUG都是直接面向百度,不知道为什么直接 command + c/command + V OK,解决了,打版走人,下次又遇到了还是要面向百度,其中浪费的时间和小伙伴之间的沟通成本可想而知!

  • 底层原理只是你在工作开发中偷懒而逃避选择使用而已(或者全然不太了解)

  • 技术不断更新,底层原理是永恒根基

  • 底层原理是非常重要的,只有真正掌握原理才能迎接未来无限可能。

下面是我推荐大家学习的内容:

 

OC 底层探索篇也是大家熟悉而又陌生的地方,平时处处用,就是不知道为什么!

2.性能优化以及架构能力

只要你面试要求 20-30K 必然要求性能优化能力!

  • 怎么优化启动速度,应用包的瘦身!

  • 界面优化(卡顿检测以及分析解决)

  • 内存管理方面也是面试以及平时开发的重灾区!

  • 架构并不属于性能优化,但是我要求每一个 3以上开发 都要有一定的架构思维!

 image
3.数据结构算法
 

数据结构算法应该是每一个程序员必备的根据。我记得我的导师跟我说过:一个程序员需要两样东西:智商和勤奋

  • 英文能力衬托你的勤奋度

  • 数据结构算法反馈你的智商等级

数据结构与算法并不只是抽象的概念,掌握好的话可以写出更高效、运行得更快的代码,这对于如今盛行的网页和移动应用开发来说尤为重要。如果你最近一次使用算法是在大学课堂上或求职面试时,那你应该还没见识到它的真正威力!

这个主题的大多数资料都有一种通病——晦涩难懂。满纸的数学术语,我觉得一种有趣的学习方式也是非常重要的!

跨平台能力

跨平台的方案有很多:

 

如上表所示,RNWeex采用的技术方案大体相同,它们都使用JavaScript作为编程语言,然后通过中间层转换为原生的组件后再利用Native 渲染引擎执行渲染操作。而 Flutter 直接使用 skia 来渲染视图,而Flutter Widget则使用现代响应式框架来构建,和平台没有直接的关系。

从性能方面来说,Flutter 的性能理论上是最好的,RNWeex次之,并且都好于传统的 WebView方案

而从社群和社区的活跃来看,RN和Flutter无疑是最活跃的

总结:我个人针对现在的行情比较推荐大家学习:Flutter

 
  • 同时现在很多人也开始着手学习了

  • 如何衬托你的优势,我个人还要推荐在平时入门到项目的过程,不妨花点时间探索了一下背后的原理:渲染的流程,Flutter和原生的共存通讯优化

  • 下面这张思维导图大家可以参考学习

 

软实力

沟通能力

我用四个词来概括: 自信、流畅、耐心、礼貌。

很多小伙伴可能编码技能不错,却不能在面试中表达出来。

在面试过程中,无论面试环境怎样,面试官态度如何,你都要保持积极的态度。请记住,你是在求职,就要创造一切对你有利的因素。

比如,你可以与面试官主动握手,增加好感。

如果面试官问你的问题,你刚好不会,也要尽可能列举这个问题相关的概念,然后推测出这个问题的答案。

比如,面试官问,二进制重排的原理是什么?

假设你刚好不知道这个知识点,你可以答 App 启动前 dyld 相关的概念或者说一下 Mach-O 二进制格式的原理,来推测可能的二进制的重排机制,即使推测错了也没有关系,因为在这个过程中至少展示了你积极解决问题的能力。

当然,如果连相关概念也想不出来,那就诚实地回答不知道或者向面试官请教一下吧。

逆商能力

作为开发人员,难免会在工作中与各种人撕B,能够扛过这些压力,也是一项重要的素质。

比如,面试官问,你的学历背景一般,学校排名靠后,和211、985的毕业生竞争有什么优势?

那你要怎么作答?

如果你是一个心理素质不好的面试者,很可能就会支支吾吾或者愤而离场了。 相反,你应该不卑不亢,冷静作答,因为这恰恰可能是某些面试官看好你的信号。 通过压力面试给你最后的考验,所以千万不要失之交臂。

作答举例:

虽然我的学历不是211、985,但是我仍然通过了前面的技术面试,说明了贵司对我的技术实力的认可; 学历证明了过往的学习能力,我是普通本科,却能与211、985的毕业生同台竞争,说明我的学习能力并不输给他们。

加分项

现在的iOS开发为什么会遇到瓶颈是因为:前面储备过少,坐吃山空! 技术不断更新的时代,我希望你沉下心来与时俱进,不断储备技能为自己加分

其实这里并没有非常具体的推荐学习方向,总的如下几点!

  • 5G时代,小视屏/直播技术都是现在当红,并且掌握人群非常少的技术,OpenGL ES、Metal、FFmpeg等等!

  • 而应用逆向安全,是大部分大厂都一直重视的,只是在小公司突显不出来,如果对于大厂有想法的,可以尝试学习!
    当然除了跟iOS有关系的,比如被炒火的Python,谣传比iOS好找工作的前端等等都是可以学习的!
    技术储备和亮点,这些都得根据个人兴趣或者公司需求来进行学习,当然越多的储备就会使你后面的路走的越容易!

后记

现在很多大公司招人已经明确限制需要 211、985 的学历,而对于我们大多人这种双非二本学历,连敲门砖都木有。但是,能否拿到 offer,除了真的很幸运,也和本身的努力分不开。

推荐👇:

  • 020 持续更新,精品小圈子每日都有新内容,干货浓度极高。

  • 结实人脉、讨论技术 你想要的这里都有!

  • 抢先入群,跑赢同龄人!(入群无需任何费用)

  • (直接搜索群号:789143298,快速入群)
  • 点击此处,与iOS开发大牛一起交流学习

申请即送:

  • BAT大厂面试题、独家面试工具包,

  • 资料免费领取,包括 数据结构、底层进阶、图形视觉、音视频、架构设计、逆向安防、RxSwift、flutter,

     

Flutter Weekly Issue 53

Flutter Weekly Issue 53


插件

  1. left-scroll-actions

    A useful left scroll actions widget like WeChat.一款仿微信效果的 Flutter 左滑菜单插件。现在支持iOS的展开与弹性效果。

  2. flutter-screen-scaler

    A package to resize your widgets according to the screen size with the use of percentages.

  3. string-scanner

    A class for parsing strings using a sequence of patterns.

  4. dart-class-generator

    A Flutter that can generate Dart classes. Runs on Android, Windows and Web.

  5. r-scan

    📷🖨Flutter二维码&条形码扫描插件,支持相机、文件、链接、Uint8List类型扫描

  6. barrage-flutter

    This is a barrage Engine for flutter.Flutter弹幕库

  7. flutter-playout

    Audio & Video player in Flutter. This plugin provides audio/video playback with background audio support and lock screen controls for both iOS & Android. Also provides player events such as onPlay, onPause, onTime etc.

  8. FlutterTencentImPlugin

    腾讯即时通讯(IM),Flutter插件,同时支持 Android 和 iOS

  9. flutter-icons

    Customizable Icons for Flutter

  10. azlistview

    Flutter 城市列表,联系人列表,索引&悬停。Flutter CityList View, ContactList View, Index & Hover.

  11. Flutter-UI-Kits

    This project contains various inspired UI kits purely coded in Flutter framework.

  12. simple-auth

    The Simplest way to Authenticate in Flutter

  13. dson

    dart library which converts Dart Objects into their JSON representation

  14. fresh

    A dio interceptor for built-in token refresh.

  15. dart-tags

    ID3 Tag parser written on the pure dart language.

  16. FlutterToast

    Android and iOS Toast Library for Flutter

  17. flutter-facebook-login

    A Flutter plugin for allowing users to authenticate with native Android & iOS Facebook login SDKs.

  18. http-interceptor

    This is a plugin that lets you intercept the different requests and responses from Dart's http package. You can use to add headers, modify query params, or print a log of the response.

Quick Reference

  1. flutter-face-detection

    This is a Flutter plugin for real-time, on-device, offline face & eye detection.

  2. catcher

    Flutter error catching & handling plugin

  3. flutter-mlkit

    A Flutter plugin to use the Firebase ML Kit.

  4. amap-map-fluttify

    高德地图 地图组件 Flutter插件

  5. qrcode-scanner

    A Flutter plugin 🛠 to scanning. Ready for Android 🚀

  6. flip-box-bar

    A 3D Bottom Navigation Bar in Flutter

  7. geolocation

    Flutter geolocation plugin for Android and iOS.

  8. flutter-nfc-reader

    A new flutter plugin to help developers looking to use internal hardware inside iOS or Android devices for reading and writing NFC tags.

  9. flutter-tts

    A flutter text to speech plugin (Swift,Java)

  10. flutter-socket-io

    Socket IO supprt for flutter. Looking for contributors Swift and Java.

App

  1. flutter-showcase

    A simple, fast and easy way to share you flutter project or mockups with the world

  2. listen-poetry-app

    诗词吧APP,一个集 诗词/诗人推荐、搜索、简介、赏析、朗读(下个版本) 于一体的诗词兴趣 APP

  3. opengit-flutter

    OpenGit基于Flutter的Github客户端,支持Android和iOS。项目中涉及到BloC、Redux、国际化、多主题以及Github相关信息的查看等。

示例

  1. flutter-douyin-demo

    This is a Flutter project to copy Dou Yin (which named Tik Tok overseas). 这是一个利用Flutter复制抖音(海外叫做TikTok)的小项目。

工具

  1. flr-vscode-extension

    Flr(Flutter-R) Extension: A Flutter Resource Manager VSCode Extension

  2. flr-as-plugin

    Flr(Flutter-R) Plugin: A Flutter Resource Manager Android Studio Plugin

  3. pubspec-version

    A CLI tool to get/set/bump the version key in pubspec.yaml.

原文地址:https://flutterweekly.dev/flutter-weekly-issue-53/
版权声明:禁止一切形式的转载-禁止商用-禁止衍生
公众号:Android开发技术周刊


.Net平台GC VS JVM垃圾回收

.Net平台GC VS JVM垃圾回收


前言

不知道你平时是否关注程序内存使用情况,我是关注的比较少,正好借着优化本地一个程序的空对比了一下.Net平台垃圾回收和jvm垃圾回收,顺便用dotMemory看了程序运行后的内存快照,生成内存快照后,妈妈再也不担心我优化程序找不到方向了。

.Net平台垃圾回收

内存优化

凭空想象这些概念多少会索然无味,下图是我我基于本地的一个程序生成的内存快照,使用jetbrains推出的dotMemory工具生成。

生成内存快照

QQ截图20200422180141.png
程序运行时可以通过右上角的Get SnapShot按钮生成内存快照,内存快照里可以看到具体的对象、消耗内存的情况,比如说一些大的字符串对象,重复的大量的字符串对象, 那么从上面这张图上都能看到哪些关键字呢?
什么是Heap generation1和Heap greneration2呢?
什么是Allocated呢?

什么是GC

GC (Garbage Collection)如其名,就是垃圾收集,当然这里仅就内存而言。Garbage Collector(垃圾收集器,在不至于混淆的情况下也成为GC)以应用程序的root为基础,遍历应用程序在托管堆(Managed Heap)上动态分配的所有对象,通过识别它们是否被引用来确定哪些对象是已经死亡的、哪些仍需要被使用。已经不再被应用程序的root或者别的对象所引用的对象就是已经死亡对象,即所谓的垃圾,需要被回收。这就是GC工作的原理。为了实现这个原理,GC有多种算法。比较常见的算法有Reference Counting,Mark Sweep,Copy Collection等等。目前主流的虚拟系统.NET CLR,JVM都是采用的Mark Sweep算法。

Mark-Compact 标记压缩算法

简单地把.NET的GC算法看作Mark-Compact算法。阶段1: Mark-Sweep 标记清除阶段,先假设heap中所有对象都可以回收,然后找出不能回收的对象,给这些对象打上标记,最后heap中没有打标记的对象都是可以被回收的;阶段2: Compact 压缩阶段,对象回收之后heap内存空间变得不连续,在heap中移动这些对象,使他们重新从heap基地址开始连续排列,类似于磁盘空间的碎片整理。



Heap内存经过回收、压缩之后,可以继续采用前面的heap内存分配方法,即仅用一个指针记录heap分配的起始地址就可以。主要处理步骤:将线程挂起→确定roots→创建reachable objects graph→对象回收→heap压缩→指针修复。可以这样理解roots:heap中对象的引用关系错综复杂(交叉引用、循环引用),形成复杂的graph,roots是CLR在heap之外可以找到的各种入口点。
GC搜索roots的地方包括全局对象、静态变量、局部对象、函数调用参数、当前CPU寄存器中的对象指针(还有finalization queue)等。主要可以归为2种类型:已经初始化了的静态变量、线程仍在使用的对象(stack+CPU register) 。 Reachable objects:指根据对象引用关系,从roots出发可以到达的对象。例如当前执行函数的局部变量对象A是一个root object,他的成员变量引用了对象B,则B是一个reachable object。从roots出发可以创建reachable objects graph,剩余对象即为unreachable,可以被回收。

指针修复是因为compact过程移动了heap对象,对象地址发生变化,需要修复所有引用指针,包括stack、CPU register中的指针以及heap中其他对象的引用指针。Debug和release执行模式之间稍有区别,release模式下后续代码没有引用的对象是unreachable的,而debug模式下需要等到当前函数执行完毕,这些对象才会成为unreachable,目的是为了调试时跟踪局部对象的内容。传给了COM+的托管对象也会成为root,并且具有一个引用计数器以兼容COM+的内存管理机制,引用计数器为0时,这些对象才可能成为被回收对象。Pinned objects指分配之后不能移动位置的对象,例如传递给非托管代码的对象(或者使用了fixed关键字),GC在指针修复时无法修改非托管代码中的引用指针,因此将这些对象移动将发生异常。pinned objects会导致heap出现碎片,但大部分情况来说传给非托管代码的对象应当在GC时能够被回收掉。


垃圾回收之三个阶段

PhaseInGarbageCollection.png

  • Marking Phase:在标记阶段会创建所有活动对象的列表。 这是通过遵循所有根对象的引用来完成的。 不在活动对象列表中的所有对象都可能从堆内存中删除。
  • Relocating Phase:所有活动对象列表中所有对象的引用在重定位阶段进行更新,以便它们指向在压缩阶段将对象重定位到的新位置。
  • Compacting Phase:随着释放死亡对象占用的空间并移动剩余的活动对象,堆会在压缩阶段被压缩。 垃圾回收后剩余的所有活动对象均按其原始顺序移至堆内存的较旧端。

垃圾回收之Genearation - 分代

堆内存在回收过程中不是一次性回收所有,而是分为3代,目前也支持3代,根据上面的截图可以看出来。因此可以在垃圾回收期间适当地处理具有不同生存期的各种对象。 取决于项目的大小,每一代的内存将由公共语言运行时(CLR)给出。 在内部,Optimization Engine将调用Collection Means方法来选择哪些对象将进入第1代或第2代。


HeapGenerationInGarbageCollection.png

  • Generation 0:所有短期对象(例如临时变量)都包含在堆内存的第0代中。 除非它们是大对象,否则所有新分配的对象也是隐式的第0代对象。 通常,垃圾回收的频率在第0代中最高。
  • Generation 1:如果运行在垃圾回收中未释放的第0代对象占用的空间,则这些对象将移至第1代。这一代中的对象是第0代中的短期对象和第2代中的长期对象之间的一种缓冲区对象。
  • Generation 2:如果某个第1代对象占用的空间未在下一次垃圾回收运行中释放,则这些对象将移至第2代。第2代对象的生存期很长,例如静态对象,因为它们整个都保留在堆内存中 处理持续时间。

GC给我们带来的优势

  • 垃圾回收使用3个代的概念成功的在托管堆上有效的分配对象内存。
  • 不再需要手动释放内存,GC会在不需要时自动释放内存空间。
  • 垃圾回收可以安全地处理内存分配,因此没有对象会错误地使用另一个对象的内容。
  • 新创建的对象的构造函数不必初始化所有数据字段,因为垃圾回收会清除以前释放的对象的内存。

非托管堆

说了半天都在说托管堆,那么非托管堆呢?垃圾回收是不知道什么时候去处理非托管堆资源,比如文件句柄,网络连接、数据库连接。以下两种方式用来处理非托管堆垃圾回收。

  1. 在定义类时声明析构函数。
  2. 在定义类时实现IDisposable接口并实现Dispose函数, 实现接口有在程序中有两种处理方法,使用using关键字,推荐使用, 再就是在finally中显式调用Dispose函数。

附录GC常用函数

返回指定对象的当前代数public static int GetGeneration(Object);检索当前认为要分配的字节数。 一个参数,指示此方法是否可以等待较短间隔再返回,以便系统回收垃圾和终结对象public static long GetTotalMemory (bool forceFullCollection);返回已经对对象的指定代进行的垃圾回收次数。public static int CollectionCount (int generation);获取垃圾回收的内存信息public static GCMemoryInfo GetGCMemoryInfo ();强制对所有代进行即时垃圾回收。public static void Collect ();

jvm垃圾回收

好吧,说到这里还没提出来jvm垃圾回收,如果你已经了解了jvm垃圾回收,从上面的垃圾回收算法和分代回收来看,.Net平台和jvm在垃圾回收这块设计思路是一致的,两者的垃圾回收算法都包含:标记清除算法、复制算法、标记整理算法、分代收集算法。
** 当前商业虚拟机算法都使用分代收集算法,jvm根据对象的存活周期把内存划分为:
年轻代、老年代、永久代。

新生代(Young generation)

绝大多数最新被创建的对象会被分配到这里,由于大部分对象在创建后会很快变得不可达,所以很多对象被创建在新生代,然后消失。对象从这个区域消失的过程我们称之为 minor GC。
新生代 中存在一个Eden区和两个Survivor区.新对象会首先分配在Eden中(如果新对象过大,会直接分配在老年代中)。在GC中,Eden中的对象会被移动到Survivor中,直至对象满足一定的年纪(定义为熬过GC的次数),会被移动到老年代。
可以设置新生代和老年代的相对大小。这种方式的优点是新生代大小会随着整个堆大小动态扩展。参数 -XX:NewRatio 设置老年代与新生代的比例。例如 -XX:NewRatio=8 指定 老年代/新生代 为8/1. 老年代 占堆大小的 7/8 ,新生代 占堆大小的 1/8(默认即是 1/8)。
例如:

-XX:NewSize=64m -XX:MaxNewSize=1024m -XX:NewRatio=8

老年代(Old generation)

对象没有变得不可达,并且从新生代中存活下来,会被拷贝到这里。其所占用的空间要比新生代多。也正由于其相对较大的空间,发生在老年代上的GC要比新生代要少得多。对象从老年代中消失的过程,可以称之为major GC(或者full GC)。

永久代(permanent generation)

像一些类的层级信息,方法数据 和方法信息(如字节码,栈 和 变量大小),运行时常量池(JDK7之后移出永久代),已确定的符号引用和虚方法表等等。它们几乎都是静态的并且很少被卸载和回收,在JDK8之前的HotSpot虚拟机中,类的这些"永久的" 数据存放在一个叫做永久代的区域。
永久代一段连续的内存空间,我们在JVM启动之前可以通过设置-XX:MaxPermSize的值来控制永久代的大小。但是JDK8之后取消了永久代,这些元数据被移到了一个与堆不相连的称为元空间 (Metaspace) 的本地内存区域。

小结

JDK8堆内存一般是划分为年轻代老年代不同年代 根据自身特性采用不同的垃圾收集算法
对于新生代,每次GC时都有大量的对象死亡,只有少量对象存活。考虑到复制成本低,适合采用复制算法。因此有了From SurvivorTo Survivor区域。
对于老年代,因为对象存活率****高,没有额外的内存空间对它进行担保。因而适合采用标记-清理算法标记-整理算法进行回收。

总结

目前对比了.Net平台垃圾回收和jvm垃圾回收,对于垃圾回收算法和分代的概念,两者设计思路都相同,唯一的区别我个人觉的JDK8以后jvm的垃圾回收效率更高,根据不同的代使用不同的垃圾收集算法,这一点似乎是.Net平台垃圾回收没有实现的地方。

参考链接

https://www.geeksforgeeks.org/garbage-collection-in-c-sharp-dot-net-framework/
https://juejin.im/post/5b4dea755188251ac1098e98
https://kb.cnblogs.com/page/106720/
https://www.zhihu.com/question/31806845







实现NetCore3.1运行在DockeDesktop下并用Nginx实现负载均衡

实现NetCore3.1运行在DockeDesktop下并用Nginx实现负载均衡


一、首先去https://www.docker.com/products/docker-desktop下载Windows版本的Docker Desktop并安装(需要win10专业版以上操作系统,并启用CPU虚拟化和安装Hvper-V)。

二、新建一个.NetCore3.1的API项目,在创建的时候选中启用Docker支持。

三、写一个简单的响应输出

public IActionResult Hello()  {   return Content(JsonConvert.SerializeObject(new ContentModal{     Status = 1,    Code = 200,    Message = $"请求成功=>{Request.HttpContext.Connection.LocalIpAddress}:{Request.HttpContext.Connection.LocalPort}",    Content = "ok",   }), "application/json", Encoding.UTF8);  }

四、项目中的Dockerfile文件按以下内容完善(多余的可以删掉)

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS baseWORKDIR /appEXPOSE 8001EXPOSE 443COPY . .ENV ASPNETCORE_URLS ["dotnet", "weixinKey.dll"]

并且右键此DockerFile属性,如果较新则复制。

使用Release模式生成项目,管理员运行cmd,定位到当前项目的Release目录下的netcoreapp3.1目录(我用的是.net core3.1版本,如果是其它版本,这个目录名会不同)

然后运行docker build命令打包成docker包

第一次打包的时候会下载所依赖的环境。

五、打包完成后运行Power Shell(管理员模式),然后运行 docker images即可看到docker包已经推送到Docker Desktop中了

六、依次启动多个此docker的实例,本次测试启用了四个实例。

七、查看Docker Desktop中的实例情况

八、下载Nginx的最新版本 >#user nobody;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events { worker_connections 1024;}http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; gzip on; upstream wxapi{ server 10.2.18.244:8887 weight=1; server 10.2.18.244:8888 weight=1; server 10.2.18.244:8889 weight=1; server 10.2.18.244:8890 weight=1; } # down 此标记的服务器不参与负载. # weight 值越大,权重就越大,越能多次响应请求 # backup 其它服务器无法响应是会请求此种类型的服务器应急。 server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { #root html; #index index.html index.htm; proxy_pass #proxy_redirect default; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }}

九、启动Nginx(双击nginx.exe或者CMD下运行)

十、访问测试

Docker中会对每个实例虚拟一个IP地址,至此,我们的API成功运行在Docker中并通过Nginx实现了负载均衡。

 


在WebApi 中使用AutoFac

在WebApi 中使用AutoFac


参考文档

https://www.cnblogs.com/htsboke/p/10956807.html

https://www.cnblogs.com/lenmom/p/8510572.html

 

在WebApi项目中使用AutoFac,结构如下:

首先在Api项目当中引用AutoFac包,如下图所示:

 

仓储类:

 1  public interface IUsersRepository 2  { 3   int GetUserIsExists(UsersEntity criteria); 4  5  } 6  7  8  public class UsersRepository : IUsersRepository 9  {10   Logger log = LogManager.GetLogger("UsersRepository");11 12   /// <summary>13   /// 获取用户是否存在14   /// </summary>15   /// <param name="criteria"></param>16   /// <returns></returns>17   public int GetUserIsExists(UsersEntity criteria)18   {19    string sql = "。。。。";20    try21    {22     //查询sql代码,此处省略。。。。    
}28 catch (Exception ex)29 {30 log.Fatal(ex, "获取用户是否存在异常:{0},SQL:{1}", ex.Message, sql);31 return 0;32 }33 }34 }

服务类:

 1  //接口 
public interface IUsersService 4 { 5 int GetUserIsExists(UsersEntity criteria); 6 7 } 8 10 //实现类11 public class UsersService : IUsersService12 {13 private readonly IUsersRepository _usersrepository; 14 public UsersService(IUsersRepository usersrepository) //通过构造函数注入15 {16 _usersrepository = usersrepository;17 }18 19 /// <summary>20 /// 获取用户是否存在21 /// </summary>22 /// <param name="criteria"></param>23 /// <returns></returns>24 public int GetUserIsExists(UsersEntity criteria)25 {26 return _usersrepository.GetUserIsExists(criteria);27 }28 }

在Api接口项目中创建一个AutoFac工具类:AutofacUtil.cs   

 1  public class AutofacUtil 2  { 3   private static IContainer _container; 4  5   public static void ConfigureContainer() 6   { 7    #region AutoFac IOC容器 8  9    var builder = new ContainerBuilder();10 11    try12    {13     //builder.RegisterControllers(Assembly.GetCallingAssembly()); //注册mvc控制器 需要引用package Autofac.Mvc14 15     //builder.RegisterApiControllers(Assembly.GetExecutingAssembly()).PropertiesAutowired(); //支持Api控制器属性注入16     builder.RegisterApiControllers(Assembly.GetCallingAssembly()); //注册所有api控制器 构造函数注入 需要引用package Autofac.WebApi17 18     //注册程序集19     #region Service20     var assemblysServices = Assembly.Load("WebApi.Service");21     builder.RegisterAssemblyTypes(assemblysServices)22     .AsImplementedInterfaces()23     .InstancePerDependency();24     

网站遭遇负面SEO怎么办

网站遭遇负面SEO怎么办


 短视频,自媒体,达人种草一站服务

负面SEO一般用于在竞争Google SEO网站排名上,一尘SEO见过不少的网站被使用负面SEO的手法,降低了其在Google上的排名,今天来说说网站遭遇了负面SEO可以有哪些解决方法。

那么,什么是负面SEO?

负面SEO简单理解就是竞争对手利用容易造成Google惩罚的方式,为对方制造问题,从而达到试图降低对方排名的目的。

但这里指的负面SEO,并不是利用SEO手段,为竞争对手制造的负面新闻。

那么,常见的负面SEO方法有哪些呢?

1、链接异常波动

当你发现某个时间段内,你的网站突然增加了大量的外部不相关链接,比如:来自链接农场的外链,同IP多域名的新闻站群,最常见的是来自众多赌博网站的反向链接,被黑客攻击网站的隐藏链接。

这个时候你很可能遭遇负面SEO,所以定期对外链监控是每名SEO人员工作计划的一部分。

2、网站出现异常

当你的网站近期出现异常,比如:网站加载速度变慢,莫名的出现弹窗,增加大量不相关友情链接,页面样式出现错位等情况的时候,你需要对网站进行检查,很有可能站点是被黑客攻击,如果这个问题持续一段时间,那么恢复起来相对麻烦。

3、负面的社交媒体评论

例如在Google地图都会有评论的选项,如果你的公司或者商铺一段时间内在这些产品与社交媒体中出现大量的负面新闻,Google可能会考虑重新对你的站点进行评级,如果不及时修正,那么很有可能降权。

4、抢先索引

这个是最致命的问题,对于一些权重比较高的老站点,他们往往享有优先索引的权利,简单理解就是你的内容刚刚创作完成,如果对方够快,复制了你的内容,那么它很快被加入到对方的索引库中,而你的站点,往往被误认为是抄袭者,被放到低质量索引库中。

5、善意的错误

它往往是由于SEO外链推广员不成熟造成的,为了短期的绩效,以及追求外链建设的数量,它可能制造了大量的论坛签名,博客评论,外国网站的免费目录,购买的站群链接,同一锚文本的大量外链等等。

它往往被Google识别为作弊,形成SEO负面信息。

那么,面对负面SEO,我们该如何处理呢?

①利用软件工具定期审查你的外链状况

②不定期为网站做诊断,查看是否被黑

③一旦遭遇负面SEO,修整站点,增加原创内容,与高质量外链,并适度增加社交媒体影响力。

总结:遭遇负面SEO信息,不要过于担心,按照审查流程,认真检查,Google目前可以很好识别一些来自垃圾站点的外链,它们将对其不记入投票系统,并不会产生重大的影响。

Google SEO

申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!


EDM邮件营销哪个好?

EDM邮件营销哪个好?


 短视频,自媒体,达人种草一站服务

由于邮件营销 成本低,操作简单,被越来越多的商家作为主要的营销方式,但是市场上各种邮件营销工具,效果和价格也都是千差万别,那么怎样才能选择一款好用的邮件营销工具呢?U-Mail邮件营销专家就给大家介绍市面上常见的几种邮件营销方式。

一、个人邮箱

目前市面是上个人邮箱众多,比如我们常用的:新浪邮箱、网易邮箱、QQ邮箱、雅虎邮箱等, 但是各大邮箱提供商早已经禁止个人邮箱进行邮件营销的行为,限制单个邮箱的发件频率和发件数量。

二、邮件营销软件

邮件营销软件是市面上最常见的一种邮件营销工具。在自己电脑下载软件安装后就可以进行邮件群发,但是这种邮件营销方式有很多弊端:

1、邮件发送过程中会占用电脑过多资源和网络,长时间超负荷运转,一般的办公电脑很容易卡顿或死机。

2、受到本地电脑IP限制,需要购买大量IP资源,同一IP如果发送太多邮件,很容易导致IP被封。

3、邮件营销软件都是租用第三方邮件服务器,如果邮件发送频率太频繁,第三方邮件服务器也可能会限制你的邮件发送频次。

4、无法对邮件群发过程进行监测,不能获取完成的邮件营销数据。

三、邮件营销平台

邮件营销平台大多都是自建邮件服务器,不需要电脑挂机,也无需更换IP ,通过后台自动轮换IP 来完成邮件群发的工作。就拿现在市面上U-Mail邮件群发平台为例来说:

1、邮件营销效果好

U-Mail通过自建邮件群发平台,在海内外拥有众多邮件服务器和海量固定IP资源,自主研发邮件群发系统,邮件群发过程中可以自动更换IP,邮件营销送达率高达90% 以上 。

2、邮件营销成本低

U-Mail邮件营销平台采用无邮箱群发技术,无需大量发件箱,一个账号就可日发上千万。而且U-Mail邮件营销平台按效果计费,发送不成功不收费,极大的减少了邮件营销的成本。

3、邮件营销操作简单

U-Mail邮件营销平台通过网页登录就可以进行邮件群发工作,邮件群发操作简单,只需输入目标地址,就可以创建邮件营销任务,24小时都可以进行邮件营销。

4、邮件营销功能完善

U-Mail邮件营销平台功能众多,不仅可以添加十几种自定义变量(如收件人姓名,年龄、生日等),也可以设置发送时间,发送速度等,完全满足各种邮件营销需求。

5、专业的邮件营销服务

U-Mail邮件营销平台拥有专业的邮件营销服务团队,营销顾问一对一的辅助,帮助客户策划邮件营销方法,为用户优化邮件营销内容,保障其邮件营销效果。

想了解更多邮件营销相关问题,请关注U-Mail邮件营销平台(p>

温馨提示:为了保障邮件群发效果,U-Mail邮件营销平台不发这些内容:游戏相关产业、灰色行业、违法违规内容等。


2020年4月29日星期三

2020内功修炼之:亚马逊SP广告精密型优化教程(3)

2020内功修炼之:亚马逊SP广告精密型优化教程(3)

上两篇给大家介绍了亚马逊SP广告的预算测定方法、广告优化方法等内容,本篇主要向大家介绍亚马逊SP广告的核心逻辑,说这个可能有些虚什么叫核心逻辑,那我就用一个具体的例子做开篇:为什么竞争对手的广告出价没我高,但首页广告位老是被抢走?

要回答这个问题,首先得弄清楚是什么决定了产品能抢到最优广告位。如果没有我上面的问题,很多小伙伴的第一印象答案肯定是"CPC出价",还有些小伙伴会回答"权重",真实情况是,都只答对了一半。

在这里,需要引入两个概念:"CPC出价得分"、"广告质量得分"。下面,我将就着下面的广告展示排名测算模拟模型给大家介绍这两个概念并分析亚马逊SP广告的核心逻辑:

1201.png

从上面的模拟模型中可以看到几个维度,CPC出价即为大家在打广告时设置的出价,而CPC出价,对应在系统里其实反应了一个得分概念,叫"CPC出价得分"。"CPC出价得分"则是对你这个广告出价的认定评分,但最终广告展示排名的高低,则是取决于广告"权重综合得分"的高低,而"权重综合得分"与"CPC出价得分"的区别在于,"权重综合得分"="CPC出价得分"+"广告质量得分"

"广告质量得分",顾名思义即是对于你所打的广告的质量所作的评分,而所打广告的质量,通俗来说既是该广告的五项指标(具体可参考上篇文章)是否优秀,被点击并成单的概率有多大(概率越大卖家越高兴因为赚到钱了,亚马逊也高兴因为大概率收到佣金了),或者通俗来说跟报deal一样,就是把这个位置给你打广告的产品,单坑产出有多少。如果单坑产出高,则即使你在CPC出价里没投太多钱,但佣金还是能大概率赚到你钱,所以亚马逊也乐意。要不即使坑位给了不出单,除非广告费用投的非常高能填补该坑位应该能给亚马逊带来的佣金收入,要不为啥会给你坑位呢?

按照上面的模拟模型表来解释,广告排名第一位的"权重综合得分"需要10分。甲卖家的CPC出价并不高,"CPC出价得分"只有2分,但因为广告优化的非常好,"广告质量得分"有8分,所以达到了10分得到了广告展示排名的第一名。而丁卖家,虽然CPC出价很高"广告出价得分"有5分,但因为没有系统性的对广告进行优化,"广告质量得分"只有两分,所以导致"权重综合得分"只有7分,广告展示排名只能是最后一名。

1202.png

以上例子就已经可以解释我们一开始的问题了,为什么竞争对手出价比你低很多,但展示位置却被抢走了呢?因为它的"广告质量得分"很高,最终虽然在"CPC出价得分"上劣与你,但"权重综合得分"比你高,自然它可以把你的广告位抢走,换言之你花了比它多两三倍的钱,但因为没有好的位置产出却低了两三倍,这一来一回的投产比差距可谓是天壤之别,说道这里大家也可以明白广告优化的重要性了,可以说对广告细致的优化(说明下对广告的优化不是单指在广告后台操作操作就完了,涉及到对文案、图片、价格、评价的综合优化,其实是涉及到整盘的优化,但是根据我上篇的文章做针对性的根据不同维度对不同产品和关键词进行优化而不是眉毛胡子一把抓)才是亚马逊SP广告的核心,只有广告质量得分上去了才能形成一个良性的业务循环,否则将陷入一个持续烧钱且无法改变的死循环,跟很多小伙伴聊广告优化的时候都会发现有不少小伙伴在这个死循环里。

1203.png

有些小伙伴可能也会说,按照你这个理论,那是不是我一开始打一个产品的时候,广告出价高到一定点,那也能抢到第一的位置呢?我可以很明确的回答你,在某些品类可能可以,但大部分的品类是行不通的,因为亚马逊卖家渐渐的趋于品牌化,品牌化意味着运营系统化,运营系统化意味着现在不论卖家有没有刻意去做"广告质量得分",但因为系统化的运营了所以都会有一定的"广告质量得分"且都不低,对于亚马逊平台来说则是说明在这个品类里的广告即设定"广告质量得分"及格线,低于这个及格线的即使出价很高那"CPC出价得分"也会打折,甚至不给"CPC出价得分",那你说你能不能抢到第一呢?从核心来说也就是坑位给你了也没有产出最终从你这儿收的广告费能有多少呢而且是否可持续的收呢,平台又不傻。

聊到这里,可能有些小伙伴仍觉得是废话,因为会觉得我当然知道要优化亚马逊SP广告。但我所说的优化,跟很多小伙伴们之前所做的优化的细致程度和所需花的功夫可完全不一样,还是那句老话:有多少投入就有多少回报,不愿意花大量时间在优化上,就花大量的钱在上面,且可能还没效果。上面长篇累牍的说了这么多,一方面是让小伙伴们知道盲目的出价是没有意义也是没有用的,另一方面也是让大家知道优化的重要性并且落实到一个具体的指标上,让大家能有个指标性的实物化感受而不是单纯的不停的说要广告优化。而从上面的模拟模型也能看出,对于不成熟的广告组,在确保及格线的"广告质量得分"的时候,用"CPC出价得分"来打这个策略是可以的,但这个只是短期策略,长期来说就是要不断降低"CPC出价得分"并提升"广告质量得分"不断迭代,来达到业务良性循环。

1204.png

A-Lu跨境为大家带来的三篇亚马逊SP广告优化分享就到这里,如有疑问或者需要深入交流沟通可随时联系我。下一篇将为大家带来"爆款养成核心秘笈",我将就线上零售爆款养成的话题给各位做分享,请小伙伴们继续支持A-Lu跨境。



文章来源:https://www.ikjzd.com/home/121014

亚马逊日本站:洞察消费文化很重要!

最近几年爆火的亚马逊日本站吸引了许多卖家,经常耳闻有不间断的销量爆发,虽然消费单量相对美国站欧洲站稍低一些,操作空间也稍微低一点,但好的一面是,亚马逊日本站相对于其他站点更容易上手。今天数魔跨境给大家介绍一些亚马逊日本站选品的思路与启发。

一. 日本消费群体分析:

日本,是全球最大的电子商务市场之一,仅次于中国、英国、美国,线上购物的比重超过百分之80,除了本土购物平台,消费最高的就是亚马逊平台。尽管日本的线下超市购物非常方便,但是对于不那么追求品质或一定要线下试穿的消费者,更愿意在线上购买产品。有悟性的跨境人应该知道,日本的消费主体对为老年人。

有人会问,老年人还上网购物吗?回答是:那当然,日本老人可时尚了!今天的日本65岁以上已经超过3500万,65岁以上的比例已经超过27%,位居全球第一。那么在亚马逊日本站的买家年龄结构偏大,买家多数为老年人。

二.日本消费特点及热销产品:

日本是发达国家,消费水平深受西方影响,消费习惯也与欧美接近,除去日本特有的文化节日,大部分促销季也十分相似:圣诞、情人节、元旦,完全可以复制欧美站的重要节日礼品爆款,那么日本消费群体注重哪些文化呢?有什么是亚马逊日本站热销产品呢?

1)宠物文化

1176.png

日本的秋田犬是比较出名的,同时日本还有十几个猫岛,每个小岛上居住着数百只猫。日本人对于清洁和社会秩序是比较重视的,因此遛狗的人们都会随身带着塑料袋等物品,方便及时清理宠物的排泄物。所以装粪便的收纳器、宠物玩具、狗粮猫粮等周边产品都可能成为下一个爆款。

(2)送礼文化

互赠礼品在日本是极为普遍的现象,而这其中包含着独特的心理及文化因素。"程式化"是日本礼文化的一个显著特征,日本人送礼从内容到顺序基本上都是固定的,"礼尚往来"在日本人的送礼方式上得到了淋漓尽致的体现。各种节日、朋友见面、甚至搬家都要准备一些小礼物。小礼物的价值不会太高,但是频率很高,这里注意,梳子与手帕是日本人忌讳的谐音禁忌。综上所述,一些小的礼品如如首饰、别针、靠垫、创意居家小产品都是亚马逊日本站选品的热门。

(3)骑行文化

日本是世界上人口密度最高的国家之一,人多路窄,加上日本人不紧不慢的性格,形成了独特的自行车文化。日本的城市社区建设非常完善,骑车五到十分钟就能找到便利店、超市、学校等,解决日常所需,于是自行车成为了出门的理想工具。比起开车,日本人更愿意自行车配合电车的方式上班,让出行更有效率,更健康。骑自行车也成为了一种锻炼身体的城市风尚。因此,自行车以及自行车周边(车篮、车筐、车用水壶)都是非常不错的产品。

三、运营要点

日本消费者网购能力强,退货率较低,但是回评率也不是很高,建议对于日本站要索评哟。日本买家消费高峰时期:日本的公司普遍在12月发3~4个月的年终奖给员工,这就是日本买家资金最充裕的时间段也是亚马逊日本站卖家的销售旺季。对于日本站的店铺,要入乡随俗,把店铺名换为日文,因为日本消费者更喜欢本土产品,所以打造为本土化更受欢迎。

四、亚马逊日本站选品、索评工具

对于选品与索评建议亚马逊卖家可以借助一些站外工具。SellerMotor数魔跨境给亚马逊日本站的卖家推荐SellerMotor智能索评,一键索评高效率,方便快捷地提高回评率!对于选品SellerMotor数魔跨境推荐SellerMotor的浏览器插件,是一款亚马逊选品工具,提供类目选品、关键词选品、大数据选品,更能快速查询产品信息及上架销量,轻松助力日本站选品!

通过今天对亚马逊日本站的基本介绍,相信能给更多对亚马逊日本站选品有想法的跨境卖家提供一些新的思路。


来源:邦阅


文章来源:https://www.ikjzd.com/home/120949

美国确诊破百万!特朗普回应病例最终将降到零,亚马逊对卖家账号售卖的产品再“出手”

美国确诊破百万!特朗普回应病例最终将降到零,亚马逊对卖家账号售卖的产品再"出手"


【市场观察】

特朗普回应美国确诊病例超百万:病例最终将降到零

当地时间4月28日,美国新冠肺炎确诊病例超过100万,美国总统特朗普称,"病例最终将降到零。"他认为,病例数量大是因为"我们的检测数量比别的国家高得多"。

国务院联防联控机制新闻发布会:4月26日起,非医用口罩出口企业报关需提交电子或书面的声明

2020年4月26日,国务院联防联控机制就"加强医疗物资出口质量监管"主题举行了新闻发布会。海关总署综合业务司司长金海指出,此次三部委发布的12号公告是对优化口罩生产、流通以及出口等环节的监管进一步明确了要求。除了提交电子或者书面出口方和进口方共同声明外,其他的通关手续及流程没有什么变化。此外,对申报出口防疫物资,在"生产销售单位"这一栏目里要如实填写实际生产企业的名称以及代码,如实提交"出口方和进口方声明",如实填写"医用/非医用"、商品名称、规格型号等申报要素,以便顺利通关。

腾讯旗下财付通入局跨境支付

4月27日,财付通、平安付以及中信银行深圳分行已于日前正式获批开展跨境外汇支付业务。根据最新消息,财付通已通过外汇收支名录登记,成为首批获得外汇业务资质的支付机构。后续财付通将继续在监管部门指导下,合规开展跨境业务,助力复工复产,服务更多用户。

国际航协:近期航空货运运力严重不足

国际航空运输协会3月份全球航空货运数据显示,全球航空货运运力严重不足。3月份,全球航空货运需求同比去年下降15.2%(国际市场下降15.8%)。3月份,货运运力同比去年下降22.7%(国际市场下降24.6%)。国际市场占航空货运市场总量的87%。今年3月,国际航空货运运力与去年同期相比萎缩43.7%。通过提升货机利用率,包括利用闲置客机开展货运业务,运力增加6.2%,部分抵消运力萎缩带来的影响。

【平台新闻】

营业执照经营范围被"狙",又一批亚马逊账号即将出局

近日,据卖家爆料,亚马逊正在对卖家账号售卖的产品对应的营业执照经营范围提出了一致性要求。根据亚马逊通知的内容显示,在收到邮件的14天内,营业范围不一致的卖家需要去当地工商局更新注册公司的营业范围,并提供亚马逊所需要的信息。若没有提供要求的信息,卖家账号将受到如下限制:

1、2020年5月7日起,卖家在欧洲店铺内的资金都将被冻结;

2、2020年5月21日起,卖家就失去在亚马逊平台的销售权。

亚马逊放宽FBA发仓限制,法国站物流中心仍未恢复运营

近日,除亚马逊法国站以外,亚马逊已宣布他们将开始接受FBA发仓,以选择更多类别的产品。然而,发仓的产品范围仍然有限,对于那些可以发送到FBA的产品,可能有数量上的限制。亚马逊声明指出,从2020年4月23日开始,有更多产品有资格进行装运。虽然现在可以将更多产品发送到我们的物流中心,但这一变化并不适用于法国的亚马逊物流中心。在法国法院于2020年4月14日做出裁决后,平台暂时停止了该中心的运营。

亚马逊再曝滥用第三方卖家数据开发自有品牌?美议员要求司法部展开调查

据外媒报道,美国密苏里州共和党参议员乔希-霍利(Josh Hawley)要求司法部对亚马逊展开刑事调查,并援引媒体报道称,亚马逊"使用掠夺性和排他性的数据做法来建立和维持垄断地位"。在霍利提出这一要求之前,有报道称,亚马逊员工利用第三方卖家的数据来确定亚马逊自有品牌的产品,并与第三方卖家竞争。

阿里国际站:湖北外贸重启,GMV同比增长1163%跑赢大盘

4月28日,湖北省商务厅与阿里巴巴签署"春雷计划"战略合作协议,这是湖北首个系统性扶助中小企业的帮助计划。协议内容显示,阿里巴巴国际站将围绕湖北重点产业带,通过打造线上展会、提供供应链和外贸综合服务等,推动"鄂货卖全球",塑造湖北制造全球品牌形象。阿里巴巴国际站数据显示,截至4月25日,湖北本地GMV同比增长1163%,是整体大盘的3倍。

菜鸟速卖通打响"海外仓春雷行动",升级扩容海外仓打开出口新通路

近日,菜鸟国际联合速卖通启动"海外仓春雷行动",紧急升级扩容西班牙仓,接下来三个月菜鸟国际还将继续扩容或新增法国、波兰和比利时海外仓,为商家提供一件备货海外的全链路解决方案。据悉菜鸟提供的海外仓配一体发货方案,能提供西班牙、法国和波兰"3日达",泛欧 "7日达"。除了持续扩容和新增海外仓,菜鸟国际还完善了海外仓配套服务,将为商家提供从中国提货、关务、海外仓存储、配送以及海外仓退货等全链路服务,商家可一键备货海外。

eBay:暂停SpeedPAK澳大利亚路向经济方案服务的紧急通知

4月29日,eBay发布紧急公告,称受新型冠状病毒疫情及各大航空公司取消澳大利亚路向航班的影响,SpeedPAK将于2020年4月29日起暂停中国大陆至澳大利亚路向经济方案收寄服务。

(文/ 陈林)


疫情引爆企业线上采购需求,赶上亚马逊企业端狂潮就看这四步!

疫情引爆企业线上采购需求,赶上亚马逊企业端狂潮就看这四步!


疫情引爆企业线上采购需求,赶上亚马逊企业端狂潮就看这四步!

如今,宅家抗"疫"成为了各国日常,为了保障员工/学生日常办公、教学及生活,海外企业出现了下面这些场景...

某知名咖啡连锁品牌在三月发布的公开信中表示,计划采购大量防疫用品来保障公司和门店正常运行;

美国各州多所大学陆续采用远程教学,学校为在家授课、办公的教职工采购网络摄像头、降噪耳机等设备;

数家医院为应对激增的医护需求,通过线上紧急发起数十万件采购需求,寻求防护服、额温枪等医疗防护物资。

有着类似采购需求以及迫切需要囤积原材料的企业还有很多!但现如今,海外产能告急!且由于大环境影响,越来越多无法实地采购的他们都偏好选择在线上进行企业采购 

Salesforce的研究发现,近四分之三的企业买家愿意为了获得更好的在线采购体验更换供应商

82%企业买家在为企业采购时,想要跟自己平时购物时一样的购买体验

72%企业买家希望供应商对他们的采购需求提供个性化处理

69%企业买家希望有亚马逊式的线上采购体验

所以Amazon Business已经成为企业买家的首选站点。那它为什么能吸引众多企业买家呢?来听听他们是怎么说的吧!

小编表示没错!对于企业买家来说,除了以上提到的优势,企业采购所需要的一键审批流采购订单号企业专用定价Business Prime极速配送企业支出与税务管理专属客户顾问等功能,在Amazon Business都可以轻松做到。

为什么我登录亚马逊网站后,却无法看到企业端的采购界面?

别担心,小编现在就来公开企业买家的采购流程!

*目前,只有在Amazon Business开放站点所在国家注册的公司,即美国、加拿大、日本、英国、德国、法国、意大利、西班牙、印度注册的公司主体,才可以注册并使用企业买家账户及功能。如果您没有海外主体公司注册的企业买家账号,在您登录亚马逊购物网站时,看到的仍是个人消费者的购买界面。

卖家们想要抓住企业买家的采购心理以发掘商机,那我们便需要先了解企业买家采购中的不同需求!下面,就让我们从"线上采购新手"吉姆的Amazon Business初体验中,发现这些不同!

受新冠疫情影响,美国很多企业都开始让员工在家办公。为了提高员工办公的效率和舒适度,吉姆的公司决定拿出4800美金的预算,为员工集体采购一批符合人体工学的办公椅。接到采购要求后,第一次尝试在线上进行采购的吉姆,打开了Amazon Business美国站……

吉姆使用公司的企业买家账号,用行政部门的用户名登录了Amazon Business,发现企业端的界面和平时用个人账户购物的界面没有差别,用起来非常亲切!

同时,他还发现主页面有专门为居家办公设计的品类模块促销活动界面。吉姆在品类模块里选择办公家具模块进入,各式各样的办公椅映入眼帘......

我的天,办公椅有这么多,我该怎么选!

吉姆通过对价格的筛选,找到了一款标明符合人体工学的办公椅,单价99.00美元。他点击商品,想进一步了解:

吉姆欣喜地从价格描述中了解到自己可以享受企业价格及批量折扣价格——这款办公椅满20件即可打95折!

考虑到批量采购有一定的风险,吉姆决定看看卖家的店铺详情,了解其资质——这个店铺专卖办公桌椅,持有质量证书店铺评分5颗星,由亚马逊物流配送,过去半年好评100%。  

看来这是个可以信赖的合作伙伴,再看一些商品数据,我就可以下单了!

在看完卖家相关信息后,吉姆开始浏览商品的相关参数及使用说明,以确保这款办公椅的材质合适,方便升降,能和员工各自的办公桌配套使用。另外,看了详细的安装指南和使用者说明后,吉姆发现这款办公椅很容易组装,员工参照说明自己就能操作。

吉姆下单购买数量"50",马上看到95折优惠后的价格(94.05美元),总共比原来标示的价格便宜了200多美元,也符合预算!

这时候,吉姆临时接到公司的新需求......

采购主管 小花  

吉姆,多订购50把办公椅,把公司里旧的、坏的一起换掉,预算增加到9,300美元。

但这款办公椅如果订购100把的话就超出了预算,我可以试试向卖家发起询价——我的预算是9,300美元,希望你在一周之内答复我是否可以成交订单。

卖家介绍页面说这个卖家回复时间在3个小时左右,结果我不到2个小时就收到了卖家接受报价的答复!我要立刻下订单!

吉姆对额外的优惠非常满意,他马上填写好PO号和配送方式,确认等待公司审核。不到5分钟,吉姆就收到了审核通过的通知。

公司账户管理员 艾菲  

吉姆,采购的审核通过了!

因为我们是Business Prime公司账户,还享受到了Amazon Business免费配送,太棒了!

吉姆的Amazon Business采购之旅到这里就圆满结束了!从吉姆的详细采购过程中我们可以发现,企业端的卖家信息和商品详情页面对企业买家做决策的每一个环节都具有影响力。

下面,小编就来手把手带您玩转Amazon Business的重要功能,学习设置商品详情页面,让企业买家看了就想购买!先来看看各大站点都有哪些基础功能!

👆点击放大查看图片

以美国卖家平台为例,在Amazon Business卖家平台首页的功能栏中,您可以看到这些基础功能:认证企业资料企业定价商品文档。它们将是您大展身手,吸引更多企业买家的致胜法宝!

企业商品价格

您可以为企业买家提供极具吸引力的折扣价,以促使企业买家购买。折扣价不受购买数量的限制

设置方法

 进入亚马逊卖家平台

 选择"库存" > "库存管理"

 选择相应商品,并设置企业商品价格

 点击"保存"

小编Tips1:企业定价的小技巧

建议您在设置企业商品价格时,至少低于 C 端价格的1%,这样您的商品才会在商品详情页显示"企业价格徽章",即下图显示的"Business Price"。另外,只有企业买家可以查看企业商品价格,个人消费者无法查看。

数量折扣价

您也可以根据购买数量的不同设置相应的阶梯价格,以吸引企业买家购买更多数量的订单。

数量折扣价格分为两种类型:

1)固定价格:根据具体量级设置固定金额的折扣

设置方法

 进入"库存管理"选择相应商品

 点击"添加数量折扣" > 选择"固定价格"

 输入"最少数量"及"您的商品价格/数量"

 点击"设置商品价格"

小编Tips2:留心最高限定购买数量

如果您在 C 端设置了最高限定购买数量,那么很有可能将机会大单拒之门外。建议您在设置数量折扣价区间前,注意查看您的Listing是否同样设置了最高限定购买数量。例如,卖家小刘为自己热卖的话务耳机设置了最高购买数量100个,那么当他为这款产品设置企业最小购买数量级是110个(超过最高购买限定)的时候,该数量折扣价则会在企业端前台失效。

2)百分比价格:按照企业买家的采购量级直接设置折扣率(可以根据C端/B端的平均采购数量来设置数量区间,并计算不同数量区间合适的批量折扣,以此来作为参考)。

设置方法

▼ 点击"添加数量折扣"

 选择"企业商品价格折扣比例"

 输入"数量"及"折扣"

 点击"设置商品价格"

小编Tips3:查看销售报告优化价格阶梯

建议您根据成本做出相应阶梯定价。对于商品的数量阶梯,您可以通过查看亚马逊卖家平台提供的销售报告,制作销售分布来源的统计表,根据 C 端/B 端的平均采购数量来设置数量区间。

小编Tips4:用自动定价工具提升定价管理效率

使用亚马逊的自动定价工具,可帮助您在不同场景下快速更新库存的商品价格(例如,当您调整商品的 C 端零售价时,自动定价工具可以自动调整 B 端企业商品价格)根据您设定的定价逻辑自动为商品更新定价,以此来降低运营难度。

自动定价工具设置方法

 进入亚马逊卖家平台,依次点击"确定价格 > 自动定价"

点击"创建自定义定价规则"为您指定的 SKU 创建定价规则

 在规则类型中选择"企业商品价格",并依次填写规则名称、适用该规则的站点及详细规则参数

 选择适合该规则的 SKU 即完成对商品自动定价的设置,就大功告成!

面对企业买家,您有机会展示更多品牌及商品信息,突出资质和特色。我们来具体对比个人买家界面和企业买家界面展示信息:

我们可以发现,卖家通过Amazon Business除了固定的卖家介绍、反馈分数及QA模块,还可以额外展示所在地与成立时间,物流绩效表现,品牌或产品配图及企业类型与认证等信息

设置方法

 进入亚马逊卖家平台

 选择"B2B"

 点击"企业资料"

小编Tips 5:企业文案可以这样填写

▼展现公司背景信息

用3-5句话简短并完整地向买家介绍公司背景故事及成立的机运;

▼提出理念与价值观,分享品牌故事

向买家展示公司理念、价值观,或分享公司创立以来的品牌故事,取得共鸣;

▼进一步介绍服务及商品

向买家提供与您业务相关的信息,以此来吸引企业及机构买家的注意和兴趣。

涉及专业度高的产品,详细的商品信息往往更能赢得企业买家的信任和青睐。常见的商品文档包含:材料安全数据表 (MSDS)、用户指南、安装手册、计算机辅助设计 (CAD) 图纸和规格表等。

三步轻松上传商品文档

 卖家后台帮助页面搜索"添加增强内容"进入上传页面,点击"Manage single product(管理单个商品)",在"Your product(您的商品)"中输入SKU;

 选择对应的"文档类型",并点击"选择文件"上传文档;

 点击"Submit"即可提交商品的说明文档。

提交后

说明文档会在24小时内显示在商品详情页面。提高成交几率的小秘诀,就藏在丰富的商品信息和展示图里——它们可以给潜在的买家提供更多商品细节。

添加认证可以帮助卖家提供更多关于供应商的信息给企业用户,实现高质量采购目标或社会责任。Amazon Business常见的认证类型有两种:质量证书和多元化认证

常见的质量证书有多种类型,包括ISO 9001:2008 - 质量管理体系、 ISO 14001:2004 - 环境管理体系、 AS9100C - 质量管理体系 - 航空、航天和国防等。

多元化认证是指至少51%的企业由弱势群体拥有,如妇女、少数民族、退伍军人和残疾人。例如,妇女拥有的企业必须由至少51%的妇女拥有、管理和经营。该认证一般适用于美国的本土企业。

三步轻松上传商品文档

 在亚马逊卖家平台,依次点击"设置 > 您的信息和政策"进入卖家账户信息页面;

 依次点击选择"认证">"认证类型">"认证",根据页面说明填写认证的证明材料信息;

 提交并等待7-10个工作日。若您的认证状态从"审核中"更新为"有效",那么您的认证就上传成功了。

这些认证除了帮助买家了解您销售的商品有过硬质量保证,更是您体现优质专业度的好机会哦,可不要放过了。

Amazon Business为欧洲站点卖家提供独家功能:即欧洲增值税计算服务(VCS),帮助企业卖家提升销售和运营效率,凭借三大优势,深受欧洲站点卖家的喜爱:

 价格对企业及机构买家更具吸引力

 商品得到更多曝光机会

 降低沟通成本,买家可以自行下载发票

如此省事省力的服务工具,立即戳文章链接了解详情👉限时免费!欧洲站卖家好福利:亚马逊税务工具全面升级,增值税合规So easy

这些功能都学会了吗?利用好这些Amazon Business基础功能,可以便捷您的运营,帮助企业买家了解您,促进商品在企业端的曝光,提高转化率,实现销售额的飞跃。快进入卖家平台,把它们运用起来吧!

Amazon Busienss 新卖家优选标准

1.商业相关品类:工业品、办公及茶水间用品、科研医疗用品、酒店餐厨用品、电子科技产品(必要)

2.国内外知名品牌或零售商的ODM/OEM代工厂(优选)

3.国内外知名品牌经销商(优选

* 温馨提示: 

* 尚未注册/开店的卖家,客户经理审核信息后,会在两周之内联系,请查看您的注册邮箱!

* 如果您已经是亚马逊卖家并想申请注册其他站点,请提供全新注册邮箱。

* 请在报名前准备好即将销售的真实产品照片,并确保照片中产品及logo(如有)清晰可辨认,这将帮助您快速完成报名。同时,请勿多次申请同一个站点。

如果您已是亚马逊全球开店卖家

可以登陆卖家平台按照以下三步或通过帮助页面搜索"亚马逊企业采购商城"自助免费解锁Amazon Business功能!

(来源:亚马逊全球开店)
以上内容属作者个人观点,不代表立场!如有侵权,请联系我们。