当前位置:网站首页>Android high frequency network interview topic must know and be able to compare Android development environment
Android high frequency network interview topic must know and be able to compare Android development environment
2022-07-02 01:27:00 【m0_ sixty-six million two hundred and sixty-four thousand seven】
1、 Support http2, All requests to a machine share the same socket
2、 Built in connection pool , Support connection reuse , Reduce the delay
3、 Support transparent gzip Compress the response body
GZIP It is a technology for website compression and acceleration , It can speed up the opening of our website after opening , The principle is compressed by the server , The principle of fast decompression of client browser , It can greatly reduce the traffic of the website
open GZIP What are the benefits ?Gzip After opening, the data output to the user's browser will be compressed , This will reduce the amount of data transmitted over the network , Improve the speed of the browser startup page .
4、 Avoid duplicate requests by caching
Mandatory cache
The first time the client requests data , The server returns the expiration time of the cache ( Through fields Expires And Cache-Control identification ), Subsequently, if the cache does not expire, you can directly use the cache , There is no need to request the server ; Otherwise, request data from the server .
Compare cache
When comparing caches , Every request needs to interact with the server , The server determines whether the cache can be used .
5、 Automatically retry other requests of the host when the request fails ip, Automatic redirection
6、 Easy to use API
2、 seen OkHttp Source code of , Just briefly

First of all , Through a builder pattern (Request.Builder) Build all the request, And then distribute it to Dispatcher( The dispenser );
second ,Dispatcher And then request Distribute to HttpEngine( Real working class ) in ,HttpEngine First, let's see if this request has cache( cache ), If you have a cache , Just get the information from the cache , And back to response; If there is no cache ,HttpEngine Just put request Distribute to ConnectionPool( Connection pool ) in ;
Third , stay ConnectionPool( Connection pool ) in , adopt Connection Send a request , First choose Route( route ) and Platfrom( platform ), Then arrive at Server(Socket), Get Data, Then return response.
3、OkHttp Use
1、 establish OkHttpClient object :OkHttpClient client = new OkHttpClient();
2、 Create a network request :Request request = new Request.Builder() .url(“http://sethfeng.github.io/index.html”) .build();
3、 obtain Call object :Call call = client.newCall(request); // What is actually created is a RealCall object ,RealCall One of them is right client References to objects
4、 Send a request , Get the returned data
Send synchronization request :Response response = call.excute();
Send asynchronous request :
call.enqueue(new Callback() {
@Override
public void onFailure(Request request, IOException e) {
…
}
@Override
public void onResponse(Response response) throws IOException {
…
}
});
4、volley
Last
Actually Android There are so many knowledge points in development , There are still so many things to ask about in the interview . So there's no other trick to an interview , It depends on how well you are prepared for these knowledge points .so, When you go out for an interview, you should first see which stage you have reviewed .
The following figure shows my accumulated experience over the years tencent 、 headlines 、 Ali 、 Meituan 、 Byte skipping and so on 2019-2021 High frequency interview questions in , Bloggers also organized these technical points into videos and PDF( In fact, it took a lot more energy than expected ), Contains the context of knowledge + A lot of details
above 【 Interview questions for senior engineers in large factories over the years 】、【Android Advanced teaching video 】、【Android Learn advanced knowledge points PDF】 They are free to share with you . If necessary , Click on **【Android Architecture video +BATJ Interview topics PDF+ Learning notes 】** Free access to .
E4%BA%9B%EF%BC%9F%E5%A6%82%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)** Free access to .
Sorting is not easy to , Please pay attention and forward it to me , thank you ! I wish everyone can get their favorite job .
边栏推荐
- Unity AssetBundle subcontracting
- 游戏思考15:全区全服和分区分服的思考
- [rust web rokcet Series 1] Hello, world and get, post, put, delete
- Private project practice sharing [Yugong series] February 2022 U3D full stack class 009 unity object creation
- Design and control of multi rotor aircraft (VII) -- sensor calibration and measurement model
- [Obsidian] wechat is sent to Obsidian using remotely save S3 compatibility
- ECS project deployment
- MySQL winter vacation self-study 2022 12 (4)
- The technology boss is ready, and the topic of position C is up to you
- Error creating bean with name ‘stringRedisTemplate‘ defined in class path re
猜你喜欢

学习笔记24--多传感器后融合技术

It's already 30. Can you learn programming from scratch?

GL Studio 5 installation and experience

Single chip microcomputer -- hlk-w801 transplant NES simulator (III)

How does schedulerx help users solve the problem of distributed task scheduling?

Exclusive delivery of secret script move disassembly (the first time)

Exclusive delivery of secret script move disassembly (the first time)
![[rust web rokcet Series 1] Hello, world and get, post, put, delete](/img/d8/7dd5fe409d349a13128b6af554f952.jpg)
[rust web rokcet Series 1] Hello, world and get, post, put, delete

【疾病检测】基于BP神经网络实现肺癌检测系统含GUI界面

Basic concepts of machine learning
随机推荐
什么是商业养老保险?商业养老保险安全靠谱吗?
6-3 vulnerability exploitation SSH environment construction
Principle of finding combinatorial number and template code
Comprehensive broadcast of global and Chinese markets 2022-2028: Research Report on technology, participants, trends, market size and share
Ubuntu20.04 PostgreSQL 14 installation configuration record
Exclusive delivery of secret script move disassembly (the first time)
Edge extraction edges based on Halcon learning_ image. Hdev routine
Self drawing of menu items and CListBox items
ECS project deployment
机器学习基本概念
How to determine whether the current script is in the node environment or the browser environment?
Global and Chinese markets for food allergens and intolerance tests 2022-2028: Research Report on technology, participants, trends, market size and share
969 interlaced string
No converter found for return value of type: class
遊戲思考15:全區全服和分區分服的思考
[IVX junior engineer training course 10 papers] 04 canvas and a group photo of IVX and me
首场“移动云杯”空宣会,期待与开发者一起共创算网新世界!
Entrepreneurship is a little risky. Read the data and do a business analysis
Datawhale 社区黑板报(第1期)
Error creating bean with name ‘stringRedisTemplate‘ defined in class path re
