18. iOS face test and self-organizing · One

Source: Internet
Author: User
Tags error status code gcd object serialization rfc file transfer protocol

How do I troubleshoot low memory issues?

Forexample: The interface is temporarily not displayed in window to destroy, to obtain enough memory;

What is the data type of the POST request?

JSON, XML, binary, parameter stitching;

Please outline your understanding of the object-oriented thinking.

The so-called object-oriented, the simplest example, is this one.

Mr. A needs a computer, but Mr. A has no knowledge of all aspects of computer configuration, performance, and branding. And Mr A happens to have a friend who runs a computer business, Mr.--c, and Mr. C is very knowledgeable about computer hardware. Mr. A tells Mr. C what the computer needs and what the price is. Mr. C will give Mr. a the computer he needs. As for the process of screening, buying and bargaining in the middle, Mr. A does not have to take any part at all. You can get the computer you need only if you pay for it.

What is the difference between frame and bounds in iOS?

Frame refers to the position and size of the view in the parent view coordinate system. (The reference point is the father's coordinate system)

Bounds refers to the position and size of the view in its own coordinate system. (The reference point is its own coordinate system)

Please describe the memory management you understand.

If you create an object by assigning and initializing (such as [[Xxxclass alloc] init]), you have the object and you need to be responsible for the object's release. This rule also applies when using NSObject's convenient method new.

If you copy an object, you also have a copy of the object, you need to be responsible for the release of the object.

If you keep an object, you will have it partially, and you will need to dispose of it when you are no longer using it.

If you receive an object from another object, you do not own the object, and you should not release it.

How do I design a cache class?

Using caching in a program can greatly improve the speed of a program, and designing a simple cache class does not require much complex logic.

Simply 3 interfaces are required.

1. Save objects

2. Taking objects

3. Deleting objects

Reading objects

• Read memory first when reading an object

• Memory not enrolled in the file

Save Object

• The foreground is saved in memory when the object is saved

• Backstage deposit into file

• You need to release a piece of memory before you have enough memory space

• Delete free all memory when receiving out-of-memory messages

What are the new features of iOS9.0?

1. Network adapter-https

2. Background positioning

3.CoreSpotlightSearch

4.user-interface-testing User interaction

5.UIStackView

6.contacts-framework Getting Contacts

7. White List

8. Multi-tasking, ipad split screen

9.uikit-dynamics

10.MapKit

11.gameplaykit-pathfinding

12.gameplaykit-behaviors

13.cloudkit-web-service

What is lazy loading?

Lazy Loading is lazy mode, only to use the time to go back to initialize. It can also be understood as delayed loading.

For the simplest example, the load display of images in TableView.

A delay load to avoid excessive memory; an asynchronous load to avoid thread blocking.

How do I push a web message? APNs push (Apple push service) implementation process? What is the difference between a apsn and a third party?

First, the application sends the notification, the system pop-up prompt asks the user whether to allow, when the user lets the Apple server (APNS) request Devicetoken, and by the Apple server sends to own application, own application will devicetoken sends to own server, Your server wants to send the devicetoken and the information you want to push to the Apple server when sending a network push, and the Apple server sends the information to the app.

Push the message content, the total capacity of not more than 256 bytes;

The IOSSDK itself provides a APSN server push that can be pushed directly to the target user and pops up the prompt according to your way.

Advantages: Regardless of whether the application is open, it will be sent to the mobile phone side;

Disadvantage: The message push mechanism is the Apple server side control, the individual time may have the delay, because the Apple server also has the queue to process all the message request;

Third-party push mechanism, generally using the socket mechanism to achieve, almost can be reached in a timely manner to the target user mobile phone, suitable for instant messaging applications.

Advantages: Real-time, depending on the rhythm of the heartbeat package;

Cons: iOS system limitations, apps cannot run in the background for long periods of time, so this push mechanism is not available when the app is closed.

Add Nsnotificationcenter Listener, what is the meaning of the object behind it?

Add listener with Nsnotificationcenter, the meaning of the object behind it is: listen to multiple observers of the same notification, when the notification arrives, the order in which they execute the callback is indeterminate, so we cannot assume that the execution of the operation is performed in the order in which the observers were added.

on the difference between sockets and HTTP protocols.

The HTTP protocol is TCP-based and is an application-layer protocol, primarily to address how data is packaged.

Socket is the TCP/IP protocol encapsulation, the socket itself is not a protocol, but a call interface (API), through the socket, we can use the TCP/IP protocol.

HTTP connection: Short connection, the client sends a request to the server, the server responds after the connection disconnects, save resources. The server cannot proactively respond to the client (unless using HTTP long connection technology), the iphone mainly uses class Nsurlconnection.

Socket connection: Long connection, the client and the server directly using the socket to connect, there is no provision for disconnection after the connection, so the client and the server to maintain the connection channel, both sides can actively send data, generally more for the game.

The socket default connection time-out is 30 seconds, and the default size is 8K (understood as a packet size).

What are the persistent storage methods for data in iOS?

The core of the data store is writing files.

Attribute list: Only NSString, Nsarray, Nsdictionary, NSData can writetofile, the storage is still plist file.

Plis files can store 7 types of data: array, dictionary, string, bool, data, number.

Object serialization (Object Archive): Object serialization is serialized as the key-value relationship is stored locally and transformed into a binary stream. Automate archiving/unpacking via runtime.

1. Encoding (object serialization): The data can not be stored directly into the plist file, converted to binary data nsdata, stored locally;

2. Decoding (object deserialization): Converts binary data to its original type.

what is KVC/KVO? What is the relationship between them?

The core of the data store is writing files.

KVC: Key-value encoding is a mechanism that indirectly accesses an object's properties by using a string to identify the property, rather than by invoking an access method, either directly or through an instance variable.

In many cases, the program code can be simplified. The Apple documentation actually gives a good example.

KVO: A key-value observation mechanism that provides a way to observe a change in a property, greatly simplifying the code.

Specific to see the use of a place is for the button click Change Status Monitoring.

Please briefly describe the server connection three times handshake.

First handshake: The client sends a SYN packet (SYN=J) to the server and enters the Syn_send state, waiting for the server to confirm;

Second handshake: The server receives the SYN packet, must confirm the customer's SYN (ACK=J+1), the colleague also sends a SYN packet, namely the Syn+ack packet, at this time the server enters the SYN+RECV state;

Third handshake: The client receives the server's Syn+ack packet, sends the acknowledgment packet ack (ACK=K+1) to the server, sends the client and the server into established state, completes three times the state.

What is the difference between layers Calayer and UIView?

The biggest difference between the two is that the layer does not render directly to the screen. UIView is the basis for interface elements in iOS systems, and all interface elements are inherited from it. It is entirely by coreanimation to achieve it. The real drawing part of it is managed by a Calayer class. The UIView itself is more like a Calayer manager. A uiview can have n calayer, each layer shows a kind of thing, enhance UIView's ability of presentation.

UIView can respond to user events because it inherits from Uiresponder.

1. In fact, UIView can be displayed on the screen entirely because of its internal layer (that is, the Calayer object);

2.UIView itself does not have the display function, it is inside the layer has the display function;

3.UIView when creating an object, a layer is automatically created inside UIView

(Calayer objects) can be accessed through the Layer property of the UIView.

4. When UIView needs to be displayed on the screen:

4.1. The DrawRect: method is called to draw and all the content is drawn on its Layer property;

4.2. Once the drawing is complete, the layer is copied to the screen, and the UIView is displayed.

What is the difference between nil, nil, and null? What is the difference between ID and void *?

Null: is a pointer to the C language used, representing a null pointer;

Nil: Used for objects in OC, indicating that the object is empty;

Nil: Used for classes in OC, indicates that the class is pointing to null.

A pointer in Id:oc that can point to all types of objects, which are generic object pointers.

The generic pointer in the void*:c/c++.

What mechanism does objective-c use to manage object memory?

The retaincount mechanism is adopted to determine whether an object needs to be freed. Each time Runloop, will check the object's Retaincount, if the Retaincount is 0, indicating that the object has no place to continue to use, can be released (will be automatically released by the system).

How does arc help developers manage memory?

The retain/release is inserted according to the code context at compile time.

What time is a Autorelease object released without manually specifying Autoreleasepool? (for example, created in a Viewcontroller viewdidload)

In two cases: manual intervention to release the opportunity, the system automatically release.

1. Manually dare to release the opportunity--the designation Autoreleasepool is called: The current action is released at the end of the curly brace.

2. System automatic Release--do not specify Autoreleasepool manually

The Autorelease object is released at the end of the current runloop iteration.

If you create a Autorelease object in a Viewcontroller viewdidload, the object is destroyed before the Viewdidappear method executes.

LLDB (GDB) Common debug commands?

Breakpoint Setting a breakpoint to a function

• N Breakpoint Pointer Next

PO Print objects

How is userdefinedruntimeattributes used in Interfacebuilder?

It can configure some properties that you cannot configure in Interfacebuilder by KVC. When you want to do as many things as possible in Interfacebuilder, this feature can help you write more lightweight viewcontroller.

is there a problem with this piece of code? How to modify?

for (int i = 0; i < 10000; ++i) {

NSString *str = @ "ABC";

str = [STR lowercasestring];

str = [str stringbyappendingstring:@ "XYZ"];

NSLog (@ "%@", str);

}

From a grammatical point of view, there is no problem.

However, there is a real problem. The idea here is the principle of an iOS auto-release pool or memory management.

In practice, the problem with this code is that the memory is not released in a timely manner.

Why not be released in time?

Because Runloop is the end of each event loop, the pool is automatically freed so that the reference count of the object is reduced by one, and for objects with a reference count of zero, the memory is actually destroyed and reclaimed.

So, for the problem here. A For loop executes 10,000 times, resulting in 10,000 temporary auto-session objects, which are managed in the auto-release pool, and the memory is not recycled.

Then, the phenomenon is: memory spikes.

The correct wording is:

for (int i = 0; i < 10000; ++i) {

@autoreleasepool {

NSString *str = @ "ABC";

str = [STR lowercasestring];

str = [str stringbyappendingstring:@ "XYZ"];

NSLog (@ "%@", str);

}

}

How does the UITableView reuse the cell?

UITableView provides a property: Visiblecells, which is the cell for recording but potentially screen courseware, to reuse the cell, we need to explicitly specify the reuse identity (identifier).

When the cell is scrolled out of the TableView visual range, it is placed in a reusable array. When a cell is scrolled out of the visual range of the TableView, there will also be a new cell to display to the TableView visible area, so the cell coming out of the new hour will first be fetched from the reusable array through the identifier specified, and, if available, Use it directly, or create a new cell.

How do I display a list more efficiently?

To display the list more efficiently (regardless of the optimizations), you can handle it in the following ways (only partially):

• Calculate heights and caches in advance based on data;

• Asynchronously process data processing, I/O computations in advance and save the results and use them directly when needed.

HTTP Status code query

2XX Success Status Code

The 200OK server successfully processed the request (this is the most we have seen)

4XX Client Error status code

400BadRequest (Bad Request) tells the client that it sent an incorrect request

403 Forbidden (Forbidden) The request was rejected by the server

404 NotFound (not found) resource not found

408 Requesttimeout (Request time-out) if the client takes too long to complete the request, the server can echo the status code and close the connection

414 requesturltoolong (Request URL too long) the client sends a request with a URL that exceeds the length that the server can or wants to process

5XX Server Error Status code

Internetsevererror (internal server error) the server encountered an error that prevented it from serving the request

501Not Implement (not implemented) client-initiated requests that exceed the capabilities of the service (for example, using a request method not supported by the server) use this status code

The server used by the 502 Badgateway (Gateway failure) agent encountered an upstream invalid response

503 serviceunavailable (not available) the server is currently unable to service the request, but can recover the service over time

504GatewayTimeout (Gateway Timeout) is similar to status code 408, but the response comes from a gateway or proxy, which occurs when the gateway or proxy waits for a response from another server

505 httpversionnotsupported (HTTP version not supported) the server received a request that uses an HTTP protocol version that it does not support. Some servers do not support HTTP earlier HTTP protocol versions, nor do they support too high protocol versions

understanding of the singleton pattern

Singleton mode is a common design pattern, and singleton mode is a class that has only one instance object in the system. This instance object is accessed through an entry point of the global;

The single-mode implementation in iOS is generally divided into two types: non-arc and ARC+GCD.

How to understand the MVVM design pattern

The ViewModel layer, the binder for the view and model layers, is a place where user input validation logic, view display logic, initiating network requests, and other kinds of code are marked. To put it bluntly, the original Viewcontroller layer of business logic and page logic and so stripped out to the ViewModel layer.

The view layer, which is Viewcontroller, is the task of getting the data from the ViewModel layer and then displaying it.

about Bitcode

Problem Description: iOS new project needs to support Bitcode by default, and the SDK that does not support Bitcode will cause the compilation to run. Most social platform SDKs do not support Bitcode.

Solution:

1. Temporarily turn off support for Bitcode (recommended), Method: Select Project file--Select project name under Project-->build settings--> find buildoptions-->enable Bitcode--> set to No, you can.

2. Remove the Platform SDK that does not support Bitcode.

Does the garbage collection mechanism be supported in 33.objective-c?

Objective-c is a garbage collection-enabled (garbagecollection), but Apple has a mobile terminal that does not support GC, which is supported in Mac desktop system development.

Mobile terminal development is to support the arc (automaticreferencecounting abbreviation), ARC after IOS5 introduced the new technology, it and the GC mechanism is different. When we write code, we don't need to send the release or Autorelease method to the object, or call the Delloc method, and the compiler will automatically generate a release message (autorelease) in the appropriate location for the user. ARC is characterized by automatic reference counting, which simplifies memory management.

understanding of Runloop

Runloop, is a magic weapon of multithreading, that is, a thread can only perform one task at a time, after executing the task will exit the thread. The main thread continues to wait for the event to receive without exiting when it finishes executing the immediate task. The non-main thread is usually to perform a certain task, the completion of the need to return resources, so the default is not to run runloop;

Each thread has its corresponding runloop, but the default is only the main thread of the Runloop is started, the other child threads Runloop default is not started, to start the need to manually start;

In a separate thread, you need to enable Runloop if you want to continue waiting for the event after a task has been processed and not exited;

Nsrunloop provides a way to add a nstimer, you can specify mode, if you want to make the callback in any case, you need to set mode to common mode;

In essence, the Runloop default for child threads does not exist, because Apple uses lazy loading. If we do not call [Nsrunloopcurrentrunloop] manually, we will not query whether the current thread is runloop, nor will it go back to the load, and will not be created.

What is safe release?

First release and then empty.

How does the GCD interior come true?

The core of 1.iOS and OSX is the XNU kernel, GCD is implemented based on the XNU kernel.

All 2.GCD APIs are in the Libdispatch library.

The underlying implementations of the 3.GCD are mainly Dispatchqueue and Dispatchsource

Dispatchqueue: Managing block (Operation)

Dispatchsource: Handling Events

KVO Internal implementation principle?

1.KVO is implemented based on the runtime mechanism;

2. When an object of a class is first observed, a derived class of the class is created dynamically at run time, overriding the setter method of any observed attribute in the base class in this derived class. Derived classes implement a true notification mechanism in overridden setter methods. (Person-->nskvonotificationperson)

Debugging Tips for iOS apps?

1. If you encounter crash, analyze the crash log (applicable to the Symbolicatedrash tool) to keep the crash version of the. dsym file;

2. In Xcode, go to the Breakpoint Management window and click on the lower right of the + to add a new exceptionbreakpoint;

3. If you encounter exc_bad_access, open the Scheme option to select Editscheme. Then the two Enablezombie and Mallocstack were hooked;

4. Effective log management. NSLog and add some open-source log management framework;

5. Program Breakpoint Debug mode.

Tuning for iOS app performance

1. Use arc to manage memory;

2. Use of reuseidentifier in appropriate places;

3. Set the view as opaque as possible;

4. Avoid bloated xibs files;

5. Do not block the main thread;

6. Adjust the image size in the image view;

7. Select the correct collection;

8. Enable gzip compression;

9. Reuse and lazy load view;

10. Use the cache;

11. Consider using drawings;

12. Handling memory warnings;

13. Heavy (Chong) with large overhead objects;

14. Using Spritesheets (sprite sheet is mainly composed of n images of a large image, this large image contains a full animation of all the frames, the advantage of using a large picture is to reduce the number of reads, in a certain amount of cases, the sprite The sheet has a clear advantage:

1. Smaller file size

2. Faster turn-on speed

3. In the FP11 era you can use startling to get GPU acceleration support

);

15. Avoid repetitive processing of data;

16. Select the correct data format;

17. Set the background image appropriately;

18. Reduce your network footprint;

19. Set the shadow path;

20. Optimize your tabular view;

21. Choose the right data storage method;

22. Accelerated start-up time;

23. Use the automatic release pool;

24. Cache images;

25. Avoid date formatting whenever possible.

Differences between the contentsize, Contentoffset, and Contentinset attributes of Uiscrollview

Contentsize indicates the size of the Uiscrollview scrolling area. The frame property of Uiscrollview will not change with the content after it is set up;

Contentoffset represents the offset of the current display area fixed point relative to the frame vertex, which is generally used to set the position of the Uiscrollview display;

Contentinset represents the position of the vertex of the ScrollView Contentview relative to the ScrollView, assuming your contentinset= (0,100), Then your contentview is displayed from the beginning of the ScrollView (0,100). Generally (0,0) is indicated from the beginning of the ScrollView.

describe the order in which programs are started

1.MAIN.M is the entrance to the program;

2.UIApplicationMain () Creates an Application object, and assigns a delegate to the object, detects the program's run, and turns on the event loop, the event the handler receives;

Implementation of the 3.UIApplicationDeletegate method;

4. Load window;

5. Specify the root view controller;

6. Add controls to the specified view controller to implement the application interface;

What are the pros and cons of XMPP?

XMPP (extensible Messaging and Presence Protocol, formerly known as an XML-based open real-time communication protocol) is an Internet standard adopted by the Internet Engineering Working Group (IETF). To put it simply, XMPP is a protocol, a rule. That is, in the network to upload things, to establish a connection, TCP/IP connection, after the establishment of the transfer of things, and XMPP is to specify the format of the things you preach. XMPP is an XML-based protocol. Advantages Open:

The XMPP protocol is free, open, open, and easy to understand. And in the client, server, components, source code library, etc., have been various implementations. Standard:

The Internet Engineering Working Group (IETF) has formally listed Jabber's core XML streaming protocol as a recognized real-time communication and presence technology in the name of XMPP. The technical specifications for XMPP have been defined in RFC 3920 and RFC 3921. Any IM vendor who follows the XMPP protocol can connect to Google Talk. Confirmed to be available:

The first Jabber (now XMPP) technology was developed by Jeremie Miller in 1998 and is now fairly stable, with hundreds of developers working on XMPP technology. Tens of thousands of XMPP servers operate on the internet today, and millions of people use XMPP real-time messaging software. Decentralized:

The architecture and email of the XMPP network are very similar; The XMPP core protocol communicates by first creating a stream,xmpp with TCP to pass the XML data stream without a central master server. Anyone can run their own XMPP server, enabling individuals and organizations to take control of their real-time messaging experience. Safety:

Servers of any XMPP protocol can be independent of the public XMPP network (for example, within an intranet), and the reliable security of technologies such as SASL and TLS has been brought into the core XMPP technical specifications. Expandable:

The power of the XML namespace allows anyone to build a custom function on top of the core protocol, and in order to maintain permeability, common extensions are established by the XMPP Standard Foundation. Good elasticity:

In addition to applications that can be used in real-time communication, XMPP also works with network management, content feeds, collaboration tools, file sharing, gaming, remote system monitoring, and more. Diversity:

Companies and open source programs that use the XMPP protocol to build and distribute real-time applications and services are distributed in a variety of areas; using XMPP technology to develop software, resources and support sources are diverse, making you not trapped in a "kidnapping" dilemma. Disadvantage data load is too heavy:

With the presence of data traffic for servers that typically exceed 70% of the XMPP protocol and nearly 60% of them being repeatedly forwarded, the XMPP protocol currently has a large overhead in the presence of data available to multiple recipients. The new protocol is being studied to alleviate the problem. There is no binary data: The XMPP protocol is encoded as a single long XML file and therefore cannot be provided to modify binary data. Therefore, the file Transfer Protocol uses external HTTP as well. If unavoidable, the XMPP protocol also provides Base64 for all data that is encoded with the file transfer. For other binary data encryption sessions (encrypted conversations) or graphical icons (graphic icons) Use the same method as embedded.

The connection and difference between Iskindofclass and Ismemberofclass

Contact: Both can detect whether an object is a member of a class

Difference: Iskindofclass is used not only to determine whether an object is a member of a class, but also to determine whether an object derives from a member of that class's class, while Ismemberofclass can only do the 1th

Example: If ClassA derives from the NSObject class, classa*a= [[ClassA alloc] Init];,[a Iskindofclass:[nsobject class]] can check if a is a member of the NSObject class derived class. But Ismemberofclass can't do that.

What are the roles of Iskindofclass, Ismemberofclass and selector?

Iskindofclass: An object belongs to a type, including the type of inheritance;

Ismemberofclass: An object is exactly a type, is not a specific instance;

Selector: Gets the entry address of the function in memory by means of the method name;

Write a convenience builder

The ID represents any type of pointer, which represents student *, class method

+ (ID) studentwithname: (NSString *) newName andage: (int) newage

{

Student *stu=[[student Alloc]initname:newname Andage:newage];

return [Stu autorelease];//auto Release

}

Enumerate the synchronization mechanisms of the centralized process and compare their pros and cons

Atomic operation Semaphore Mechanism;

Spin lock;

Enhancement

Meet

Distributed system;

ways to communicate between processes

Shared storage-System messaging system pipeline: based on file system;

cause of process deadlock

The competition of resources and the sequence of process promotion are illegal;

4 Necessary conditions for a deadlock

Mutex

request to remain;

be inalienable;

Loop

handling of deadlocks

Ostrich strategy;

prevention strategies;

Avoid strategies;

Detect and contact the deadlock;

What happens when a block is used and how is the reference loop resolved?

A circular reference occurs when a block is strongly referenced in an object and the object is strongly referenced in a block;

The workaround is to use the object in block after it is decorated with the __weak or __block modifier;

1.id weak weakself = self;

or weak__typeof (&*self) weakself = Self The method can set macros;

2.id __block weakself = self;

Or a kind of to prevent forced null XXX = nil;

Detect circular reference problems in your code, and use one of Facebook's open source detection tools to fbretaincycledetector;

What does the pointer to ISA for a Objective-c object point to? What's the effect?

Point to his class object so that the method on the object can be found;

What are the essential differences and linkages between class methods and instance methods in Objective-c?

Class method:

1. The class method belongs to the class object;

2. Class methods can only be called through class objects;

3. Self in the class method is the class object;

4. Class methods can invoke other class methods;

5. Member variables cannot be accessed in class methods;

6. Object methods cannot be called directly in a class method;

Example method:

1. The instance method belongs to the instance object;

2. The instance method can only be called through the instance object;

3. The self in the instance method is the instance object;

4. Member variables can be accessed in the instance method;

5. Example method of direct point using the example method;

6. The class method (through the class name) can also be called in the instance method;

KVO, Nsnotification, delegate and block differences?

KVO is the Observer pattern implemented by the cocoa framework, which is generally used in conjunction with KVC, and can be monitored by KVO for changes in a value, such as the height of the view. is a one-to-many relationship, and a change in value informs all observers.

Nsnotification is a notification and a one-to-many usage scenario. In some cases, KVO and nsnotification are the same, and are informed by changes in status. Nsnotification's characteristics, is the need to be observed to notify the first initiative, and then the observer registered monitoring and then to respond, more than KVO to send a notification step, but its advantage is not limited to the monitoring of property changes, but also to a variety of state changes to monitor, wide range of monitoring, Use is also more flexible.

Delegate is the agent, is I do not want to do things to others to do. For example, the dog needs to eat, through the delegate inform the owner, the host will give him to cook, Sheng fan, pour water, these operations, these dogs do not need to care, only need to call Delegate (agent) on it, by other classes to complete the required operations. So delegate is a pair of relationships.

Block is another form of delegate, a form of functional programming. With delegate, the use of scenes is more flexible than delegate, and the implementation of proxies is more intuitive.

KVO General usage scenario is data, demand is data change, such as stock price change, we generally use KVO (Observer mode).

Delegate the general use of the scene is the behavior, the need for someone else to do something for me, such as buying and selling stocks, we generally use delegate.

Notification is generally a global notification, such as good news out, notify everyone to buy.

Delegate is a strong association, that is, the Commission and the agent know each other, you entrust others to buy stock you need to know the broker, the broker do not know their customers.

Notification is a weak association, good news out, you do not need to know who is the hair can also react accordingly, with the barber message people do not need to know that the receiving person can also send messages.

18. iOS face test and self-organizing · One

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.