ホームページ  >  記事  >  WeChat アプレット  >  面接に確実に勝つために、小さなプログラムに基づいて面接の質問をいくつかまとめて共有しましょう。

面接に確実に勝つために、小さなプログラムに基づいて面接の質問をいくつかまとめて共有しましょう。

青灯夜游
青灯夜游転載
2021-12-10 10:12:494894ブラウズ

この記事は、面接を確実に勝ち抜くための、小さなプログラム(分析付き)に基づいた面接の質問をまとめて共有します。

面接に確実に勝つために、小さなプログラムに基づいて面接の質問をいくつかまとめて共有しましょう。

ミニ プログラム ログイン プロセス

最初のステップ: wx.login がユーザーの一時的なログイン資格情報を取得します。コード

ステップ 2: wx.getUserInfo は、暗号化されたデータ encryptedData と復号パラメータ iv を取得します。

ステップ 3: ステップ 1 と 2 のコード、encryptedData、および iv を開発者自身のサーバーに渡します。 ステップ 4: サーバーがコード、encryptedData、および iv を取得した後、get メソッドを使用して次の WeChat インターフェイスの個人プロジェクトをリクエストします。バックエンド インターフェイスはなく、クラウド開発のログイン プロセスに応答します

小プログラム ページ宣言サイクル

##onLoad() は、ページがロードされるときにトリガーされ、現在のページ パス内のパラメーターを取得するために 1 回だけ呼び出されます。

# onShow() は、ページが表示されるか前景にカットされるときにトリガーされ、通常はデータ リクエストの送信に使用されます。

# onReady() は、ページの最初のレンダリング時にトリガーされます。ページが完成し、一度だけ呼び出され、ページがビュー レイヤーと対話できることを示します。

#● onHide() ページが非表示になったとき、または下部のタブなどの背景に切り替えられたときにトリガーされます。他のページに切り替わる、またはアプレットがバックグラウンドに切り替わるなど。

# onUnload() ページがアンロードされたとき redirectTo や他のページへの navigateBack などのトリガー

#小規模なプログラムで一般的に使用されるフレームワーク

WeUI WeUI は、WeChat のネイティブなビジュアル エクスペリエンスと一致する基本的なスタイル ライブラリです。 WeChat 公式デザイン チームは、ユーザーの使用認識がより統一されるように、WeChat Web ページと WeChat ミニプログラムをカスタマイズしました。 ミニプログラム開発で最も一般的に使用されるフレームワークであり、開発者の間で人気があります。 Meituan ミニ プログラム フレームワーク mpvue 公式紹介: mpvue は、Vue.js を使用して小さなプログラムを開発するフロントエンド フレームワークです。このフレームワークは Vue.js のコアに基づいています。mpvue は、ミニ プログラム環境で実行できるように Vue.js のランタイムとコンパイラーの実装を変更し、ミニ プログラム開発のための Vue.js 開発エクスペリエンスの完全なセットを導入しました。 。

コンポーネント開発フレームワーク wepy 公式導入: コンポーネントベースの開発は、コンポーネントの分離、コンポーネントの入れ子、コンポーネントの通信などの問題を完全に解決します。サードパーティの npm リソースの使用をサポートし、npm リソース間の依存関係を自動的に処理し、すべての npm リソース パッケージと完全に互換性があります。プラットフォームの依存関係。 公式フレームワークMINA 正式導入: このフレームワークは、独自のビュー層記述言語 WXML および WXSS と JavaScript ベースのロジック層フレームワークを提供し、ビュー層とロジック層間のデータ送信およびイベント システムを提供するため、開発者は簡単に集中できます。データと論理に基づいて。

WeChat ミニ プログラムをご存知ですか?ミニプログラムの原理を簡単に説明します。

WeChat アプレットは、JavaScript、WXML、WXSS の 3 つのテクノロジーを使用して開発されています。基本的には単一ページのアプリケーションです。すべてのページのレンダリングとイベント処理は、内部で実行されます。ページですが、WeChat クライアントを通じてさまざまなネイティブ インターフェイスを呼び出すことができます。

WeChat のアーキテクチャはデータ駆動型のアーキテクチャ モデルであり、その UI とデータは分離されており、すべてのページ更新はデータの変更を通じて実装する必要があります。 ;

アプレットは、webview と appService の 2 つの部分に分かれています。このうち、webview は主に UI の表示に使用され、appService はビジネス ロジック、データ、インターフェイス呼び出しの処理に使用されます。これらは 2 つのプロセスで実行され、システム層 JSBridge を介して通信し、UI レンダリングとイベント処理を実現します。

ミニ プログラム プロジェクトのメイン ディレクトリ ファイル機能

project.config.json プロジェクト構成ファイル。インターフェイスの色、コンパイル構成など、いくつかのパーソナライズされた構成を作成します。 app.json は、ミニ プログラムのすべてのページ パス構成、インターフェイス パフォーマンス、ネットワーク タイムアウト、下部タブなどを含む、現在のミニ プログラムのグローバル構成です。 sitemap.json は、ミニ プログラムとそのページが WeChat によってインデックス付けされることを許可するかどうかを構成します。 ページには特定のページが含まれます。 wxml (WeiXin Markup Language) はフレームワークによって設計されたタグ言語のセットで、基本コンポーネントやイベント システムと組み合わせてページの構造を構築できます。 wxss (WeiXin Style Sheets) は、WXML コンポーネントのスタイルを記述するために使用されるスタイル言語です。 app.wxss はグローバル スタイルとして、現在のアプレットのすべてのページとローカル ページ スタイルに適用されます。 page.wxss は現在のページでのみ有効です。 app.js アプレット ロジック jsロジック処理、ネットワークリクエスト json ページ構成

ミニ プログラムの双方向バインディングと vue の違いは何ですか

直接の this.data 属性ミニ プログラムはビューと同期できません。次を呼び出す必要があります。 this.setData({ //ここで設定 })

ミニ プログラム page

onLoad のライフサイクル関数は、ページがロードされるときにトリガーされます。ページは 1 回だけ呼び出されます。onLoad パラメーターで現在のページを開くためのパス内のパラメーターを取得できます (ページの読み込みを監視) #onShow() は、ページが表示される/ページに切り込まれるときにトリガーされます。フォアグラウンド (監視ページ表示)

onReady() ページの最初のレンダリングが完了するとトリガーされます。ページは 1 回だけ呼び出されます。これは、ページの準備ができており、ビュー レイヤーと対話できることを意味します (ページの初期レンダリングの完了を監視します)

onHide() ページが非表示になったときにトリガーされます/バックグラウンドに切り替わりました。 navigateTo または下部のタブで他のページに切り替える、アプレットがバックグラウンドに切り替わるなど (ページの非表示を監視) ページがアンロードされると、

onUnload() がトリガーされます。 redirectTo や他のページへの navigateBack など (ページのアンロードの監視)

WeChat アプレットの利点と欠点

利点: すぐに使用でき、インストールは不要で、トラフィックを節約し、インストール時間を節約し、デスクトップを占有しません。 WeChat トラフィックに依存し、自然なプロモーションとコミュニケーションの利点を実現 アプリに比べて開発コストが安い 欠点: ユーザーの維持、即時利用は利点ですが、いくつかの問題もあります 従来のアプリよりも入り口がはるかに深い 多くの制限があり、ページ サイズは 2M を超えることはできず、10 レベルを超えるページは開くことができません

#ミニ プログラムの wxss と css の違いは何ですか

WXSS は CSS に似ていますが、CSS をベースに一部追加・修正が行われています

サイズの単位は rpx です rpx は、画面の幅に適応する応答性の高いピクセルです。指定した画面幅は750rpxです。たとえば、iPhone6 では、画面幅が 375 ピクセルで、合計 750 物理ピクセルがある場合、750rpx = 375px = 750 物理ピクセルです。

@import 識別子を使用して外部スタイルをインポートします。 @import の後には、インポートする必要がある外部スタイル シートの相対パスが続き、; はステートメントの終わりを示します

ミニ プログラム ページ間でデータを転送する方法は何ですか

(1) グローバル変数を使用してデータ転送を実装する app.js ファイルにグローバル変数 globalData を定義し、保存する必要がある情報をそのファイルに保存します。 使用する場合は直接 getApp() を使用して格納されている情報を取得します。

(2) wx.navigateTo と wx.redirectTo を使用すると、データの一部を URL に配置し、新しいページのときに読み込むことができますonLoadedです。 注意すべき問題: wx.navigateTo および wx.redirectTo では、タブに含まれるページへのジャンプは許可されません onLoad は 1 回だけ実行されます (3) ローカル キャッシュを使用する ストレージ関連

ミニ プログラムが WeChat 公式アカウントに関連付けられている場合にユーザーの一意性を判断する方法

開発者が複数のモバイル アプリケーション、Web サイト アプリケーション、パブリック アカウント (ミニ プログラムを含む) を持っている場合、それらがモバイル アプリケーション、Web サイト アプリケーション、パブリック アカウント (ミニ プログラムを含む) である限り、unionid を使用してユーザーの一意性を区別できます。同じ WeChat オープン プラットフォーム アカウントの下では、ユーザーの UnionID は一意です。つまり、同じユーザーの UnionID は、同じ WeChat オープン プラットフォーム上の異なるアプリケーションでも同じです。

プルダウン リフレッシュの実装方法

まず、グローバル設定のウィンドウでenablePullDownRefreshを設定します。 PageにonPullDownRefreshフック関数を定義し、プルダウンリフレッシュ条件に到達するとフック関数が実行され、リクエストメソッドが開始されます。 リクエストが戻ったら、wx.stopPullDownRefresh を呼び出してプルダウンのリフレッシュを停止します。

bindtap と catchtap の違いは何ですか

同じですポイント: まず、両方です。 クリックイベント関数は、クリックされたときにトリガーされます。この関数では、これらは同じであり、区別する必要はありません。

違い: 主な違いは、bindtap はバブリング イベントを防止しないのに対し、catchtap はバブリングを防止することです。

「wx.navigateTo()」、「wx.redirectTo()」、「wx.switchTab()」、「wx.navigateBack()」、「wx.reLaunch()」の違い

wx.navigateTo(): 現在のページを保持し、アプリケーション内のページにジャンプします。ただし、タブバー ページにはジャンプできません。

wx.redirectTo(): 現在のページを閉じて、アプリケーション内のページにジャンプします。ただし、タブバー ページにジャンプすることはできません。

wx.switchTab(): タブバー ページにジャンプし、他のすべての非タブバー ページを閉じます。

wx.navigateBack():現在のページを返し、前のページまたは複数レベルのページを返します。 getCurrentPages() を通じて現在のページ スタックを取得し、返す必要があるレイヤーの数を決定できます。

wx.reLaunch(): すべてのページを閉じて、アプリケーションで特定のページを開きます

typeof 演算子、instanceof 演算子、isPrototypeOf() メソッドの違い

typeof は、基本データ型 null、unknown などのデータの型を検出するために使用される演算子です。 、文字列、数値、ブール値、 参照データ型のオブジェクトや関数だけでなく、正規表現、日付、配列などの参照データ型もすべてオブジェクトとして認識されます。

instanceof も演算子であり、簡単に識別できます。特定のデータ。それがどの参照型であるか。 isPrototypeOf との違いは次のとおりです。 これは、コンストラクターのプロトタイプが指定されたオブジェクトのプロトタイプ チェーンに存在するかどうかを検出するために使用されます。 isPrototypeOf は、指定されたオブジェクトのプロトタイプチェーンにこのメソッドを呼び出しているオブジェクトが存在するかどうかを検出するために使用されるため、本質的には検出対象が異なります。

call() と apply() の違い

実際には、apply と call の関数は同じですが、渡されるパラメータ リストの形式が異なります。 apply(this object, [パラメータ 1, パラメータ 2,...]) パラメータが 1 つしかない場合でも、配列に書き込む必要があります call(this object, パラメータ 1, パラメータ 2,...) 複数の任意のパラメータを受け入れることができます。最初のパラメータは apply と同じで、その後にパラメータのリストが続きます

微信小プログラムはイベントに値を渡す方法

data-* 属性を HTML 要素に追加して必要な値を渡し、e の param パラメーターを通じて取得します。 .currentTarget.dataset または onload。 ただし、データ名に大文字を使用したり、オブジェクトを保存したりすることはできません

WeChat アプレットと vue の違い

•ライフサイクルが異なります, WeChat Mini プログラムのライフサイクルは比較的シンプルです • データ バインディングも異なります。WeChat アプレットのデータ バインディングには、{{}}、vue を直接使用する必要があります。 • 要素の表示と非表示を制御します。ミニ プログラムでは、要素の表示と非表示を制御するには、wx-if と hidden を使用します。vue では、v-if と v-show を使用します。 • イベント処理が異なります。ミニ プログラムでは、bindtap (イベントのバインド) または catchtap (イベントのキャッチ) を使用してイベントをバインドします。Vue: v-on:event を使用してイベントをバインドするか、@event を使用してイベントをバインドします。 • データの双方向バインディングも異なります。vue では、form 要素に v-model を追加し、データ内の対応する値をバインドするだけです。form 要素の内容が変更されると、対応する値がバインドされます。データも変更され、それに応じて変更されるのが、vue の非常に優れた点です。 WeChat アプレットは、フォーム要素の変更された値を取得し、その値を data で宣言された変数に割り当てる必要があります。

WeChat ミニ プログラムのアプリケーション速度を向上させるために使用できる方法

ページの読み込み速度を向上させる ユーザー行動予測 デフォルトのデータサイズを減らす コンポーネントの解決策

ミニ プログラムの非同期リクエストの問題を解決する方法

ミニ プログラムは、ほとんどの ES6 構文をサポートします。 • 成功を返すコールバック内のプロセス ロジック Promise 非同期

アプレット wxml と標準 html の類似点と相違点は何ですか? ############同じ: • ページの構造を記述するために使用されます。 • タグ、属性などで構成されます。 違う: • ラベル名が異なり、ミニ プログラム ラベルが減り、単一ラベルが増えています。 • wx:if などの属性や {{ }} などの式がさらにあります。 • WXML は WeChat アプレット開発者ツールでのみプレビューできますが、HTML はブラウザでプレビューできます。 • コンポーネントのカプセル化が異なります。WXML はコンポーネントを再カプセル化します。 • ミニ プログラムは JS Core で動作し、DOM ツリーとウィンドウ オブジェクトを持たないため、ミニ プログラムではウィンドウ オブジェクトとドキュメント オブジェクトを使用できません。

アプレットでは、3 つのイベント オブジェクトの属性リストが簡単に紹介されています。

ベースイベント (BaseEvent) • type: イベントの種類 • timeStamp: イベントが生成されたときのタイムスタンプ • target: イベントをトリガーしたコンポーネントのプロパティ値のコレクション • currentTarget: 現在のコンポーネントのプロパティのコレクション カスタムイベント (CustomEvent) • 詳細 タッチイベント • タッチ •ChangedTouches

アプレットは wx:if と hidden の使用をどのように理解しますか?

• wx:if はスイッチング コストが高くなります。 • hidden は初期レンダリング コストが高くなります。 • したがって、頻繁に切り替える必要がある場合はhiddenを使用した方が良いが、実行中に条件が変化する可能性が低い場合はwx:ifを使用した方が良い。 H5

動作環境の違い: 従来の HTML5 動作環境は Webview を含むブラウザですが、WeChat アプレットの動作環境は完全なブラウザではなく、ブラウザに基づいています。 WeChat 開発チームによって開発され、カーネル内で完全に再構築された組み込みパーサーは、小規模プログラム用に特別に最適化されており、独自に定義された開発言語標準に適合し、小規模プログラムのパフォーマンスを向上させます。 • 開発コストの違い:WeChat上でのみ動作するため、ブラウザの互換性を気にする必要がなく、本番環境での予期せぬバグを心配する必要もありません。 • システムレベルの権限取得の違い

app.json は現在のアプレットのグローバル設定ですが、3 つの設定項目のそれぞれの意味は何ですか?

• ページ フィールド - 現在のミニ プログラムのすべてのページのパスを記述するために使用されます。これは、ミニ プログラム ページが現在どのディレクトリに定義されているかを WeChat クライアントに知らせるためです。 • ウィンドウフィールド - ミニプログラムのすべてのページの上部の背景色。テキストの色はここで定義されます。 • tab フィールド - アプレット タブのグローバル上部または下部

アプレットの onPageScroll メソッドを使用するときに注意すべき点は何ですか?

このメソッドは頻繁に呼び出されるため、不要な場合は削除できます。空のメソッドを保持しないでください。onPageScroll を使用する場合は、setData() の使用を避け、呼び出しの頻度を最小限に抑えてください。 setData() の使用。

ミニ プログラム ビューのレンダリング終了コールバック?

setData(data, callback) を使用し、コールバックコールバックメソッドに後続のオペレーションコードを追加します

ミニプログラムの同期 API と非同期 API を使用する際の注意点は何ですか?

wx.setStorageSync は、Sync で終わる API であり、同期 API です。 使用時の例外を表示するには、try-catch を使用します。API が非同期であると判断された場合は、そのコールバック メソッドの success、fail、および complete で次のステップを実行できます。

WeChat アプレットのデータ要求をカプセル化するにはどうすればよいですか?

1. すべてのインターフェイスを統合された js ファイルに入れてエクスポートします。

2. app.js でリクエスト データをカプセル化するメソッドを作成します。

3. サブページでカプセル化されたメソッドを呼び出してデータをリクエストします。

ミニ プログラムとネイティブ アプリではどちらが優れていますか?

開発コストが低く、顧客獲得コストが低く、パブリック アカウントのダウンロードが不要であるという利点に加えて、小規模なプログラムにより、サービス リクエストの待ち時間とユーザー エクスペリエンスが大幅に改善されました。 これにより、複雑なサービス機能を実行し、ユーザーに優れたユーザー エクスペリエンスを提供できるようになります。

WebView のページからミニ プログラムに戻るにはどうすればよいですか?

まず第一に、jweixin-x.x.x.js の最新バージョンを導入する必要があります。次に、

wx.miniProgram.navigateTo({
url: '/pages/login/login'+'$params'
})

Web ビューからジャンプする方法ミニプログラムナビゲーションページへのページ?

ミニ プログラムによってナビゲートされるページは、switchTab を通じてナビゲートできますが、デフォルトではデータはリロードされません。新しいデータをロードする必要がある場合は、次のコードを success 属性に追加するだけです:

ミニ プログラムがバックグラウンド インターフェイスを呼び出すときに、どのような問題が発生しますか?

1. データのサイズには制限があります。範囲を超えると、ミニ プログラムが再起動されない限り、直接ミニ プログラム全体がクラッシュします。

2. ミニ プログラムは記事を直接レンダリングできません。この種の HTML テキスト コンテンツをコンテンツ ページに表示したい場合は、プラグインを使用する必要がありますが、プラグインのレンダリングではページの読み込みが遅くなります。バックグラウンドで記事コンテンツの HTML をフィルタリングし、p タグと div タグのバッチ置換をバックグラウンドで直接処理し、タグを表示し、その他のタグをプラグインに実行させてフロントエンドを削減するのが最善です時間

WeChat ミニ プログラムの長所と短所は何ですか?

利点:

1. ダウンロードする必要はなく、検索してスキャンするだけで開くことができます。

2. 優れたユーザー エクスペリエンス: 開く速度が速い。

3. アプリに比べて開発コストが安くなります。

4. ネイティブ アプリと同様に、Android のデスクトップに追加できます。

5. ユーザーに優れたセキュリティを提供します。 WeChatではミニプログラムの公開には厳格な審査があり、審査を通過できないミニプログラムはネット上で公開することができません。

欠点:

1. 多くの制限があります。ページ サイズは 1M を超えることはできません。 5 レベルを超えるページは開くことができません。

2. シングルスタイル。ミニ プログラムの一部のコンポーネントはすでに形成されており、スタイルを変更することはできません。例: スライドショー、ナビゲーション。

3. プロモーションの範囲は狭いため、友達のサークル内で共有することはできず、友達や近くのミニプログラムと共有することによってのみプロモーションできます。その中で、近くのミニプログラムもWeChatによって制限されています。

4. WeChat に依存すると、バックエンド管理機能を開発することはできません。

[関連する学習の推奨事項: 小さなプログラム開発チュートリアル]

以上が面接に確実に勝つために、小さなプログラムに基づいて面接の質問をいくつかまとめて共有しましょう。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjuejin.cnで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。